Pourquoi DNAT vers 127.0.0.1 exige un soin particulier
Comprendre route_localnet lors de la redirection du trafic externe vers un composant proxy lié au loopback.
Un service écoute sur 127.0.0.1:1080. Une règle DNAT dirige le trafic entrant vers cette adresse, et pourtant la connexion échoue. Le service peut être sain et la règle NAT peut correspondre : les adresses de loopback IPv4 bénéficient d'un traitement de routage particulier.
Le route_localnet de Linux détermine si les adresses 127/8 sont traitées comme des adresses martiennes lors du routage. Sa valeur par défaut préserve la frontière habituelle du loopback. Une exception propre à une interface peut être pertinente pour une conception délibérée de redirection locale.
Cela explique pourquoi une règle qui fonctionne sur une autre machine peut dépendre d'un sysctl que vous n'avez pas copié. Cela ne justifie pas d'activer l'option partout.
L'hypothèse de sécurité change avec la route
Une liaison sur loopback est souvent employée parce qu'un auxiliaire n'a pas d'authentification client indépendante. Si le trafic provenant d'une autre interface peut y être routé, l'adresse de liaison seule ne décrit plus le public joignable. Restreignez les sources d'entrée, la destination et le port dans le jeu de règles réel, y compris le trafic revendiquant des adresses source ou destination de loopback lorsque cela s'applique.
Examinez l'espace de noms réseau contenant le service. Le loopback d'un conteneur n'est pas celui de l'hôte, et modifier un réglage d'interface de l'hôte ne crée pas automatiquement un écouteur dans le conteneur.
rp_filter répond à une autre question, celle de la validation du chemin source. Le désactiver globalement ne remplace pas la compréhension du routage loopback. De même, ip_nonlocal_bind concerne la liaison de sockets à des adresses non locales, et non la correction de ce chemin DNAT.
Enfin, le protocole redirigé doit convenir à l'écouteur. Envoyer du trafic HTTP ou TLS brut vers un port SOCKS nécessite toujours un traducteur ; une exception de routage ne peut fournir la négociation manquante.