Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Présentation du NAPT déterministe pour les services de nouvelle génération

Sous Services nouvelle génération avec le MX-SPC3, vous pouvez configurer les services NAPT44 et NAPT64 déterministes. Services de nouvelle génération Les services NAPT déterministes utilisent un algorithme pour allouer des blocs de ports de destination.

Le service NAPT44 déterministe de Next Gen Services garantit que l’adresse IPv4 source et le port d’origine sont toujours mappés à la même adresse IPv4 post-NAT et à la même plage de ports, et que le mappage inverse d’une adresse et d’un port IPv4 externes traduits donnés est toujours mappé à la même adresse IPv4 interne.

Le service NAPT64 déterministe des services de nouvelle génération garantit que l’adresse IPv6 source et le port d’origine sont toujours mappés à la même adresse IPv4 post-NAT et à la même plage de ports, et que le mappage inverse d’une adresse et d’un port IPv4 externes traduits donnés est toujours mappé à la même adresse IPv6 interne.

Pour plus d’informations sur la configuration du napt déterministe, reportez-vous à la section Configuration du NAPT déterministe pour les services de nouvelle génération.

Avantages du NAPT déterministe

  • Il n’est plus nécessaire de consigner les traductions d’adresses, car une adresse IP est toujours mappée à la même adresse IP externe et à la même plage de ports, et le mappage inverse d’une adresse IP externe et d’un port traduits donnés sont toujours mappés à la même adresse IP interne.

Comprendre les algorithmes déterministes de NAPT

L’efficacité de votre mise en œuvre du NAPT déterministe dépend de votre analyse des besoins de vos abonnés. La taille de bloc que vous fournissez indique le nombre de ports qui seront mis à disposition pour chaque adresse d’abonné entrante à partir de la plage de la from clause spécifiée dans la règle NAT applicable. L’algorithme d’allocation calcule une valeur de décalage pour déterminer l’adresse IP et le port sortants. Un algorithme inverse est utilisé pour dériver l’adresse de l’abonné d’origine.

Note:

Afin de suivre les abonnés sans utiliser de journaux, un FAI doit utiliser un algorithme inverse pour dériver les adresses d’un abonné (source) à partir d’une adresse traduite.

Les variables suivantes sont utilisées dans le calcul direct (adresse IP privée de l’abonné vers l’adresse IP publique) et le calcul inverse (adresse IP publique vers l’adresse IP privée de l’abonné) :

  • Pr_Prefix : toute adresse d’abonné IPv4 antérieure à la NAT.

  • Pr_Port : n’importe quel port de protocole pré-NAT.

  • Block_Size : nombre de ports configurés pour être disponibles pour chaque Pr_Prefix.

    Si block-size est configuré comme zéro, la méthode de calcul de la taille de bloc est calculée comme suit :

    taille_bloc = int(64512/ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)])

    où 64512 est la plage de ports maximale disponible par adresse IP publique.

  • Base_PR_Prefix : première adresse d’abonné IPv4 pré-NAT utilisable dans une from clause de la règle NAT.

  • Base_PU_Prefix : première adresse d’abonné IPv4 post-NAT utilisable configurée dans le pool NAT.

  • Pu_Port_Range_Start : premier port post-NAT utilisable. Il s’agit de 1024.

  • Pr_Offset : décalage de l’adresse IP pré-NAT qui est traduite à partir de la première adresse d’abonné IPv4 pré-NAT utilisable dans une from clause de la règle NAT. PR_Offset = Pr_Prefix – Base_Pr_Prefix.

  • PR_Port_Offset : décalage de l’adresse IP pré-NAT multiplié par la taille du bloc. PR_Port_Offset = Pr_Offset * Block_Size.

  • Pu_Prefix : adresse post-NAT pour un Pr_Prefix donné.

  • Pu_Start_Port : port de début post-NAT pour un flux à partir d’un Pr_Prefix donné

  • Pu_Actual_Port : port post-NAT vu sur un flux inverse.

  • Nr_Addr_PR_Prefix : nombre d’adresses d’abonnés IPv4 pré-NAT utilisables dans une from clause de la règle NAT.

  • Nr_Addr_PU_Prefix : nombre d’adresses IPv4 post-NAT utilisables configurées dans le pool NAT.

  • Rounded_Port_Range_Per_IP : nombre de ports disponibles pour chaque adresse IP post-NAT. Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size.

  • Pu_Offset : décalage de l’adresse IP post-NAT par rapport à la première adresse post-NAT utilisable. Pu_Offset = Pu_Prefix – Base_Pu_Prefix.

  • Pu_Port_Offset : décalage du port post-NAT par rapport à 1024 ajouté au produit du décalage de l’adresse IP post-NAT et du nombre de ports disponibles pour chaque adresse IP post-NAT. Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start).

