Forum Linux.noyau Une question sur NAT
Quelle est au juste la différence entre une règle de routage de type "-j masquerade" et un simple "--to-source m.o.n.ip" avec iptables ? Je crois savoir que le masquerading "oublie" les connexions, mais qu'est ce que ça signifie au juste ? Merci d'avance.
# C'est assez simple
Posté par Pascal . Évalué à 3.
Normallement, il faut utiliser --to-source m.o.n.ip. Le problème c'est que ce n'est pas possible si ton IP de sortie n'est pas fixe (tu ne la connais pas à l'avance). Il faut donc utiliser MASQUERADE et l'adresse IP utilisée pour le NAT sera automatiquement l'adresse IP de sortie.
Mais lorque tu utilises MASQUERADE, netfilter l'interprète comme quoi ton IP n'est pas fixe, en consequence lorsque l'interface passe en down, tous les contextes de connexions sont effacés (en effet, lorsque l'interface passe en down, l'adresse IP de sortie va certainement changer et les contextes en cours n'ont alors plus aucun sens).
Voila aussi pourquoi, il ne faut pas utiliser MASQUERADE lorsque ton IP est fixe car dans ce cas là, si l'interface passe down, il vaut mieux garder les contextes de connexions car on peut alors eviter qu'elles ne soient coupées.
Si je n'ai pas été très clair, ou que tu n'as pas bien compris, tout cela se résume en:
Il faut utiliser --to-source en cas d'IP de sortie fixe et MASQUERADE en cas d'IP se sortie dynamique
# Pas très clair...
Posté par Olivier (site web personnel) . Évalué à 1.
- avec "--to-source", netfilter modifie les paquets arrivant d'internet et qui rentrent dans ton réseau; L'adresse IP SOURCE est remplacée par celle de "--to-source", qui est généralement celle de l'interface réseau INTERNE de ton firewall Linux. Ainsi, la machine qui va recevoir ces paquets pensera qu'il arrivent depuis le firewall, et non plus d'Internet. lorsque la machine répondra, elle répondra directement au firewall, qui renverra l'information à la machine se trouvant sur Internet. L'intérêt de cette technique est qu'il n'est pas nécessaire de definir une route par défaut pour la machine cliente de ton réseau interne. Ainsi, un intrus qui prend le contrôle de cette machine ne pourra pas sortir de ton reseau Interne, il sera donc piégé sur cette machine.
- avec "-j masquerade", les adresses IP SOURCE des paquets arrivant d'internet NE sont PAS modifiés. Donc si la machine cliente doit répondre, elle DEVRA connaître la route par défaut permettant d'acceder à internet. Et donc tout autre programme tournant sur cette machine pourra accéder à internet, ce qui n'est pas forcément une nécessité.
J'ai expliqué plus en détails ces problèmes sur mon site : http://olivieraj.free.fr/fr/linux/information/firewall/fw-03-08.htm(...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.