NAT64 à grande échelle
En raison de l’épuisement imminent des adresses IPv4, les FAI ont commencé à passer à l’infrastructure IPv6. Mais pendant la transition, les fournisseurs d’accès Internet doivent continuer à prendre en charge le protocole IPv4 en même temps que le protocole IPv6, car la majeure partie de l’Internet public utilise toujours le protocole IPv4. NAT64 à grande échelle est une solution de transition IPv6 destinée aux fournisseurs d’accès Internet dotés d’une infrastructure IPv6 afin de connecter leurs abonnés IPv6 uniquement à Internet IPv4. DNS64 est une solution permettant la découverte de domaines IPv4 uniquement par des clients IPv6 uniquement. Le DNS64 est utilisé avec le NAT64 à grande échelle pour permettre une communication fluide entre les clients IPv6 uniquement et les serveurs IPv4 uniquement.
Une appliance NetScaler implémente des protocoles NAT64 et DNS64 à grande échelle et est conforme aux RFC 6145, 6146, 6147, 6052, 3022, 2373, 2765 et 2464.
Architecture
L’architecture NAT64 d’un fournisseur de services Internet utilisant une appliance NetScaler consiste en des abonnés IPv6 accédant à Internet IPv4 via une appliance NetScaler déployée sur le réseau central du fournisseur de services Internet. Les abonnés IPv6 sont connectés au réseau central du FAI via le réseau d’accès IPv6 uniquement du FAI.
La fonctionnalité NAT64 à grande échelle d’une appliance NetScaler permet la communication entre les clients IPv6 et les serveurs IPv4 via la traduction de paquets IPv6 vers IPv4, et vice versa, tout en conservant les informations de session sur l’appliance NetScaler. La fonctionnalité NetScaler DNS64 représente les domaines uniquement IPv4 aux abonnés IPv6 en synthétisant les enregistrements DNS AAAA pour les domaines uniquement IPv4 et en les envoyant aux abonnés.
Le NAT64 à grande échelle comporte deux composants principaux : le préfixe NAT64 et le pool NAT IPv4. DNS64 possède un composant principal, le préfixe DNS64, qui a la même valeur que le préfixe NAT64.
Lors de la réception d’une demande AAAA d’un abonné IPv6 uniquement pour un nom de domaine hébergé sur un serveur Web uniquement IPv4 sur Internet, la fonctionnalité NetScaler DNS64 synthétise un enregistrement AAAA pour le nom de domaine et l’envoie à l’abonné. L’enregistrement AAAA est synthétisé en concaténant le préfixe DNS64 (qui est défini sur le préfixe NAT64) et l’adresse IPv4 réelle du nom de domaine.
L’abonné dispose désormais d’une adresse de destination IPv6 qui correspond au nom de domaine souhaité. L’abonné envoie la demande à l’adresse IPv6 synthétisée. À la réception de la requête IPv6, la fonctionnalité NetScaler NAT64 à grande échelle traduit le paquet de requête IPv6 en un paquet de requête IPv4. Le protocole NAT64 à grande échelle définit l’adresse de destination de la demande IPv4 comme adresse IPv4, qui est extraite de l’adresse de destination de la demande IPv6 en supprimant le préfixe NAT64 de l’adresse IPv6. Le port de destination est conservé à partir de la requête IPv6. Large Scale NAT64 définit également l’adresse IP source:port source du paquet IPv4 sur l’adresse IP NAT:port NAT sélectionné dans le pool NAT configuré.
L’appliance conserve un enregistrement de toutes les sessions actives qui utilisent la fonctionnalité NAT64 à grande échelle. Ces sessions sont appelées sessions NAT64 à grande échelle. L’appliance gère également les mappages entre l’adresse et le port IPv6 de l’abonné, et l’adresse et le port NAT IPv4, pour chaque session NAT64 à grande échelle. Ces mappages sont appelés mappages NAT64 à grande échelle. À partir d’entrées de session NAT64 à grande échelle et d’entrées de mappage NAT64 à grande échelle, l’appliance NetScaler reconnaît qu’un paquet de réponse (reçu depuis Internet) appartient à une session NAT64 particulière.
Lorsque l’appliance reçoit un paquet de réponse IPv4 appartenant à une session NAT64 particulière, elle utilise les informations stockées dans la session NAT64 pour traduire le paquet IPv4 en paquet IPv6, puis envoie le paquet de réponse IPv6 à l’abonné.
Exemple : Flux de trafic du déploiement de NAT64 et DNS64
Prenons l’exemple d’un déploiement à grande échelle de NAT64 et DNS64 comprenant l’appliance NetScaler NS-1 et deux serveurs DNS locaux, DNS-1 et DNS-2, dans le réseau central d’un fournisseur de services Internet, et un abonné IPv6 SUB-1. Le SUB-1 est connecté au NS-1 via le réseau d’accès IPv6 du fournisseur de services Internet. Le NS-1 inclut des configurations NAT64 et DNS64 à grande échelle pour permettre la communication entre les abonnés IPv6 SUB-1 et les hôtes IPv4 (internes et externes).
La configuration NAT64 à grande échelle comprend un préfixe NAT64 (2001:DB8:300::/96) et un pool NAT IPv4 pour la traduction des requêtes IPv6 en requêtes IPv4 et des réponses IPv4 aux réponses IPv6.
La configuration DNS64 inclut un serveur virtuel d’équilibrage de charge DNS LBVS-DNS64-1 (2001:DB8:9999::99) et un préfixe DNS64 (2001:DB8:300::/96). LBVS-DNS64-1 représente les serveurs DNS locaux DNS-1 et DNS-2 pour les abonnés du fournisseur de services Internet. Le préfixe DNS64, qui a la même valeur que le préfixe NAT64, est utilisé pour synthétiser les enregistrements DNS AAAA à partir des enregistrements DNS A reçus des serveurs DNS DNS-1 et DNS-2. Le NS-1 répond par un enregistrement AAAA synthétisé à SUB-1 pour une requête DNS visant à résoudre un hôte IPv4.
Flux de trafic DNS64
Le trafic circule entre l’abonné IPv6 SUB-1 et le site www.example.com
, qui réside sur un serveur Web uniquement IPv4 sur Internet, comme suit :
- L’abonné IPv6 SUB-1 envoie une requête DNS AAAA
www.example.com
à son serveur DNS désigné (2001:DB8:9999::99). - Le serveur virtuel d’équilibrage de charge DNS LBVS-DNS64-1 (2001:DB 8:9999 : :99) sur l’appliance NetScaler NS1 reçoit la demande AAAA. L’algorithme d’équilibrage de charge de LBVS-DNS64-1 sélectionne le serveur DNS DNS-1 et lui transmet la requête AAAA.
- DNS-1 renvoie un enregistrement vide ou un message d’erreur, car il n’y a pas d’enregistrement AAAA disponible pour
www.example.com
. - Étant donné que l’option DNS64 est activée sur LBVS-DNS64-1 et que la requête AAAA du CL1 correspond à la condition spécifiée dans DNS64-Policy-1, NS1 envoie une demande DNS A à DNS-1 pour l’adresse IPv4 de.
www.example.com
- DNS-1 répond avec l’enregistrement A de 192.0.2.60 pour
www.example.com
. - Le module DNS64 sur NS1 synthétise un enregistrement AAAA pour
www.example.com
en concaténant le préfixe DNS64 (2001:DB8:300::/96) associé à LBVS-DNS64-1, et l’adresse IPv4 (192.0.2.60) pourwww.example.com
= 2001:DB8:300::192.0.2.60 - NS1 envoie l’enregistrement AAAA synthétisé au client IPv6 CL1. NS1 met également en cache l’enregistrement A dans sa mémoire. NS1 utilise l’enregistrement A mis en cache pour synthétiser les enregistrements AAAA pour les demandes AAAA suivantes.
Flux de trafic NAT64
-
L’abonné IPv6 SUB-1 envoie une requête à 2001:DB8:5001:30
www.example.com
. Le paquet IPv6 contient :- Adresse IP source = 2001:DB8:5001:30
- Port source = 2552
- Adresse IP de destination = 2001:DB8:300::192.0.2.60
- Port de destination = 80
-
L’abonné IPv6 SUB-1 envoie une requête à 2001:DB8:5001:30
www.example.com
. Le paquet IPv6 contient :- Adresse IP source = 2001:DB8:5001:30
- Port source = 2552
- Adresse IP de destination = 2001:DB8:300::192.0.2.60
- Port de destination = 80
-
Lorsque NS-1 reçoit le paquet IPv6, le module NAT64 à grande échelle crée un paquet de requête IPv4 traduit avec :
- Adresse IP source = L’une des adresses IPv4 disponibles dans le pool NAT configuré (203.0.113.61)
- Port source = L’un des ports disponibles avec l’adresse IPv4 NAT allouée (3002)
- Adresse IP de destination = adresse IPv4 extraite de l’adresse de destination de la requête IPv6 en dénuant le préfixe NAT64 (2001:DB8:300::/96) de l’adresse IPv6 (192.0.2.60)
- Port de destination = port de destination de la requête IPv6 (80)
-
Le module NAT64 à grande échelle crée également des entrées de mappage et de session pour ce flux NAT64 à grande échelle. Les entrées de session et de mappage incluent les informations suivantes :
- Adresse IP source du paquet IPv6 = 2001:DB 8:5001:30
- Port source du paquet IPv6 = 2552
- Adresse IP NAT = 203.0.113.61
- Port NAT = 3002
- Le NS-1 envoie le paquet IPv4 résultant vers sa destination sur Internet.
-
À la réception du paquet de demande, le serveur
www.example.com
traite le paquet et envoie un paquet de réponse à NS-1. Le paquet de réponse IPv4 contient :- Adresse IP source = 192.0.2.60
- Port source = 80
- Adresse IP de destination = 203.0.113.61
- Port de destination = 3002
-
À la réception du paquet de réponse IPv4, le NS-1 examine le mappage NAT64 à grande échelle et les entrées de session et constate que le paquet de réponse IPv4 appartient à une session NAT64 à grande échelle. Le module NAT64 à grande échelle crée un paquet de réponse IPv6 traduit :
- Adresse IP source = 2001:DB8:300::192.0.2.60
- Port source = 80
- Adresse IP de destination = 2001:DB 8:5001:30
- Port de destination = 2552
-
NS-1 envoie la réponse IPv6 traduite au client SUB-1.
Fonctionnalités NAT64 à grande échelle prises en charge sur les appliances NetScaler
Le protocole NAT64 à grande échelle sur une appliance NetScaler prend en charge l’ensemble de fonctionnalités LSN standard. Pour plus d’informations sur ces fonctionnalités LSN, voir Architecture LSN.
Voici quelques-unes des fonctionnalités NAT64 à grande échelle prises en charge par les appliances NetScaler :
- ALG. Support de la passerelle ALG (Application Layer Gateway) pour les protocoles SIP, RTSP, FTP, ICMP et TFTP.
- NAT déterministique/fixe. Prise en charge de la pré-allocation de blocs de ports aux abonnés afin de minimiser la journalisation.
- Cartographie. Prise en charge du mappage indépendant du point de terminaison (EIM), du mappage dépendant de l’adresse (ADM) et du mappage dépendant du port d’adresse (APDM).
- Filtrage. Prise en charge du filtrage indépendant du point de terminaison (EIF), du filtrage dépendant de l’adresse (ADF) et du filtrage dépendant du port d’adresse (APDF).
- Quotas. Limites configurables du nombre de ports, de sessions par abonné et de sessions par groupe LSN.
- Cartographie statique. Prise en charge de la définition manuelle d’un mappage NAT64 à grande échelle.
- Hairpin Flow. Prise en charge de la communication entre les abonnés ou les hôtes internes à l’aide d’adresses IP NAT.
- Connexions 464XLAT. Prise en charge de la communication entre les applications IPv4 uniquement sur les hôtes abonnés IPv6 et les hôtes IPv4 sur Internet via le réseau IPv6.
- Préfixes NAT64 et DNS64 de longueur variable. L’appliance NetScaler prend en charge la définition de préfixes NAT64 et DNS64 de longueurs de 32, 40, 48, 56, 64 et 96.
- Préfixes NAT64 et DNS64 multiples. L’appliance NetScaler prend en charge plusieurs préfixes NAT64 et DNS64.
- Clients LSN. Prise en charge de la spécification ou de l’identification des abonnés pour un système NAT64 à grande échelle à l’aide de préfixes IPv6 et de règles ACL6 étendues.
- Journalisation. Support pour la journalisation des sessions NAT64 pour les forces de l’ordre. En outre, les éléments suivants sont également pris en charge pour la journalisation.
- SYSLOG fiable. Prise en charge de l’envoi de messages SYSLOG via TCP à des serveurs de journalisation externes pour un mécanisme de transport plus fiable.
- Équilibrage de charge des serveurs de journaux. Prise en charge de l’équilibrage de charge des serveurs de journaux externes afin d’empêcher le stockage de messages de journal redondants.
- Journalisation minimale. Les configurations LSN déterministes ou les configurations LSN dynamiques avec bloc de ports réduisent considérablement le volume de journaux NAT64 à grande échelle.
- Journalisation des informations MSISDN. Prise en charge de l’inclusion des informations MSISDN des abonnés dans des journaux NAT64 à grande échelle afin d’identifier et de suivre l’activité des abonnés sur Internet.