Utilisation de l’algorithme : supposons les configurations suivantes :

Traduction directe

  1. Pr_Offset = Pr_Prefix – Base_Pr_Prefix – lacunes dans le pool d’adresses IP privées

    Note:

    Lorsque le pool d’adresses IP privées est constitué de plusieurs pools qui ne sont pas contigus, le Pr_Offset ne doit compter que les adresses IP privées dans les pools. C’est donc la somme de :

    • Décalage à l’intérieur du pool dans lequel se trouve l’adresse IP.

    • Taille des pools avec des adresses IP inférieures.

  2. Pr_Port_Offset = Pr_Offset * Block_Size

  3. Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size

  4. Pu_Prefix = Base_Public_Prefix + étage(Pr_Port_Offset / Rounded_Port_Range_Per_IP)

    Note:

    Lorsque le pool d’adresses IP publiques est constitué de plusieurs pools qui ne sont pas contigus, le Pu_Offset ne doit compter que les adresses IP publiques dans les pools. La somme doit donc être conçue comme suit :

    • Si la valeur floor(Pr_Port_Offset / Rounded_Port_Range_Per_IP) est supérieure à la taille de , first Public IP poolsoustrayez la taille de ce premier pool de la valeur. Ensuite, considérez la deuxième taille de piscine.

    • Répétez le processus jusqu’à ce que la valeur soit inférieure au n-ième pool.

  5. Pu_Start_Port = Pu_Port_Range_Start + (Pr_Port_Offset % Rounded_Port_Range_Per_IP)

À l’aide de l’exemple de configuration et en supposant un flux d’abonné provenant de 10.1.1.250:5000 :

  1. Pr_Offset = 10.1.1.250 – 10.1.0.1 = 505

  2. Pr_Port_Offset = 505 * 249 = 125 745

  3. Rounded_Port_Range_Per_IP = plafond[(65, 533/254)] * 249 = 259 * 249 = 64 491

  4. Pu_Prefix = 203.0.113.1 + étage(125 745 /64 491) = 203.0.113.1 +1 = 203.0.113.2

  5. Pu_Start_Port = 1 024 + (125 745 % 64 491) = 62278

    • 10.1.1.250 est traduit par 203.0.113.2.

    • Le port de départ est 62278. L’abonné dispose de 249 ports en fonction de la taille de bloc configurée. La plage de ports disponibles s’étend des ports 62278 à 62526 (inclus).

    • Le flux spécifique 10.1.1.250:5000 affecte de manière aléatoire tous les ports de sa plage car une allocation aléatoire a été spécifiée.

Traduction inverse

  1. Pr_Offset = Pr_Prefix – Base_Pr_Prefix – lacunes dans le pool d’adresses IP privées

    Note:

    Lorsque le pool d’adresses IP privées est constitué de plusieurs pools qui ne sont pas contigus, le Pr_Offset ne doit compter que les adresses IP privées dans les pools. C’est donc la somme de :

    • Décalage à l’intérieur du pool dans lequel se trouve l’adresse IP.

    • Taille des pools avec des adresses IP inférieures.

  2. Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start)

  3. Subscriber_IP = Base_Pr_Prefix + étage(Pu_Port_Offset / Block_Size)

