Acerca de NAT en Azure VPN Gateway (versión preliminar)

En este artículo se proporciona información general sobre la compatibilidad con NAT (traducción de direcciones de red) en Azure VPN Gateway. NAT define los mecanismos para traducir una dirección IP a otra en un paquete IP. Hay varios escenarios para NAT:

  • Conexión de varias redes con direcciones IP superpuestas
  • Conexión de redes con direcciones IP privadas (RFC1918) a Internet (interrupción de Internet)
  • Conexión de Redes IPv6 a redes IPv4 (NAT64)

Importante

NAT de Azure VPN Gateway admite el primer escenario para conectar redes locales o sucursales a una red virtual de Azure con direcciones IP superpuestas. No se admiten la interrupción de Internet ni NAT64.

Espacios de direcciones superpuestos

Las organizaciones usan normalmente direcciones IP privadas definidas en RFC1918 para la comunicación interna en sus redes privadas. Cuando estas redes se conectan mediante VPN por Internet o una WAN privada, los espacios de direcciones no deben superponerse; de lo contrario, se produciría un error en la comunicación. Para conectar dos o más redes con direcciones IP superpuestas, se implementa NAT en los dispositivos de puerta de enlace que conectan las redes.

Tipo de NAT: estática y dinámica

NAT en un dispositivo de puerta de enlace traduce las direcciones IP de origen o destino, en función de las reglas o directivas NAT para evitar conflictos de direcciones. Hay diferentes tipos de reglas de traducción NAT:

  • NAT estática: las reglas estáticas definen una relación de asignación de direcciones fija. Para una dirección IP concreta, se asignará a la misma dirección del grupo de destino. Las asignaciones de reglas estáticas no tienen estado porque la asignación es fija.

  • NAT dinámica: para NAT dinámica, una dirección IP se puede traducir a distintas direcciones IP de destino en función de la disponibilidad, o bien con una combinación diferente de dirección IP y puerto TCP/UDP. Esto último también se denomina NAPT, dirección de red y traducción de puertos. Las reglas dinámicas darán como resultado asignaciones de traducción con estado en función de los flujos de tráfico en un momento dado.

Otra consideración es el tamaño del grupo de direcciones para la traducción. Si el tamaño del grupo de direcciones de destino es el mismo que el grupo de direcciones original, use la regla NAT estática para definir una asignación 1:1 en un orden secuencial. Si el grupo de direcciones de destino es menor que el grupo de direcciones original, use la regla NAT dinámica para adaptarse a las diferencias.

Importante

  • NAT de Azure VPN Gateway solo admite reglas NAT estáticas 1:1. No se admiten reglas NAT dinámicas.
  • NAT se admite en las SKU siguientes: VpnGw2~5, VpnGw2AZ~5AZ.
  • NAT solo se admite en conexiones entre entornos locales de IPsec. No se admiten conexiones de red virtual a red virtual ni conexiones de punto a sitio.

Modo de NAT: entrada y salida

Cada regla NAT define una relación de asignación o traducción de direcciones para el espacio de direcciones de red correspondiente:

  • Entrada: una regla IngressSNAT asigna un espacio de direcciones de red local a un espacio de direcciones traducido para evitar la superposición de direcciones.

  • Salida: una regla EgressSNAT asigna el espacio de direcciones de la red virtual de Azure a otro espacio de direcciones traducido.

Para cada regla NAT, los dos campos siguientes especifican los espacios de direcciones antes y después de la traducción:

  • Asignaciones internas: es el espacio de direcciones antes de la traducción. Para una regla de entrada, este campo se corresponde al espacio de direcciones original de la red local. Para una regla de salida, es el espacio de direcciones de la red virtual original.

  • Asignaciones externas: es el espacio de direcciones después de la traducción para redes locales (entrada) o VNet (salida). En el caso de distintas redes conectadas a una puerta de enlace de VPN de Azure, los espacios de direcciones de todas las asignaciones externas no deben superponerse entre sí y con las redes conectadas sin NAT.

NAT y el enrutamiento

