Journal nat et icmp

Posté par  .
Étiquettes : aucune
0
25
juin
2003
bonjour,

j'utilise le NAT, et je ne m'etais jamais demande comment les msg icmp pouvais passer a travers jusqu'a mainteant.
si je ne me trompe pas,
pour savoir a qui retourner la reponse le routeur NAT utilise l'ip+numero de port,
or justement avec icmp il n'y a pas de numero de port, et pourtant depuis l'interieur je peux pinguer une machine a l'exterieur,
mais comment ca marche tout ca ?
  • # Re: nat et icmp

    Posté par  . Évalué à 3.

    En fait l'icmp est un protocole a part entiere qui a sa propre architecture (pas de numero de port).

    A ne pas confondre avec le TCP ou l'UDP, ... qui ont effectivement besoin d'un numero de port source et destinataire.

    Va voir les RFC.
    • [^] # Re: nat et icmp

      Posté par  . Évalué à 1.

    • [^] # Re: nat et icmp

      Posté par  . Évalué à 1.

      oui, je sais bien que icmp m'a pas de numero de port,
      c'est justement pour ca que je me demande pourquoi il peux traverser les NAT
      • [^] # Re: nat et icmp

        Posté par  . Évalué à 1.

        je ne comprends pas vraiment ou se situe ton PB ?

        Ne confondrais tu pas NAT : Network Adress Translation et masquerading ??

        A savoir que dans les derniers Howto on nomme souvent masquerading NAT.

        Le NAT est a mon sens pour les serveurs c'est le remplacant du transfert de port.

        Tandis que le masquerading est pour les machines clientes.

        Enfin c des vieux souvenir mais je crois que ca doit etre ca !!

        Donc les paquets ICMP passe par du masquerading.

        A+
        PS : si t'as pas de meilleur reponse je te repondrai demain
        • [^] # Re: nat et icmp

          Posté par  . Évalué à 1.

          je ne comprends pas vraiment ou se situe ton PB ?

          non, tu ne comprends vraiment :-)

          (quoi, ct pas une question ?)
  • # Use the source, Luke :)

    Posté par  . Évalué à 10.

    /usr/src/linux/net/ipv4/netfilter/ip_conntrack_proto_icmp.c

    pour identifier un contexte icmp, linux enregistre le tuple {type,code,identifier} (des champs qui font partie du protocole ICMP), comme il enregistrerait les numeros de ports pour TCP ou UDP.

    Utilise un analyseur de traffic réseau comme "ethereal" pour capturer tes paquets, ils t'affichera alors tous les champs décodés pour mieux comprendre ce qui passe dans les fils.
  • # Re: nat et icmp

    Posté par  . Évalué à 2.

    D'après la RFC 792 : Les messages Echo et Echo Reply possèdent un numéro de séquence, donc pas de problème avec NAT. Pour les messages d'erreur (tel que Destination Unreachable Message, Time Exceeded Message, ...) le paquet contient les 64 premiers bits du paquet qui a provoqué l'erreur, donc là encore pas de problème avec NAT car les infos sont fournies par ces 64 bits.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.