La traduction inverse est déterminée comme suit. Supposons un flux revenant à 203.0.113.2:62278.

  1. Pu_Offset = 203.0.113.2 – 203.0.113.1 = 1

  2. Pu_Port_Offset = (1 * 64 491) + (62 280 - 1024) = 125 747

  3. Subscriber_IP = 10.1.0.1 + floor(125,747 / 249) = 10.1.0.1 + 505 = 10.1.1.250

    Note:

    En traduction inverse, seule l’adresse IP privée d’origine peut être dérivée, et non le port d’origine utilisé. C’est suffisamment précis pour répondre aux exigences des forces de l’ordre.

Lorsque vous avez configuré le napt déterministe, vous pouvez utiliser les commandes et show services nat deterministic-nat nat-port-block pour afficher le show services nat deterministic-nat internal-host mappage avant et arrière. Toutefois, les mappages seront modifiés si vous reconfigurez la taille du bloc d’allocation de bloc de port déterministe ou la from clause de votre règle NAT. Afin de fournir des informations historiques sur les mappages, nous vous recommandons d’écrire des scripts qui peuvent afficher des mappages spécifiques pour les configurations précédentes.

Restrictions déterministes du NAPT

Lorsque vous configurez un NAPT déterministe, tenez compte des points suivants :

  • Pour la configuration déterministe de l’adresse hôte NAT64 IPv6, nous prenons en charge la dernière modification de 32 bits (4 octets) du préfixe d’hôte IPv6. Cela signifie que nous ne pouvons configurer que des masques de préfixe /96 pour l’adresse IPv6, ce qui prend en charge un nombre d’adresse maximal de 232 pour un préfixe IPv6. L’adresse de l’hôte est spécifiée dans la hiérarchie de [services nat source pool p1 port deterministic host] configuration.

  • Habituellement, le nombre d’adresses dans la plage d’hôtes doit être supérieur au nombre d’adresses dans le pool.

  • Bonne pratique :

    Nous vous déconseillons de configurer le numéro d’adresse de l’hôte de manière à dépasser le nombre total de ressources de blocage de ports, car certains hôtes peuvent ne pas recevoir de ressource de blocage de ports.

  • La taille de bloc minimale pour le NAT déterministe est de 1. Si vous configurez une taille de bloc plus petite, la validation échoue. Si la taille de bloc est configurée sur 0, la taille de bloc sera automatiquement calculée en fonction du numéro d’hôte et du numéro d’adresse traduit. Si la taille de bloc calculée est inférieure à 1, la validation échoue.

  • Pour le NAPT déterministe des services de nouvelle génération, vous pouvez configurer une combinaison d’adresses d’hôte IPv4 et IPv6 dans un pool NAT dans une liste d’adresses ou d’adresses Cependant. Le nombre total de préfixes d’hôte ne peut pas dépasser 1000.

  • Vous ne pouvez pas configurer une plage d’adresses ou un nom DNS dans le nom d’un carnet d’adresses d’hôte.

  • Le préfixe d’adresse d’hôte configuré et le nom du carnet d’adresses d’hôte sont fusionnés si leurs préfixes se chevauchent. Vous pouvez utiliser la show services nat source deterministic commande opérationnelle pour afficher les préfixes fusionnés.

  • Bonne pratique :

    Nous vous recommandons de conserver les adresses d’hôte des abonnés cohérentes avec plusieurs règles correspondant au préfixe d’adresse source, si le même pool NAT déterministe est utilisé dans plusieurs règles. sinon, le trafic provenant d’hôtes qui ne sont pas configurés dans le pool NAT, même s’il correspond à la règle NAT, risque de ne pas allouer le port correctement.

  • Pour les services NAPT Next Gen Services, le nombre total d’adresses d’hôte configurées doit être supérieur ou égal aux blocs de ports NAT déterministes disponibles.