5 votes

iptables preroute localhost

J'aimerais transférer tout le trafic entrant d'un certain port vers un autre en utilisant iptables. Le problème est que le preroutage ne fonctionne pas pour le trafic provenant de localhost. Le problème est que le preroutage ne fonctionne pas pour le trafic provenant de localhost. thème propose une solution :

iptables -t nat -I PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8080
iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 443 -j REDIRECT --to-ports 8080

Cette solution fonctionne dans la plupart des cas. Cependant, lorsque je me connecte à http://myserver:443 lorsque myserver se résout en une adresse IP hébergée sur la machine locale, mais qui n'est pas 127.0.0.1, il semble que les deux règles soient contournées.

Existe-t-il un moyen d'intercepter également les demandes de transfert de la machine locale qui sont adressées à l'adresse IP eth0 ?

4voto

Andriyev Points 9238

Au lieu de faire -d 127.0.0.1 sur la règle OUTPUT, vous pourriez faire -o lo . Cela correspondra à tout le trafic passant par l'interface de bouclage, quelle que soit la destination.

Par ailleurs, même si vous envoyez à ' http://myserver:443 ', le trafic est toujours local, il passe donc toujours par l'interface loopback, même s'il ne se résout pas en '127.0.0.1'.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X