Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/11/2016, à 19:14

stnicolas78

[iptables] Petite question sur le NAT

Bonjour.

J'ai une petite question concernant le NAT pour un partage de connexion Internet.

Dans le cas d'un réseau se trouvant derrière un firewall, afin de permettre aux machines de mon réseau d'accéder à Internet, je tape la commande suivante:
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Donc, je modifie l'IP source des paquets sortants vers internet (l'interface eth0 étant celle qui va vers Internet) en remplaçant cette IP source par l'IP publique de mon firewall. Et, effectivement, ça fonctionne: les machines de mon réseau ont accès à Internet.

Ma question est la suivante : vu qu'on a modifié l'IP source des paquets sortants, les paquets de retour vont donc à destination de mon firewall. Comment celui-ci sait-il qu'il doit renvoyer les paquets à la bonne machine? Il possède une table des paquets "natés" et gère tout automatiquement? Il faut donc du NAT en PREROUTING tout seul automatiquement comme un grand?

Merci pour vos éclaircissements :-)

Dernière modification par stnicolas78 (Le 23/11/2016, à 19:15)

Hors ligne

#2 Le 23/11/2016, à 19:28

pires57

Re : [iptables] Petite question sur le NAT

Il le sais parce qu'il s'agit d'un paquet de réponse à une trame envoyé. Pour mieux comprendre il te suffit de regarder les différente requête echangée lorsque tu te connectes à un site avec wireshark.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#3 Le 23/11/2016, à 19:30

stnicolas78

Re : [iptables] Petite question sur le NAT

pires57 a écrit :

Il le sais parce qu'il s'agit d'un paquet de réponse à une trame envoyé. Pour mieux comprendre il te suffit de regarder les différente requête echangée lorsque tu te connectes à un site avec wireshark.

Quand tu parles de "trame", tu veux dire une "connexion"? Ca n'a aucun rapport avec les mstate RELATED et ESTABLISHED qu'on voit parfois?

Hors ligne

#4 Le 24/11/2016, à 10:29

bruno

Re : [iptables] Petite question sur le NAT

Bonjour,

Ton pare-feu/routeur maintient une table de correspondance (translation table) pour savoir à quelle machine locale un paquet est destiné.
La technique de « masquerade » consiste à changer l'IP (privée vers publisue) et le numéro de port en choisissant un numéro de port unique (>1024) dans la table de correspondances. Lorsqu'un paquet arrivede l'Internet sur ce numéro de port le pare-feu/routeur sait donc vers qulle adresse locale il faut rediriger ce paquet.
cf. http://www.oreilly.com/openbook/linag2/book/ch11.html par exemple.

Hors ligne

#5 Le 24/11/2016, à 11:38

pires57

Re : [iptables] Petite question sur le NAT

Il est impossible d'attribuer une IP unique a chaque machine (trop nombreuse pour ipv4),Il fallait donc un système capable de redistribuer les réponses, c'est ce que fait le NAT.
Tu parles de connexion en tant qu'utilisateur classique mais moi je te réponds avec le terme trame parce que connexion ne veut rien dire pour le pare feu. toute les données transite dans une trame (Ethernet dans ton cas) et le pare-feu analyse les trames, c'est comme cela qu'il est capable de renvoyer les réponses au bon endroit.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne