Ejemplo: configuración de NAT64 con estado para controlar el agotamiento de direcciones IPv4
En este ejemplo se configura NAT64 con estado en un enrutador de borde universal 3D de la serie MX con un DPC de servicios. La configuración replica el flujo de ejemplo que se encuentra en draft-ietf-behave-v6v4-xlate-stateful-12 y RFC 6146 Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers.
Este ejemplo contiene las siguientes secciones:
Requisitos
En este ejemplo se utilizan los siguientes componentes de hardware y software:
Un enrutador perimetral universal 3D serie MX con un DPC de servicios o un enrutador perimetral multiservicio serie M con una PIC de servicios
Junos OS versión 10.2 o posterior
Un servidor de nombres compatible con DNS64
Este ejemplo de configuración se ha probado con la versión de software enumerada y se supone que funciona en todas las versiones posteriores.
Implementación
Los enrutadores de Juniper Networks con PIC de servicios o concentrador de puerto denso de servicios (DPC) admiten NAT64 con estado. El sistema dirige los paquetes IPv6 procedentes de hosts solo IPv6 a un DPC de servicios donde los paquetes se traducen a IPv4 según la configuración. En la ruta inversa, el sistema envía paquetes IPv4 al DPC de servicios, donde los procesos adicionales del sistema invierten la traducción y envían el paquete IPv6 correspondiente de vuelta al cliente.
Descripción general de la configuración y topología
La figura 1 muestra un enrutador de la serie MX, el enrutador R2, que implementa NAT64 con dos interfaces Gigabit Ethernet y un DPC de servicios. La interfaz conectada a la red IPv4 es ge-1/3/6
, y la interfaz conectada a la red IPv6 es ge-1/3/5
.
También se muestra un servidor de nombres local con funcionalidad DNS64, que el sistema utiliza como parte del proceso de traducción. El servidor de nombres local está configurado con el /96
prefijo asignado al enrutador NAT64 local.

