Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Question basique sur le NAT



  1. #1
    marc.suisse

    Question basique sur le NAT


    ------

    Bonsoir à tous

    J'ai une petite question concernant le NAT , je fais un petit résumé de ce que je crois avoir compris :

    - Le NAT statique :

    Un ordinateur qui fais partie d'un réseau privé à l'adresse ip X , il veut faire une requête sur un site , il va donc demander au serveur de lui envoyer la page , étant donné qu'il y a un routeur NAT entre l'ordi sous ip x et le serveur du site internet , le routeur va prendre en compte la demande de l'ordi sous x ( faisant parties des ip privées ) et va transformer l'adresse X en adresse Y qui fais partie des adresses ip publique .

    Avec ce système , il faut une adresse ip publique par ordinateur .

    - Le NAT dynamique :

    C'est le même système , mais au lieu d'y avoir une adresse ip publique par ordinateur , il y a une adresse publique pour n ordinateurs du réseau .

    Est-ce que ces informations sont justes ?

    Si oui , j'ai 2 questions :

    - Supposons que l'abonnement à internet ne propose par une adresse ip statique , est-ce que cela peut fonctionner , je veux dire est-ce que le routeur sait quelle adresse prendre ?

    - Si tout à coup les n ordinateurs branchés sur le routeur font des requêtes sur le web en même temps , comment cela se passe ?

    Merci d'avance de votre aide

    -----
    On a tous quelque chose à s'apporter .

  2. Publicité
  3. #2
    Towl

    Re : Question basique sur le NAT

    Le NAT statique :
    blabla
    Yep

    - Le NAT dynamique :

    C'est le même système , mais au lieu d'y avoir une adresse ip publique par ordinateur , il y a une adresse publique pour n ordinateurs du réseau .
    Une ou plusieurs adresses publiques.


    Supposons que l'abonnement à internet ne propose par une adresse ip statique , est-ce que cela peut fonctionner , je veux dire est-ce que le routeur sait quelle adresse prendre ?
    Oui, car ton routeur aura été configuré avec cette adresse IP sur son interface externe. Cela se fait en général avec un DHCP statique (requete de l'équipement connecté pour connaitre son adresse, le serveur lui renvoie toujours la meme par contre).

    - Si tout à coup les n ordinateurs branchés sur le routeur font des requêtes sur le web en même temps , comment cela se passe ?
    Plutôt bien Tant que tu n'as pas épuisé la limite de ports alloué pour la NAT, ca ne va pas poser de problème. (voir plus loin pour les détails )


    Petit retour sur la NAT
    Bon cette technique est décomposée en de multiples variantes, chacune s'appellant NAT truc, PAT machin, NAT PAT truc, PAT NAT machin... C'est bien beau, mais faut voir ce que l'on utilise le plus souvent et oublier les autres
    La NAT statique : ouais, c'est bien joli, mais ca n'apporte pas tellement d'avantages, puisque justement il te faut un pool d'IP publique aussi grand que celui interne. Tout au plus cela permet de s'amuser plus "facilement" à catégoriser les flux. Mais en principe, on ne l'utilise quasiment pas, voir pas du tout.

    La NAT dynamique : deux intérets, donc deux utilisations :

    - la PAT : permet d'attribuer une (ou plusieurs, mais c'est rare) IP à N équipement. En général, le principe c'est de se baser sur les caractéristiques de la connexion et d'établir une table de conversion.
    Ex d'une table
    ip_src = 192.168.0.1, ip_dst = 1.2.3.4, sport = 4096, dport = 80 <---> ip_src = 254.254.254, ip_dst = 1.2.3.4, sport = 8192, dport = 80
    ip_src = 192.168.0.2, ip_dst = 1.2.3.4, sport = 4096, dport = 80 <---> ip_src = 254.254.254, ip_dst = 1.2.3.4, sport = 8193, dport = 80
    ip_src = 192.168.0.3, ip_dst = 1.2.3.4, sport = 1025, dport = 80 <---> ip_src = 254.254.254, ip_dst = 1.2.3.4, sport = 8194, dport = 80

    Donc tu vois bien ici que même s'il y a N requetes, cela ne pose aucun soucis (tant que l'on a pas épuisé les 65535 (- 1024 ?) ports disponibles. Bien entendu, à la fin d'une connexion, l'entrée est supprimée, réallouant le port pour une nouvelle connexion. Après il y a aussi des implémentations un peu plus fine qui se basent sur d'autres paramètre pour avoir un peu plus de latitude, mais bon, la ca peut devenir un peu plus sioux, voire galère.


    - La NAT avec Pool de destination. Ici le but est de fournir une même adresse IP à plusieurs équipements (serveurs) identique pour faire du partage de charge. On attribue par exemple l'IP 1.2.3.4 aux serveurs A, B, C et D. La premiere connexion vers 1.2.3.4 est dirigée vers A, puis la seconde vers B, ensuite C... Il existe après d'autres mécanismes plus fiables que le bete chainage A,B,C,D pour faire la répartition, ainsi que d'autres techniques (basées sur le DNS par exemple)
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  4. #3
    marc.suisse

    Re : Question basique sur le NAT

    Salut

    Je te remercie de ta réponse

    Si je reprends ceci :

    ip_src = 192.168.0.1, ip_dst = 1.2.3.4, sport = 4096, dport = 80 <---> ip_src = 254.254.254, ip_dst = 1.2.3.4, sport = 8192, dport = 80

    Déjà , que veux-dire l'abrévation src , source ?

    Sinon ce que je comprends :

    ip src = un ordinateur d'un réseau privé

    ip dst = serveur

    sport et dport = je suppose le nom de 2 ports , mais je ne les retrouve pas ici par exemple : http://www.emsisoft.net/fr/kb/portlist/Default.aspx

    ip src 254.254.254.254 , est-ce un ip privé que tu mets en simple exemple ?

    <---> , ce symbole indique que les 2 parties communiquent entre-elle ?

    Merci encore
    On a tous quelque chose à s'apporter .

  5. #4
    Towl

    Re : Question basique sur le NAT

    Oups, manie d'utiliser les abréviation communes

    src : source,
    dst : destination
    sport : port source
    dport : port destination

    sinon 254.254.254254, c'est l'adresse publique de la passerelle NAT, et le <--> signale juste que dans la table il y a un lien entre la connexion de gauche et de droite (histoire de savoir comment modifier les paquets).

    Un exemple avec un schema :

    PC (192.168.0.1) <------> (192.168.0.254) Passerrelle NAT (254.254.254.254) <-----> (1.2.3.4) Serveur

    Ton paquet voyagera donc sous cette forme :
    PC --> Passerelle : ipsrc = 192.168.0.1, ipdst = 1.2.3.4, sport = 4096, dport = 80
    Passerelle --> Serveur : ipsrc = 254.254.254, ipdst = 1.2.3.4, sport = 8192, sdport = 80
    Serveur --> Passerelle : ipsrc = 1.2.3.4, ipdst = 254.254.254.254, sport = 80, dport = 8192
    Passerelle --> PC : ipsrc = 1.2.3.4, ipdst = 192.168.0.1, sport = 80, dport = 4096
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  6. A voir en vidéo sur Futura
  7. #5
    marc.suisse

    Re : Question basique sur le NAT

    Hello , je te remercie de ton explication

    Si je reprends un peu tout ça :

    Citation Envoyé par Towl
    254.254.254254, c'est l'adresse publique de la passerelle NAT
    C'est forcément cette adresse dans toutes les passerelles NAT , je veux dire par là que c'est standard ?

    Citation Envoyé par Towl
    PC --> Passerelle : ipsrc = 192.168.0.1, ipdst = 1.2.3.4, sport = 4096, dport = 80
    Donc le pc disposant de l'ip privée 192.168.1.1 fait une requête à la passerelle disposant de l'adresse ip 192.168.1.254.

    Citation Envoyé par Towl
    Passerelle --> Serveur : ipsrc = 254.254.254, ipdst = 1.2.3.4, sport = 8192, sdport = 80
    Cette passerelle sous 192.168.1.254 va faire suivre cette requête au NAT ayant l'adresse 254.254.254.254 qui lui-même va faire suivre la requête directement sur le serveur demandé 1.2.3.4 .

    Le NAT va recevoir en retour les informations venant du serveur et va suivre le chemin inverse pour revenir au pc 192.168.1.1.

    Si le NAT sait vers quel pc adresser la réponse , c'est qu'il se base sur le port utilisé pour la demande de requête , c'est à dire le port 4096.

    J'ai juste jusque-là ?

    Je suppose que la passerelle et le NAT est le même appareil , c'est à dire le routeur mais avec des adresses ip en interne différentes .

    Concernant ceci dport : port destination , comment le pc sait-il vers quel port faire sa requête ?

    Je n'espère pas m'embrouiller totalement

    En te remerciant encore
    On a tous quelque chose à s'apporter .

  8. #6
    Towl

    Re : Question basique sur le NAT

    C'est forcément cette adresse dans toutes les passerelles NAT , je veux dire par là que c'est standard ?
    Nop. C'est juste que j'ai l'habitude de mettre mes passerelles en 254. Donc j'ai pris une adresse publique au hasard (bon invalide, mais ca c'est un autre pb) avec pleins de zouils 254 dedans . Mais en réalité, pour une connexion domestique, ca sera l'adresse IP publique fournit par le FAI

    Donc le pc disposant de l'ip privée 192.168.1.1 fait une requête à la passerelle disposant de l'adresse ip 192.168.1.254.
    Nop
    Déjà c'est 192.168.0.1 Enfin plus sérieusement, le PC fait une requete vers le serveur. Mais la requete transite par la passerelle 192.168.1.254.

    Cette passerelle sous 192.168.1.254 va faire suivre cette requête au NAT ayant l'adresse 254.254.254.254 qui lui-même va faire suivre la requête directement sur le serveur demandé 1.2.3.4 .
    Sémantiquement parlant, elle ne va pas faire la requete, mais modifier le champs IP source et port source de la requete et la balancer au serveur 1.2.3.4 via le grand Ternet.

    Le NAT va recevoir en retour les informations venant du serveur et va suivre le chemin inverse pour revenir au pc 192.168.1.1.
    On peut dire ca. En fait, il va regarder dans sa table de correspondance a quelle requete ce paquet correspond et modifier les champs IP dst et dport lors du transit du paquet.

    Si le NAT sait vers quel pc adresser la réponse , c'est qu'il se base sur le port utilisé pour la demande de requête , c'est à dire le port 4096.
    Pas uniquement, il se base aussi sur l'adresse IP.
    Un algo naif du NAT pourrait être :
    Code:
    SI paquet arrive sur interface interne
    ALORS
    	SI paquet a destination d'internet
    		a = IP source
    		b = Port source
    		SI a != ip passerelle ET a a destination d'internet
    			c = IP de masquage (ici 254.254.254.254)
    			d = Port aleatoire
    			IP source = c
    			Port source = d
    			Enregistrer dans une table [ (a,b) , (c,d)]
    			Prendre le paquet par la main et le jeter dans le vide sidéral (aka Internet)
    SINON SI paquet arrive sur interface externe
    		c = IP dest
    		d = Port dest
    		recherche dans la table l'unique element repondant au critere [ (*, *), (c, d) ]
    		SI element trouvé
    			recupere a, b de cet element
    			IP dest = a
    			port dest = b
    			envoyer le paquet sur le reseau interne
    		SINON
    			paquet a destination de la passerelle, donc elle le recupere pour elle meme
    FIN SI


    J'ai juste jusque-là ?
    Presque

    Je suppose que la passerelle et le NAT est le même appareil , c'est à dire le routeur mais avec des adresses ip en interne différentes .
    Le NAT n'est pas un appareil, c'est une fonctionnalité. Celle ci se trouve sur tout equipement prenant des decisions de routages (pont de niveau 3, routeur, firewall...)


    Concernant ceci dport : port destination , comment le pc sait-il vers quel port faire sa requête ?
    Ca, c'est simple : il le sait car on le lui a dit
    Un serveur web est généralement configuré sur le port 80, un SSH sur le 22, un telnet sur le 21, le pop sur le 23....


    Je n'espère pas m'embrouiller totalement
    Non non du tout


    En te remerciant encore
    De rien
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  9. Publicité
  10. #7
    marc.suisse

    Re : Question basique sur le NAT

    Hello hello

    Nop. C'est juste que j'ai l'habitude de mettre mes passerelles en 254. Donc j'ai pris une adresse publique au hasard (bon invalide, mais ca c'est un autre pb) avec pleins de zouils 254 dedans . Mais en réalité, pour une connexion domestique, ca sera l'adresse IP publique fournit par le FAI
    Donc même si c'est une adresse dynamique fournie par le FAI , cela ne change rien ?

    Déjà c'est 192.168.0.1
    Oups

    Le NAT n'est pas un appareil, c'est une fonctionnalité. Celle ci se trouve sur tout equipement prenant des decisions de routages (pont de niveau 3, routeur, firewall...)
    Donc mon routeur Wifi dispose forcément d'une table de routage ? Il faudrait que je regarde plus en détail .

    Un serveur web est généralement configuré sur le port 80, un SSH sur le 22, un telnet sur le 21, le pop sur le 23....
    Ok , cela devient plus clair .

    Dans ton algo , quand tu parles d'interface interne , c'est la fonction NAT ou bien c'est encore la passerelle ?

    Ensuite , tu mets les cas de figures d'un envoi depuis un pc vers un serveur et ensuite depuis le serveur vers le pc , mais tu écris la chose suivante :

    paquet a destination de la passerelle, donc elle le recupere pour elle meme
    Mais dans ce cas là , d'où vient le paquet ? Et surtout que peux faire la passerelle avec ?

    Merci encore .
    On a tous quelque chose à s'apporter .

  11. #8
    Towl

    Re : Question basique sur le NAT

    Donc même si c'est une adresse dynamique fournie par le FAI , cela ne change rien ?
    Effectivement, cela ne change rien.

    Donc mon routeur Wifi dispose forcément d'une table de routage ? Il faudrait que je regarde plus en détail .
    Yep, en tout cas, il vaut mieux s'il veut savoir comment router les paquets

    Dans ton algo , quand tu parles d'interface interne , c'est la fonction NAT ou bien c'est encore la passerelle ?
    Nan c'est la carte réseau branché du coté "Interne" (chez toi). On préfére utiliser le terme d'interface, car sur une carte réseau, on peut configurer plusieurs interfaces différentes. Mais bon, la on sort un peu de la problématique

    Ensuite , tu mets les cas de figures d'un envoi depuis un pc vers un serveur et ensuite depuis le serveur vers le pc , mais tu écris la chose suivante :
    paquet a destination de la passerelle, donc elle le recupere pour elle meme
    Mais dans ce cas là , d'où vient le paquet ? Et surtout que peux faire la passerelle avec ?
    Il vient d'ici ou d'ailleurs , peu importe L'équipement qui fait du NAT à forcément au moins 2 IP. Donc il est possible d'envoyer des paquets à la passerelle (Ping, SSH pour l'administrer) ... Elle en fait donc ce qu'elle veut (enfin ce pour qui il a été prévu).

    Le NAT, dans le cas qui nous interresse, c'est faire croire à l'exterieur qu'il n'y a qu'une seule machine. Donc que tu veuilles administrer cette machine ou que tu répondes à une machine derrière, c'est la passerelle qui recoit le paquet. Charge à elle de déterminer s'il lui été effectivement addressé ou à une autre machine.
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

Discussions similaires

  1. Configuration PAT/NAT sur firewall PIX
    Par ErloBZH dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 10/03/2008, 16h25
  2. Une question basique sur un relais
    Par Elect2007 dans le forum Électronique
    Réponses: 8
    Dernier message: 22/08/2007, 19h07
  3. petite question sur les mélanges acido-basique
    Par alexjo59 dans le forum Chimie
    Réponses: 2
    Dernier message: 16/02/2006, 17h51
  4. question basique
    Par Castor974 dans le forum Physique
    Réponses: 11
    Dernier message: 08/05/2005, 10h32
  5. Réponses: 1
    Dernier message: 10/10/2004, 11h10
Découvrez nos comparatifs produits sur l'informatique et les technologies.