Una vez que se haya definido una regla NAT para una conexión, el espacio de direcciones efectivo para la conexión cambiará con la regla. Si BGP está habilitado en Azure VPN Gateway, seleccione "Habilitar traducción de rutas BGP" para convertir automáticamente las rutas aprendidas y anunciadas en las conexiones con reglas NAT:

  • Rutas aprendidas: los prefijos de destino de las rutas aprendidas sobre una conexión con las reglas IngressSNAT se traducirán de los prefijos de asignación interna (anteriores a NAT) a los prefijos de asignación externa (posteriores a NAT) de esas reglas.

  • Rutas anunciadas: Azure VPN Gateway anunciará los prefijos de asignación externa (posteriores a NAT) de las reglas EgressSNAT para el espacio de direcciones de la red virtual y las rutas aprendidas con prefijos de direcciones posteriores a NAT de otras conexiones.

  • Consideración de la dirección IP emparejada mediante BGP para una red local con NAT:

    • Dirección APIPA (169.254.0.1 a 169.254.255.254): no se necesita ninguna regla NAT; especifique la dirección APIPA directamente en la puerta de enlace de red local.
    • Dirección que no es de APIPA: especifique la dirección IP traducida o posterior a NAT en la puerta de enlace de red local. Use las direcciones IP con BGP de Azure traducidas o posteriores a NAT para configurar los enrutadores VPN locales. Asegúrese de que las reglas NAT están definidas para la traducción prevista.

Nota

Las rutas aprendidas en las conexiones sin reglas IngressSNAT no se convertirán. Las rutas de red virtual anunciadas a las conexiones sin reglas EgressSNAT tampoco se convertirán.

Ejemplo de NAT

En el diagrama siguiente se muestra un ejemplo de las configuraciones NAT de VPN de Azure:

Diagrama de NAT.

En el diagrama se muestra una red virtual de Azure y dos redes locales, todas con el espacio de direcciones de 10.0.1.0/24. Para conectar estas dos redes a la red virtual de Azure y la puerta de enlace de VPN, cree las reglas siguientes:

  • Regla IngressSNAT 1: esta regla traduce el espacio de direcciones local 10.0.1.0/24 a 100.0.2.0/24.

  • Regla IngressSNAT 2: esta regla traduce el espacio de direcciones local 10.0.1.0/24 a 100.0.3.0/24.

  • Regla EgressSNAT 1: esta regla traduce el espacio de direcciones de VNet 10.0.1.0/24 a 100.0.1.0/24.

En el diagrama, cada recurso de conexión tiene las reglas siguientes:

  • Conexión 1 (VNet-Branch1):

    • Regla 1 de IngressSNAT
    • Regla 1 de EgressSNAT
  • Conexión 2 (VNet-Branch2)

    • Regla 2 de IngressSNAT
    • Regla 1 de EgressSNAT

En función de las reglas asociadas a las conexiones, estos son los espacios de direcciones para cada red:

Red Original Traducidos
VNet 10.0.1.0/24 100.0.1.0/24
Rama 1 10.0.1.0/24 100.0.2.0/24
Rama 2 10.0.1.0/24 100.0.3.0/24

En el diagrama siguiente se muestra un paquete IP desde Branch 1 a la red virtual, antes y después de la traducción NAT:

Diagrama en el que se muestra el antes y el después de la traducción NAT.

Importante

Una sola regla SNAT define la traducción para ambas direcciones de una red concreta:

  • Una regla IngressSNAT define la traducción de las direcciones IP de origen que llegan a la puerta de enlace de VPN de Azure desde la red local. También controla la traducción de las direcciones IP de destino que salen de la red virtual hacia la misma red local.
  • Una regla EgressSNAT define la traducción de las direcciones IP de origen que salen de la puerta de enlace de VPN de Azure a redes locales. También controla la traducción de las direcciones IP de destino para los paquetes que llegan a la red virtual por medio de esas conexiones con la regla EgressSNAT.
  • En cualquier caso, no se necesita ninguna regla DNAT.

Configuración de NAT

Para implementar la configuración de NAT como se ha mostrado antes, cree primero las reglas NAT en la puerta de enlace de VPN de Azure y, después, cree las conexiones con las reglas NAT correspondientes asociadas. Vea Configuración de NAT en puertas de enlace de VPN de Azure para obtener los pasos a fin de configurar NAT para las conexiones entre entornos locales.

Preguntas más frecuentes sobre NAT

¿Se admite NAT en todas las SKU de Azure VPN Gateway?

NAT se admite en VpnGw2~5 y VpnGw2AZ~5AZ.

¿Puedo usar NAT en conexiones de red virtual a red virtual o P2S?

No, NAT solo se admite en conexiones entre locales de IPsec.

¿Cuántas reglas NAT puedo usar en una puerta de enlace de VPN?

Puede crear hasta 100 reglas NAT (reglas Ingress y Egress combinadas) en una puerta de enlace de VPN.

¿Se aplica NAT a todas las conexiones en una puerta de enlace de VPN?

NAT se aplica a las conexiones con reglas NAT. Si una conexión no tiene ninguna regla NAT, no se le aplica NAT. En la misma puerta de enlace de VPN, puede tener algunas conexiones con NAT y otras sin NAT que funcionen conjuntamente.