Configuración
La configuración de NAT64 con estado implica las siguientes tareas:
- Configuración de la PIC y las interfaces
- Configuración del grupo NAT64
- Configuración del conjunto de servicios
Configuración de la PIC y las interfaces
Procedimiento paso a paso
Para configurar la PIC y las interfaces en el enrutador R2:
Edite la
chassis
configuración para habilitar un paquete de servicio de capa 3. El paquete de servicio con su interfaz de paquete de servicios asociado (sp-
) se utiliza para manipular el tráfico antes de entregarlo a su destino. Para obtener más información sobre la configuración de paquetes, consulte la Guía de configuración de interfaces de servicios de Junos OS.Configure el paquete de servicios en el nivel jerárquico
[edit chassis fpc pic adaptive-services]
. En este ejemplo se supone que el PIC está en FPC 5, ranura 0.[edit chassis] fpc 5 { pic 0 { adaptive-services { service-package layer-3; } } }
Configure la
ge-1/3/5
interfaz conectada a la red IPv6:Incluya las
family inet
instrucciones (IPv4) efamily inet6
(IPv6) en el nivel jerárquico[edit interfaces interface-name unit unit-number]
.Incluya la dirección IPv6 en el nivel jerárquico
[edit interfaces unit unit-number family inet6 address]
.Configure un conjunto de servicios en los niveles y
[edit interfaces interface-name unit unit-number family service input service-set]
jerárquico[edit interfaces interface-name unit unit-number family service output service-set]
.[edit interfaces] ge-1/3/5 { description "IPv6-only domain"; unit 0 { family inet; family inet6 { service { input { service-set set_0; } output { service-set set_0; } } address 2001:DB8::1/64; } } }
Configure la
ge-1/3/6
interfaz conectada a la red IPv4:Incluya la
family inet
instrucción en el[edit interfaces unit unit-number]
nivel jerárquico.Incluya la dirección IPv4 en el nivel jerárquico
[edit interfaces unit unit-number family inet]
.[edit interfaces] ge-1/3/6 { description "Internet-IPv4 domain"; unit 0 { family inet { address 192.0.1.1/16; } } }
Configure la interfaz de servicios, en este ejemplo,
sp-5/0/0
. En este ejemplo se configura un registro del sistema para cualquier servicio del host local.El paquete de servicios asociado con esta interfaz se configuró en el paso 2. Especifique las familias de direcciones IPv4 e IPv6 en el nivel jerárquico
[edit interfaces interface-name unit unit-number]
. El conjunto de servicios que configure en Configuración del conjunto de servicios está asociado a esta interfaz.[edit interfaces] sp-5/0/0 { services-options { syslog { host local { services any; log-prefix XXXXXXXX; } } } unit 0 { family inet; family inet6; } }
Configuración del grupo NAT64
Procedimiento paso a paso
Utilice este procedimiento para configurar el enrutador NAT64, enrutador R2, con el /96
prefijo para representar direcciones IPv4 en el espacio de direcciones IPv6. Los paquetes IPv6 dirigidos a una dirección de destino que contiene el /96
prefijo se enrutan a la interfaz IPv6 del enrutador NAT. También puede configurar una o varias direcciones de transporte IPv4 para el grupo NAT.
En este ejemplo se muestra cómo configurar la traducción de direcciones de red para la dirección 203.0.113.1/32
IPv4. También muestra cómo configurar el prefijo 64:FF9B::/96
IPv6. Para configurar el grupo NAT64:
Configure una dirección de transporte IPv4 para el grupo en el nivel jerárquico
[edit services nat pool pool-name]
. Configure el puerto del grupo NAT para que se asigne automáticamente.[edit services nat] pool src-pool-nat64 { address 203.0.113.0/24; port automatic; }
Configure una regla NAT para traducir los paquetes desde la red IPv6. Las reglas NAT especifican el tráfico que se debe emparejar y la acción que se debe realizar cuando el tráfico coincide con la regla.
En este ejemplo, solo se requiere una regla para realizar la traducción de direcciones. La regla selecciona todo el tráfico procedente de la dirección de origen en la red IPv6,
2001:DB8::1/128
. A continuación, se especifica la dirección de transporte configurada en el paso 1 para la traducción utilizando el/96
prefijo.Configure la regla en el nivel jerárquico de la
[edit services nat rule rule-name]
siguiente manera:[edit services nat] rule nat64 { match-direction input; term t1 { from { source-address { 2001:DB8::0/96; } destination-address { 64:FF9B::/96; } } then { translated { source-pool src-pool-nat64; destination-prefix 64:FF9B::/96; translation-type { stateful-nat64; } } } } }
Configuración del conjunto de servicios
Procedimiento paso a paso
Para configurar el conjunto de servicios para el servicio NAT en el enrutador R2, debe asociar la regla (nat64
) y la interfaz de servicio (sp-5/0/0
) configuradas previamente con el conjunto de servicios. También se incluye una configuración de registro del sistema.
Para configurar estas opciones en el nivel jerárquico [edit services service-set service-set-name]
:
Configure el registro del sistema.
[edit services service-set set_0] syslog { host local { services any; log-prefix XXXSVC-SETYYY; } }
Asocie la regla NAT y la interfaz de servicio con el conjunto de servicios en el nivel jerárquico
[edit services service-set service-set-name]
.[edit services ] service-set set_0 { nat-rules nat64; interface-service { service-interface sp-5/0/0; } }
En el enrutador R2, confirme la configuración.
user@R2> commit check configuration check succeeds user@R2> commit
Verificación del funcionamiento de NAT64
Puede utilizar las siguientes funciones para verificar la configuración de NAT64:
Comandos de CLI en el enrutador
Registro
También puede utilizar una herramienta de prueba que puede generar flujos IPv6 dirigidos al enrutador de la serie MX, utilizando el conocido prefijo (64:FF9B::/96
) como destino.
Entre otros, puede utilizar los siguientes comandos de CLI para verificar la configuración de NAT64:
show services stateful-firewall flows
show services stateful-firewall conversations
show services nat pool detail
show services stateful-firewall statistics extensive
En este ejemplo:
En la dirección de entrada, la dirección de destino IPv4 se obtiene de la dirección de destino IPv6 cuyo prefijo coincide con el prefijo de destino configurado a partir de la longitud del prefijo especificado.
En la dirección inversa o de salida, la dirección IPv4 se sufija al prefijo de destino en la longitud del prefijo especificada.
Para confirmar la configuración de NAT64, realice estas tareas:
- Mostrar flujos NAT64
- Mostrar conversaciones NAT64
- Mostrar estadísticas relacionadas con el conjunto global de TDR
- Comprobar registros del sistema
- Comprobar que las conversaciones de NAT64 tienen lugar
Mostrar flujos NAT64
Propósito
Muestre y compruebe que los flujos NAT64 se crearon y contienen la traducción correcta de direcciones de red.
Acción
Para mostrar los flujos de NAT64 en el enrutador R2, utilice el show services stateful-firewall flows
comando.
user@R2> show services stateful-firewall flows Interface: sp-5/0/0, Service set: set_0 Flow State Dir Frm count TCP 2001:db8::4:1160 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1160 -> 203.0.113.1: NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 2001:db8::2:1166 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1166 -> 203.0.113.1:1420 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1413 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21286 NAT dest 203.0.113.1:1413 -> 2001:db8::4:1167 TCP 2001:db8::3:1123 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1123 -> 203.0.113.1:1385 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1376 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1376 -> 2001:db8::3:1120 TCP 2001:db8::3:1136 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1136 -> 203.0.113.1:1424 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 2001:db8::4:1146 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1146 -> 203.0.113.1:1350 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 2001:db8::3:1110 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1110 -> 203.0.113.1:1346 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1428 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1428 -> 2001:db8::4:1172 TCP 192.0.2.1:80 -> 203.0.113.1:1393 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:80 NAT dest 203.0.113.1:1393 -> 2001:db8::2:1157 TCP 192.0.2.1:80 -> 203.0.113.1:1346 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1346 -> 2001:db8::3:1110 TCP 2001:db8::2:1148 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1148 -> 203.0.113.1:1366 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1363 Forward O 4
Significado
En la salida de ejemplo, se muestran las direcciones de origen NAT y de destino NAT de las direcciones Entrada (I) y Salida (O). Los flujos NAT64 enumerados en esta salida no están en un orden específico.
Mostrar conversaciones NAT64
Propósito
Muestre y compruebe que las conversaciones NAT64 (colecciones de flujos relacionados) son correctas.
Acción
Para mostrar conversaciones NAT64 en el enrutador R2, utilice el show services stateful-firewall conversations
comando. A diferencia del flows
comando que informa de todos los flujos sin un orden específico, el resultado del comando agrupa los flujos que pertenecen a una conversación para facilitar la conversations
solución de problemas de comunicación entre un par específico de hosts.
user@R2> show services stateful-firewall conversations Interface: sp-5/0/0, Service set: set_0 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::3:1188 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1188 -> 203.0.113.1:1580 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1580 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21303 NAT dest 203.0.113.1:1580 -> 2001:db8::3:1188 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::4:1213 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1213 -> 203.0.113.1:1551 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1551 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1551 -> 2001:db8::4:1213 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::3:1169 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1169 -> 203.0.113.1:1523 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1523 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:80 NAT dest 203.0.113.1:1523 -> 2001:db8::3:1169 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::2:1233 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1233 -> 203.0.113.1:1621 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1621 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1621 -> 2001:db8::2:1233 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::2:1218 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1218 -> 203.0.113.1:1575 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1575 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1575 -> 2001:db8::2:1218 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::4:1220 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1220 -> 203.0.113.1:1572 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1572 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1572 -> 2001:db8::4:1220 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::2:1211 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1211 -> 203.0.113.1:1554 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1554 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21286 NAT dest 203.0.113.1:1554 -> 2001:db8::2:1211
Significado
El resultado de ejemplo muestra las conversaciones NAT64 entre pares específicos de hosts.
Mostrar estadísticas relacionadas con el conjunto global de TDR
Propósito
Muestre y verifique estadísticas NAT globales relacionadas con el uso del grupo.
Acción
Para mostrar estadísticas globales relacionadas con el conjunto de NAT en el enrutador R2, use el show services nat pool detail
comando. Normalmente, este comando se utiliza junto con el show services stateful-firewall flows
comando utilizado en Mostrar flujos NAT64, que muestra el origen y el resultado de la traducción.
user@R2> show services nat pool detail Interface: sp-5/0/0, Service set: set_0 NAT pool: src-pool-nat64, Translation type: dynamic Address range: 203.0.113.1-203.0.113.254 Port range: 512-65535, Ports in use: 102, Out of port errors: 0, Max ports used: 192 NAT pool: _jpool_nat64_t1_, Translation type: static Address range: 0.100.255.155-0.100.255.154
Significado
La salida de ejemplo muestra estadísticas relevantes e información sobre los grupos NAT64.
Comprobar registros del sistema
Propósito
Compruebe los registros del sistema, ya que el sistema crea registros detallados a medida que se crean y eliminan sesiones.
Acción
Cuando se crea una sesión basada en la configuración del ejemplo, se proporcionan dos registros. El primer registro indica la regla y el término que coincidió el paquete. El segundo registro indica la creación del flujo.
user@R2> show log messages Oct 21 22:14:14 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]: ASP_SFW_CREATE_ACCEPT_FLOW: proto 6 (TCP) application: any, ge-1/3/5.0:2001:db8:0:0:0:0:0:1:1025 -> 64:ff9b:0:0:0:0:c000:201:80, creating forward or watch flow ; source address and port translate to 203.0.113.1:1593 ; destination address translates to 192.0.2.1
Cuando finalizan las sesiones, el sistema crea un registro que indica la dirección del grupo NAT y la liberación del puerto, además del registro de flujo de eliminación, como se indica a continuación:
Oct 21 22:14:17 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]:ASP_NAT_POOL_RELEASE: natpool release 203.0.113.1:1593[1] Oct 21 22:14:17 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]: ASP_SFW_DELETE_FLOW: proto 6 (TCP) application: any, (null)(null)2001:db8:0:0:0:0:0:1:1025 -> 64:ff9b:0:0:0:0:c000:201:80, deleting forward or watch flow ; source address and port translate to 203.0.113.1:1593 ; destination address translates to 192.0.2.1
Significado
El resultado de ejemplo muestra los mensajes de registro que se pueden ver cuando se crea una sesión y cuando finaliza una sesión.
Comprobar que las conversaciones de NAT64 tienen lugar
Propósito
Compruebe que se están llevando a cabo las conversaciones de NAT64. La compatibilidad actual con la puerta de enlace de capa de aplicación (ALG) se limita a ICMP y traceroute.
Acción
Para comprobar que las conversaciones NAT64 se están produciendo en el enrutador R2, utilice el show services stateful-firewall conversations
comando. A continuación se muestra un ejemplo de salida para una prueba de eco ICMP (ping
).
user@R2> show services stateful-firewall conversations Interface: sp-5/0/0, Service set: set_0 Conversation: ALG protocol: icmpv6 Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count ICMPV6 2001:db8::2 ->64:ff9b::c000:201 Watch I 21 NAT source 2001:db8::2 -> 203.0.113.1 NAT dest 64:ff9b::c000:201 -> 192.0.2.1 ICMP 192.0.2.1 -> 203.0.113.1 Watch O 21 NAT source 192.0.2.1 -> 64:ff9b::c000:201 NAT dest 203.0.113.1 -> 2001:db8::2
Significado
La salida de muestra muestra los resultados de la prueba de eco ICMP.