¿Qué tipos de NAT se admiten en las puertas de enlace de VPN de Azure?

Solo NAT 1:1 estática. NO se admite NAT dinámica ni NAT64.

¿Funciona NAT en puertas de enlace VPN activo-activo?

Sí. NAT funciona en puertas de enlace VPN activo-activo y en espera activo.

¿Funciona NAT con las conexiones BGP?

Sí, se puede usar BGP con NAT. A continuación se indican algunas consideraciones importantes:

  • Seleccione Enable BGP Route Translation (Habilitar traducción de rutas BGP) en la página de configuración de reglas NAT para asegurarse de que las rutas aprendidas y las rutas anunciadas se traducen a prefijos de dirección posteriores a NAT (asignaciones externas) en función de las reglas NAT asociadas a las conexiones. Debe asegurarse de que los enrutadores BGP locales anuncien los mismos prefijos, tal y como se define en las reglas IngressSNAT.

  • Si el enrutador VPN local usa APIPA (169.254.x.x) como IP del par o del altavoz BGP, use la dirección APIPA directamente en el campo Dirección IP del par BGP de la puerta de enlace de red local. Si el enrutador VPN local usa una dirección normal que no es de APIPA y se intercala con el espacio de direcciones de la red virtual o con otros espacios de red locales, asegúrese de que la regla IngressSNAT traducirá la dirección IP del par BGP a una dirección única no superpuesta y colocará la dirección posterior a NAT en el campo Dirección IP del par BGP de la puerta de enlace de red local.

¿Debo crear las reglas DNAT correspondientes para la regla SNAT?

No. Una sola regla SNAT define la traducción para ambas direcciones de una red determinada:

  • Una regla IngressSNAT define la traducción de las direcciones IP de origen que llegan a la puerta de enlace de VPN de Azure desde la red local. También controla la traducción de las direcciones IP de destino que salen de la red virtual hacia la misma red local.

  • Una regla EgressSNAT define la traducción de las direcciones IP de origen de la red virtual que salen de la puerta de enlace de VPN de Azure a redes locales. También controla la traducción de las direcciones IP de destino para los paquetes que llegan a la red virtual a través de esas conexiones con la regla EgressSNAT.

  • En cualquier caso, no se necesita ninguna regla DNAT.

¿Qué debo hacer si el espacio de direcciones de la puerta de enlace de red local o de red virtual tiene dos o más prefijos? ¿Puedo aplicarles NAT a todos? ¿O solo a un subconjunto?

Debe crear una regla NAT para cada prefijo que necesite en NAT, ya que cada regla NAT solo puede incluir un prefijo de dirección para NAT. Por ejemplo, si el espacio de direcciones de la puerta de enlace de red local se compone de 10.0.1.0/24 y 10.0.2.0/25, puede crear dos reglas tal y como se muestra a continuación:

  • Regla IngressSNAT 1: asignar 10.0.1.0/24 a 100.0.1.0/24
  • Regla IngressSNAT 2: asignar 10.0.2.0/25 a 100.0.2.0/25

Las dos reglas deben hacer coincidir las longitudes de los prefijos de dirección correspondientes. Lo mismo se aplica a las reglas EgressSNAT para un espacio de direcciones de red virtual.

Importante

Si solo vincula una regla a la conexión anterior, el otro espacio de direcciones NO se traducirá.

¿Puedo usar reglas EgressSNAT distintas para traducir el espacio de direcciones de red virtual a distintos prefijos para redes locales diferentes?

Sí, puede crear varias reglas EgressSNAT para el mismo espacio de direcciones de red virtual y aplicar dichas reglas a distintas conexiones. Para las conexiones sin ninguna regla EgressSNAT,

¿Puedo usar la misma regla IngressSNAT en conexiones distintas?

Sí, esto suele hacerse cuando son conexiones para la misma red local a fin de proporcionar redundancia. No se puede usar la misma regla Ingress si las conexiones son para redes locales distintas.

¿Necesito tanto reglas Ingress como Egress en una conexión NAT?

Necesita tanto reglas Ingress como Egress en la misma conexión cuando el espacio de direcciones de red local se superpone con el espacio de direcciones de la red virtual. Si el espacio de direcciones de la red virtual es único entre todas las redes conectadas, no se necesitará la regla EgressSNAT en esas conexiones. Puede usar las reglas Ingress para evitar la superposición de direcciones entre las redes locales.

Pasos siguientes

Vea Configuración de NAT en puertas de enlace de VPN de Azure para obtener los pasos a fin de configurar NAT para las conexiones entre entornos locales.