Enrutamiento del tráfico de redes virtuales
En este artículo, obtendrá información sobre cómo Azure enruta el tráfico entre Azure, el entorno local y los recursos de Internet. Azure crea automáticamente una tabla de rutas para cada subred de una red virtual de Azure y agrega las rutas predeterminadas del sistema a la tabla. Para más información acerca de las redes y subredes virtuales, consulte Red virtual. Puede reemplazar algunas de las rutas del sistema de Azure por rutas personalizadas y agregar más rutas personalizadas a las tablas de rutas. Azure enruta el tráfico saliente desde una subred en función de las rutas de la tabla de rutas de una subred.
Rutas del sistema
Azure crea automáticamente rutas del sistema y las asigna a todas las subredes de una red virtual. No puede crear rutas del sistema y no puede quitar rutas del sistema, pero puede invalidar algunas rutas del sistema con rutas personalizadas. Azure crea rutas del sistema predeterminadas para cada subred y agrega más rutas predeterminadas opcionales a determinadas subredes, o a todas las subredes, al usar funcionalidades específicas de Azure.
Valor predeterminado
Cada ruta contiene un prefijo de dirección y el tipo de próximo salto. Cuando el tráfico que sale de una subred se envía a una dirección IP que está dentro del prefijo de la dirección de ruta, la ruta que contiene el prefijo es la que utiliza Azure. Obtenga más información acerca de la selección de rutas por parte de Azure cuando varias rutas contienen los mismos prefijos o cuando los prefijos se solapan. Cuando se crea una red virtual, Azure crea automáticamente los siguientes rutas del sistema predeterminadas para cada subred de la red virtual:
Origen | Prefijos de dirección | Tipo del próximo salto |
---|---|---|
Valor predeterminado | Único para la red virtual | Virtual network |
Valor predeterminado | 0.0.0.0/0 | Internet |
Valor predeterminado | 10.0.0.0/8 | None |
Valor predeterminado | 172.16.0.0/12 | Ninguno |
Valor predeterminado | 192.168.0.0/16 | None |
Valor predeterminado | 100.64.0.0/10 | None |
Los tipos de próximo salto enumerados en la tabla anterior representan la forma en que Azure enruta el tráfico destinado al prefijo de dirección enumerado. Estas son las explicaciones de los tipos de próximo salto:
Red virtual: enruta el tráfico entre los intervalos de direcciones del espacio de direcciones de una red virtual. Azure crea una ruta con un prefijo de dirección que corresponde a cada intervalo de direcciones definido en el espacio de direcciones de una red virtual. Si el espacio de direcciones de la red virtual tiene varios intervalos de direcciones definidos, Azure crea una ruta individual para cada intervalo de direcciones. De forma predeterminada, Azure enruta el tráfico entre subredes. No es necesario definir tablas de rutas ni puertas de enlace de Azure para enrutar el tráfico entre subredes. Azure no crea rutas predeterminadas para intervalos de direcciones de subred. Cada intervalo de direcciones de subred está dentro de un intervalo de direcciones del espacio de direcciones de una red virtual.
Internet: enruta a Internet el tráfico que especifica el prefijo de dirección. La ruta predeterminada del sistema especifica el prefijo de dirección 0.0.0.0/0. Si no se invalidan las rutas predeterminadas de Azure, Azure enruta a Internet el tráfico de todas las direcciones que no se hayan especificado en un intervalo de direcciones dentro de una red virtual. Hay una excepción a este enrutamiento. Si la dirección de destino es para un servicio de Azure, Azure enruta el tráfico directamente al servicio a través de la red troncal de Azure en lugar de enrutar el tráfico a Internet. El tráfico entre los servicios de Azure no atraviesa Internet. No importa en qué región de Azure exista la red virtual o en qué región de Azure se implementa una instancia del servicio de Azure. Puede reemplazar la ruta del sistema predeterminada de Azure predeterminado para el prefijo de dirección 0.0.0.0/0 por una ruta personalizada.
No: el tráfico que se enruta al tipo de próximo salto No se elimina, en lugar de enrutarlo fuera de la subred. Azure crea automáticamente las rutas predeterminadas para los siguientes prefijos de dirección:
- 10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16: reservadas para el uso privado en el RFC 1918.
- 100.64.0.0/10: reservada en RFC 6598.
Si asigna cualquiera de los intervalos de direcciones anteriores del espacio de direcciones de una red virtual, Azure cambia automáticamente el tipo de próximo salto de la ruta de No a Red virtual. Si asigna un intervalo de direcciones al espacio de direcciones de una red virtual que incluya uno de los cuatro prefijos de direcciones reservadas, pero no es lo mismo que ellas, Azure quita la ruta del prefijo y agrega una ruta para el prefijo de dirección que agregó, con Virtual red como el tipo de próximo salto.
Rutas predeterminadas opcionales
Azure agrega más rutas del sistema predeterminadas para diferentes funcionalidades de Azure, pero solo si se habilitan las funcionalidades. En función de la funcionalidad, Azure agrega las rutas predeterminadas opcionales a subredes concretas de la red virtual o a todas las subredes de una red virtual. En la tabla siguiente se enumeran las otras rutas del sistema y los tipos de próximo salto que Azure podría agregar al habilitar diferentes funcionalidades.
Source | Prefijos de dirección | Tipo del próximo salto | La subred de red virtual a la que se agrega la ruta |
---|---|---|---|
Valor predeterminado | Único para la red virtual, por ejemplo: 10.1.0.0/16 | Emparejamiento de redes virtuales de Azure | All |
Puerta de enlace de red virtual | Prefijos anunciados desde el entorno local a través del Protocolo de puerta de enlace de borde (BGP) o configurados en la puerta de enlace de red local | Puerta de enlace de red virtual | All |
Valor predeterminado | Múltiple | VirtualNetworkServiceEndpoint |
Solo la subred para la que se habilita un punto de conexión de servicio |
Emparejamiento de red virtual: al crear un emparejamiento de red virtual entre dos redes virtuales, el sistema agrega una ruta para cada intervalo de direcciones en el espacio de direcciones de cada red virtual para la que se crea un emparejamiento. Más información acerca del emparejamiento de red virtual.
Puerta de enlace de red virtual: cuando una puerta de enlace de red virtual se agrega a una red virtual, se agregan también una o varias rutas en las que Puerta de enlace de red virtual aparece como el tipo de próximo salto. El origen es también una puerta de enlace de red virtual, ya que la puerta de enlace agrega las rutas a la subred. Si la puerta de enlace de red local intercambia rutas BGP con una puerta de enlace de red virtual, el sistema agrega una ruta para cada ruta. Estas rutas se propagan desde la puerta de enlace de red local. Se recomienda resumir las rutas locales al intervalo de direcciones más grande posible para propagar el menor número de rutas a una puerta de enlace de red virtual de Azure. Hay límites en el número de rutas que se pueden propagar a una puerta de enlace de red virtual de Azure. Para más información, consulte Límites de Azure.
VirtualNetworkServiceEndpoint
: Azure agrega las direcciones IP públicas de determinados servicios a la tabla de rutas cuando se habilita un punto de conexión para el servicio. Los puntos de conexión de servicio están habilitados para subredes individuales dentro de una red virtual, por lo que la ruta solo se agrega a la tabla de rutas de una subred para la que está habilitado un punto de conexión de servicio. Las direcciones IP públicas de los servicios de Azure cambian periódicamente. Azure administra automáticamente las direcciones en la tabla de rutas cuando cambian. Obtenga más información sobre puntos de conexión de servicio de red virtual y los servicios para los que puede crear puntos de conexión de servicio.Nota:
El emparejamiento de red virtual y tipos de próximo salto
VirtualNetworkServiceEndpoint
solo se agregan a tablas de rutas de subredes dentro de redes virtuales creadas mediante el modelo de implementación de Azure Resource Manager. Los tipos de próximo salto no se agregan a las tablas de rutas asociadas a las subredes de red virtual creadas mediante el modelo de implementación clásica. Obtenga más información acerca de los modelos de implementación de Azure.
Rutas personalizadas
Para crear rutas personalizadas, cree rutas definidas por el usuario rutas (UDR) o intercambiar rutas BGP entre la puerta de enlace de red local y una puerta de enlace de red virtual de Azure.
Definidas por el usuario
Para personalizar las rutas de tráfico, no debe modificar las rutas predeterminadas. Debe crear rutas personalizadas o definidas por el usuario (estáticas), que invalidan las rutas del sistema predeterminadas de Azure. En Azure, crea una tabla de rutas y la asocia a cero o más subredes de red virtual. Cada subred puede tener cero o una ruta de tablas de ruta asociada. Para obtener información sobre el número máximo de rutas que puede agregar a una tabla de rutas y el número máximo de tablas UDR que puede crear por suscripción de Azure, consulte límites de Azure.
De forma predeterminada, una tabla de rutas puede contener hasta 400 UDR. Con la configuración de enrutamiento de Azure Virtual Network Manager, este número puede ampliarse a 1.000 UDR por tabla de rutas. Este mayor límite admite configuraciones de enrutamiento más avanzadas. Un ejemplo es dirigir el tráfico desde centros de datos locales a través de un firewall a cada red virtual de radio en una topología en estrella tipo hub-and-spoke cuando tiene un mayor número de redes virtuales radiales.
Si crea una tabla de rutas y la asocia a una subred, las rutas de la tabla se combinan con las rutas predeterminadas de la subred. Si hay asignaciones de rutas en conflicto, las UDR invalidan las rutas predeterminadas.
Puede especificar los siguientes tipos de próximo salto al crear una UDR:
Aplicación virtual: una aplicación virtual es una máquina virtual que ejecuta normalmente una aplicación de red como, por ejemplo, un firewall. Para obtener información sobre varias aplicaciones virtuales de red preconfiguradas que puede implementar en una red virtual, consulte Azure Marketplace. Al crear una ruta con el tipo de salto de aplicación virtual, especifique también una dirección IP del próximo salto. La dirección IP puede ser:
La dirección IP privada de una interfaz de red conectada a una máquina virtual. Cualquier interfaz de red conectada a una máquina virtual que reenvíe el tráfico de red a una dirección que no sea la suya propia debe tener la opción Habilitar reenvío de IP habilitada. La configuración deshabilita la comprobación del origen y el destino de una interfaz de red por parte de Azure. Obtenga más información acerca de cómo habilitar el reenvío IP en una interfaz de red. Habilitar el reenvío IP es una configuración de Azure.
Es posible que tenga que habilitar el reenvío IP dentro del sistema operativo de la máquina virtual para que el dispositivo reenvíe el tráfico entre direcciones IP privadas asignadas a interfaces de red de Azure. Si el dispositivo necesita enrutar el tráfico a una dirección IP pública, debe redirigir mediante proxy el tráfico o realizar la traducción de direcciones de red (NAT) desde la dirección IP privada del origen hasta su propia dirección IP privada. Después, Azure realiza la NAT en una dirección IP pública antes de enviar el tráfico a Internet. Para determinar la configuración necesaria en la máquina virtual, consulte la documentación del sistema operativo o la aplicación de red. Para obtener información acerca de las conexiones salientes en Azure, consulte Información acerca de las conexiones salientes.
Nota:
Implemente una aplicación virtual en una subred diferente la que se encuentran los recursos que enrutan a través de la aplicación virtual. La implementación de la aplicación virtual en la misma subred y la posterior aplicación de una tabla de rutas en la subred que enruta el tráfico a través de la aplicación virtual pueden provocar bucles de enrutamiento, en los que el tráfico nunca sale de la subred.
Una dirección IP privada del próximo salto debe tener conectividad directa sin tener que enrutar a través de una puerta de enlace de Azure ExpressRoute o a través de Azure Virtual WAN. Si se establece el próximo salto en una dirección IP sin conectividad directa, se produce una configuración UDR no válida.
La dirección IP privada de un equilibrador de carga interno de Azure. A menudo se usa un equilibrador de carga como parte de una estrategia de alta disponibilidad para aplicaciones virtuales de red.
Puede definir una ruta usando 0.0.0.0/0 como prefijo de la dirección y un tipo de próximo salto de aplicación virtual. Esta configuración permite al dispositivo inspeccionar el tráfico y determinar si se reenvía o se anula el tráfico. Si tiene intención de crear una UDR que contenga el prefijo de dirección 0.0.0.0/0, consulte antes el apartado prefijo de dirección 0.0.0.0/0.
Puerta de enlace de red virtual: se especifica cuando se desea que el tráfico destinado a prefijos de dirección específicos se enrute a una puerta de enlace de red virtual. La puerta de enlace de red virtual debe crearse con el tipo VPN. No se puede especificar una puerta de enlace de red virtual creada como el tipo ExpressRoute en una UDR porque con ExpressRoute, debe usar BGP para rutas personalizadas. Tampoco puede especificar puertas de enlace de red virtual si tiene conexiones coexistentes de red privada virtual (VPN) y ExpressRoute. Puede definir una ruta que dirige el tráfico destinado al prefijo de dirección 0.0.0.0/0 a una puerta de enlace de red virtual basada en ruta.
En un entorno local, puede tener un dispositivo que compruebe el tráfico y determine si se reenvía o se elimina. Si piensa crear un UDR para el prefijo de dirección 0.0.0.0/0, lea prefijo de dirección 0.0.0.0/0 primero. En lugar de configurar una UDR para el prefijo de dirección 0.0.0.0/0, puede anunciar una ruta con el prefijo 0.0.0.0/0 a través de BGP si el BGP para una puerta de enlace de red virtual VPN está habilitado.
Ninguna: se especifica cuando se desea colocar tráfico en un prefijo de dirección, en lugar de reenviar el tráfico a un destino. Azure puede mostrar Ninguno para algunas de las rutas del sistema opcionales si no está configurada una funcionalidad. Por ejemplo, si ve que Dirección IP de siguiente salto muestra Ninguna y Tipo de siguiente salto muestra Puerta de enlace de red virtual o Aplicación virtual, puede deberse a que el dispositivo no se está ejecutando o no está totalmente configurado. Azure crea rutas predeterminadas del sistema para los prefijos de direcciones reservados con No como tipo de próximo salto.
Red virtual: especifique la opción de red virtual si desea reemplazar el enrutamiento predeterminado en una red virtual. Para ver un ejemplo de por qué puede crear una ruta con el tipo de salto Red virtual, consulte Ejemplo de enrutamiento.
Internet: especifique la opción Internet cuando desee enrutar explícitamente el tráfico destinado a un prefijo de dirección a Internet. O úselo si quiere que el tráfico destinado a los servicios de Azure con direcciones IP públicas se mantenga dentro de la red troncal de Azure.
No se puede especificar emparejamiento de red virtual o VirtualNetworkServiceEndpoint
como el tipo de próximo salto en UDR. Azure crea rutas con emparejamiento de red virtual o tipos de próximo salto VirtualNetworkServiceEndpoint
solo cuando se configura un emparejamiento de red virtual o un punto de conexión de servicio.
Etiquetas de servicio para rutas definidas por el usuario
Ahora puede especificar una etiqueta de servicio como prefijo de dirección para un UDR en lugar de un intervalo IP explícito. Una etiqueta de servicio representa un grupo de prefijos de dirección IP de un servicio de Azure determinado. Microsoft administra los prefijos de direcciones que la etiqueta de servicio incluye y actualiza automáticamente dicha etiqueta a medida que las direcciones cambian. Así se minimiza la complejidad de las actualizaciones frecuentes de las rutas definidas por el usuario y se reduce el número de rutas que hay que crear. Actualmente, puede crear 25 o menos rutas con etiquetas de servicio en cada tabla de rutas. Con esta versión, también se admite el uso de etiquetas de servicio en escenarios de enrutamiento para contenedores.
Coincidencia exacta
El sistema da preferencia a la ruta con el prefijo explícito cuando hay una coincidencia exacta de prefijo entre una ruta con un prefijo de IP explícito y una ruta con una etiqueta de servicio. Cuando varias rutas con etiquetas de servicio tienen prefijos de IP que coinciden, las rutas se evalúan en el orden siguiente:
Etiquetas regionales (por ejemplo,
Storage.EastUS
oAppService.AustraliaCentral
)Etiquetas de nivel superior (por ejemplo,
Storage
oAppService
)Etiquetas regionales
AzureCloud
(por ejemplo,AzureCloud.canadacentral
oAzureCloud.eastasia
)Etiqueta
AzureCloud
Para usar esta característica, especifique un nombre de etiqueta de servicio para el parámetro de prefijo de dirección en los comandos de la tabla de rutas. Por ejemplo, en PowerShell puede crear una nueva ruta para dirigir el tráfico enviado a un prefijo IP de Azure Storage a una aplicación virtual mediante este comando:
$param = @{
Name = 'StorageRoute'
AddressPrefix = 'Storage'
NextHopType = 'VirtualAppliance'
NextHopIpAddress = '10.0.100.4'
}
New-AzRouteConfig @param
El mismo comando para la CLI de Azure es:
az network route-table route create \
--resource-group MyResourceGroup \
--route-table-name MyRouteTable \
--name StorageRoute \
--address-prefix Storage \
--next-hop-type VirtualAppliance \
--next-hop-ip-address 10.0.100.4
Tipos de próximo salto en las herramientas de Azure
El nombre que se muestra y al que hace referencia en los tipos de próximo salto es diferente entre Azure Portal y las herramientas de línea de comandos y los modelos de implementación clásico y mediante Resource Manager. En la siguiente tabla se enumeran los nombres que se usan para hacer referencia a cada tipo de próximo salto con las diferentes herramientas y los modelos de implementación.
Tipo de próximo salto | CLI de Azure y PowerShell (Resource Manager) | CLI clásica de Azure y PowerShell (clásico) |
---|---|---|
Puerta de enlace de red virtual | VirtualNetworkGateway |
VPNGateway |
Red virtual | VNetLocal |
VNETLocal (no disponible en la CLI clásica en el modo de modelo de implementación clásica) |
Internet | Internet | Internet (no disponible en la CLI clásica en el modo de modelo de implementación clásica) |
Aplicación virtual | VirtualAppliance |
VirtualAppliance |
Ninguno | Ninguno | Null (no disponible en la CLI clásica en el modo de modelo de implementación clásica) |
Emparejamiento de redes virtuales de Azure | Emparejamiento de redes virtuales de Azure | No aplicable |
Puntos de conexión de servicio de red virtual | VirtualNetworkServiceEndpoint |
No aplicable |
Border Gateway Protocol
Una puerta de enlace de red local puede intercambiar rutas con una puerta de enlace de red virtual de Azure mediante BGP. El uso del BGP con una puerta de enlace de red virtual de Azure depende del tipo seleccionado al crear la puerta de enlace:
- ExpressRoute: debe usar BGP para anunciar rutas locales para el enrutador perimetral de Microsoft. No puede crear una UDR para forzar el tráfico a la puerta de enlace de red virtual de ExpressRoute si implementa una puerta de enlace de red virtual implementada como el tipo ExpressRoute. Puede usar UDR para forzar el tráfico desde la ruta rápida a, por ejemplo, una aplicación virtual de red.
- VPN: opcionalmente, puede usar BGP. Para obtener más información, consulte BGP con conexiones VPN de sitio a sitio.
Al intercambiar rutas con Azure mediante BGP, se agrega una ruta independiente a la tabla de rutas de todas las subredes de una red virtual para cada prefijo anunciado. La ruta se agrega con Puerta de enlace de red virtual como origen y tipo de próximo salto.
Puede deshabilitar la propagación de rutas de ExpressRoute y Azure VPN Gateway en una subred mediante una propiedad en una tabla de rutas. Al deshabilitar la propagación de rutas, el sistema no agrega rutas a la tabla de rutas de todas las subredes que tengan la propagación de rutas de puerta de enlace de red virtual deshabilitada. Este proceso se aplica tanto a rutas estáticas como a rutas de BGP. La conectividad con las conexiones VPN se logra mediante rutas personalizadas con un próximo salto de tipo Puerta de enlace de red virtual. Para más información, consulte Deshabilitación de la propagación de rutas de puerta de enlace de red virtual.
Nota:
La propagación de rutas no debe deshabilitarse en GatewaySubnet
. La puerta de enlace no funcionará si esta configuración está deshabilitada.
Selección de rutas por parte de Azure
Cuando se envía tráfico saliente desde una subred, Azure selecciona una ruta en función de la dirección IP de destino y se usa el algoritmo de coincidencia de prefijo más largo. Por ejemplo, una tabla de rutas tiene dos rutas. Una ruta especifica el prefijo de dirección 10.0.0.0/24, y la otra ruta especifica el prefijo de dirección 10.0.0.0/16.
Azure dirige el tráfico destinado a 10.0.0.5 al tipo de próximo salto especificado en la ruta con el prefijo de dirección 10.0.0.0/24. Este proceso se produce porque 10.0.0.0/24 es un prefijo más largo que 10.0.0.0/16, aunque 10.0.0.5 se encuentre dentro de ambos prefijos de dirección.
Azure dirige el tráfico destinado a 10.0.1.5 al tipo de próximo salto especificado en la ruta con el prefijo de dirección 10.0.0.0/16. Este proceso se produce porque 10.0.1.5 no se incluye en el prefijo de dirección 10.0.0.0/24, lo que hace que la ruta con el prefijo de dirección 10.0.0.0/16 sea el prefijo coincidente más largo.
Si varias rutas contienen el mismo prefijo de dirección, Azure selecciona el tipo de ruta, en función de la siguiente prioridad:
Ruta definida por el usuario
Ruta BGP
Ruta del sistema
Nota:
Las rutas de sistema para el tráfico relacionado con la red virtual, los emparejamientos de la red virtual o los puntos de conexión de servicio de red virtual son las rutas preferidas. Se prefieren, incluso si las rutas BGP son más específicas. Las rutas con un punto de conexión de servicio de red virtual como el tipo de próximo salto no se pueden invalidar, incluso cuando se usa una tabla de rutas.
Por ejemplo, una tabla de rutas contiene las rutas siguientes:
Source | Prefijos de dirección | Tipo del próximo salto |
---|---|---|
Valor predeterminado | 0.0.0.0/0 | Internet |
Usuario | 0.0.0.0/0 | Puerta de enlace de red virtual |
Cuando el destino del tráfico es una dirección IP que está fuera de los prefijos de dirección de las otras rutas de la tabla de rutas, Azure selecciona la ruta con el origen Usuario. Azure elige esta opción porque las UDR son una prioridad más alta que las rutas predeterminadas del sistema.
Para obtener una tabla de enrutamiento completa con explicaciones de las rutas de la tabla, consulte ejemplo de enrutamiento.
Prefijo de dirección 0.0.0.0/0
Una ruta con el prefijo de dirección 0.0.0.0/0 proporciona instrucciones a Azure. Azure usa estas instrucciones para enrutar el tráfico destinado a una dirección IP que no está dentro del prefijo de dirección de ninguna otra ruta en una tabla de rutas de una subred. Cuando se crea una subred, Azure crea un ruta predeterminada para el prefijo de dirección 0.0.0.0/0, con el tipo de próximo salto Internet. Si no reemplaza esta ruta, Azure enruta a Internet todo el tráfico destinado a direcciones IP no incluidas en el prefijo de dirección de otra ruta.
La excepción es que el tráfico dirigido a las direcciones IP públicas de los servicios de Azure permanece en la red troncal de Azure y no se enruta a Internet. Al invalidar esta ruta con una ruta personalizada, se dirige el tráfico destinado a direcciones que no están dentro de los prefijos de dirección de cualquier otra ruta de la tabla de rutas. El destino depende de si especifica una aplicación virtual de red o una puerta de enlace de red virtual en la ruta personalizada.
Al invalidar el prefijo de dirección 0.0.0.0/0, el tráfico saliente de la subred fluye a través de la puerta de enlace de red virtual o la aplicación virtual. Los siguientes cambios también se producen con el enrutamiento predeterminado de Azure:
Azure envía todo el tráfico al tipo de próximo salto especificado en la ruta, lo que incluye el tráfico destinado a las direcciones IP públicas de los servicios de Azure.
Cuando el tipo de próximo salto de la ruta con el prefijo de dirección 0.0.0.0/0 es Internet, el tráfico de la subred destinada a las direcciones IP públicas de los servicios de Azure nunca sale de la red troncal de Azure, independientemente de la región de Azure en la que exista la red virtual o el recurso de servicio de Azure.
Cuando se crea una UDR o una ruta BGP con un tipo de próximo salto Pasarela de red virtual o Aplicación virtual, todo el tráfico se envía al tipo de próximo salto especificado en la ruta. Esto incluye el tráfico enviado a direcciones IP públicas de los servicios de Azure para los que no ha habilitado puntos de conexión de servicio.
Al habilitar un punto de conexión de servicio para un servicio, Azure crea una ruta con prefijos de dirección para el servicio. El tráfico al servicio no enruta al tipo de próximo salto en una ruta con el prefijo de dirección 0.0.0.0/0. Los prefijos de dirección para el servicio son más largos que 0.0.0.0/0.
Ya no puede acceder directamente a los recursos de la subred desde Internet. Puede acceder a los recursos de la subred desde Internet indirectamente. El dispositivo especificado por el tipo de próximo salto para una ruta con el prefijo de dirección 0.0.0.0/0 debe procesar el tráfico entrante. Una vez que el tráfico atraviesa el dispositivo, el tráfico llega al recurso de la red virtual. Si la ruta contiene los siguientes valores del tipo de salto próximo:
Aplicación virtual: la aplicación debe:
- Ser accesible desde Internet.
- Tener una dirección IP pública asignada.
- No tener una regla del grupo de seguridad de red asociada a él que impide la comunicación con el dispositivo.
- No denegar la comunicación.
- Poder traducir y reenviar direcciones de red, o desviar el tráfico a través de un servidor proxy al recurso de destino de la subred y devolver el tráfico a Internet.
Puerta de enlace de red virtual: si la puerta de enlace es una puerta de enlace de red virtual ExpressRoute, un dispositivo local conectado a Internet puede traducir y reenviar direcciones de red, o bien desviar el tráfico a través de un servidor proxy al recurso de destino de la subred a través del emparejamiento privado de ExpressRoute.
Si la red virtual está conectada a una instancia de Azure VPN Gateway, no asocie una tabla de rutas a la subred de puerta de enlace que incluya una ruta con un destino 0.0.0.0/0. Si lo hace, puede que la puerta de enlace no funcione correctamente. Para más información, consulte ¿Por qué se abren determinados puertos en mi puerta de enlace de VPN?
Para obtener detalles de implementación cuando se utilizan pasarelas de red virtuales entre Internet y Azure, consulte DMZ entre Azure y su centro de datos local.
Ejemplo de enrutamiento
Para ilustrar los conceptos de este artículo, en las siguientes secciones se describen:
- Un escenario con requisitos.
- Las rutas personalizadas necesarias para cumplir los requisitos.
- Las tabla de rutas que existe para una subred que incluye las rutas predeterminadas y personalizadas necesarias para cumplir los requisitos.
Nota:
Este ejemplo no pretende ser una implementación aconsejable ni unos procedimientos recomendados. Solo se proporciona para ilustrar los conceptos de este artículo.
Requisitos
Implementar dos redes virtuales en la misma región de Azure y habilitar los recursos necesarios para la comunicación entre las redes virtuales.
Habilitar una red local para comunicarse de forma segura con ambas redes virtuales mediante un túnel VPN a través de Internet. Alternativamente, puede usar una conexión ExpressRoute, pero en este ejemplo se usa una conexión VPN.
Para una subred de una red virtual:
- Enrute todo el tráfico saliente desde la subred a través de una aplicación virtual de red para la inspección y el registro. Excluya el tráfico a Azure Storage y dentro de la subred de este enrutamiento.
- No inspeccione el tráfico entre direcciones IP privadas dentro de la subred. Permitir que el tráfico fluya directamente entre todos los recursos.
- Eliminar todo el tráfico saliente destinado a la otra red virtual.
- Habilitar el tráfico saliente a Azure Storage para que fluya directamente al almacenamiento, sin hacerle pasar por una aplicación virtual de red.
Permitir todo el tráfico entre las restantes subredes y las redes virtuales.
Implementación
En el diagrama siguiente se muestra una implementación a través del modelo de implementación de Resource Manager que cumple los requisitos anteriores.
Las flechas muestran el flujo de tráfico.
Tablas de ruta
Estas son las tablas de rutas del ejemplo de enrutamiento anterior.
Subnet1
La tabla de rutas de Subnet1 del diagrama anterior contiene las rutas siguientes:
ID | Source | State | Prefijos de dirección | Tipo de próximo salto | Dirección IP de siguiente salto | Nombre UDR |
---|---|---|---|---|---|---|
1 | Valor predeterminado | No válida | 10.0.0.0/16 | Virtual network | ||
2 | Usuario | Active | 10.0.0.0/16 | Aplicación virtual | 10.0.100.4 | Within-VNet1 |
3 | Usuario | Active | 10.0.0.0/24 | Virtual network | Within-Subnet1 | |
4 | Valor predeterminado | No válida | 10.1.0.0/16 | Emparejamiento de redes virtuales de Azure | ||
5 | Valor predeterminado | No válida | 10.2.0.0/16 | Emparejamiento de redes virtuales de Azure | ||
6 | Usuario | Active | 10.1.0.0/16 | None | ToVNet2-1-Drop | |
7 | Usuario | Active | 10.2.0.0/16 | None | ToVNet2-2-Drop | |
8 | Valor predeterminado | No válida | 10.10.0.0/16 | Puerta de enlace de red virtual | [X.X.X.X] | |
9 | Usuario | Active | 10.10.0.0/16 | Aplicación virtual | 10.0.100.4 | To-On-Prem |
10 | Valor predeterminado | Active | [X.X.X.X] | VirtualNetworkServiceEndpoint |
||
11 | Valor predeterminado | No válida | 0.0.0.0/0 | Internet | ||
12 | Usuario | Active | 0.0.0.0/0 | Aplicación virtual | 10.0.100.4 | Default-NVA |
Esta es una explicación de cada identificador de ruta:
ID1: Azure agregó automáticamente esta ruta a todas las subredes de Virtual-network-1, ya que 10.0.0.0/16 es el único intervalo de direcciones definido en el espacio de direcciones de la red virtual. Si no crea la UDR en la ruta ID2, el tráfico enviado a cualquier dirección entre 10.0.0.1 y 10.0.255.254 se enruta dentro de la red virtual. Este proceso se produce porque el prefijo es mayor que 0.0.0.0/0 y no se encuentra dentro de los prefijos de dirección de ninguna otra ruta.
Azure cambió automáticamente el estado de Active a No válido, cuando se agregó ID2, una UDR. Tiene el mismo prefijo que la ruta predeterminada y las UDR invalidan las rutas predeterminadas. El estado de esta ruta sigue Activo para Subnet2 porque la tabla de rutas en la que la UDR, ID2, no está asociada a Subnet2.
ID2: Azure agregó esta ruta cuando un UDR para el prefijo de dirección 10.0.0.0/16 estaba asociado a la subred Subnet1 en la red virtual de virtual-network-1. La UDR especifica 10.0.100.4 como dirección IP de la aplicación virtual, porque la dirección es la dirección IP privada asignada a la máquina virtual de la aplicación virtual. La tabla de rutas en la que existe esta ruta no está asociada a Subnet2, por lo que la ruta no aparece en la tabla de rutas para Subnet2.
Esta ruta reemplaza la ruta predeterminada del prefijo 10.0.0.0/16 (ID1), que enruta automáticamente el tráfico dirigido a 10.0.0.1 y 10.0.255.254 dentro de la red virtual a través del tipo de próximo salto de la red virtual. Esta ruta existe para cumplir el requisito 3, que es forzar todo el tráfico saliente a través de una aplicación virtual.
ID3: Azure agregó esta ruta cuando una UDR para el prefijo de red 10.0.0.0/24 se asoció a la subred Subnet1. El tráfico destinado a direcciones entre 10.0.0.1 y 10.0.0.254 permanece dentro de la subred. El tráfico no se enruta a la aplicación virtual especificada en la regla anterior (ID2), porque tiene un prefijo más largo que la ruta ID2.
La tabla de rutas no estaba asociada a Subnet2, por lo que la ruta no aparece en la tabla de rutas de Subnet2. Esta ruta reemplaza eficazmente la ruta ID2 para el tráfico de Subnet1. Esta ruta existe para cumplir el requisito 3.
ID4: Azure agregó automáticamente las rutas de los identificadores 4 y 5 para todas las subredes de Virtual-network-1, cuando la red virtual se emparejó con Virtual-network-2. Virtual-network-2 tiene dos intervalos de direcciones en su espacio de direcciones: 10.1.0.0/16 y 10.2.0.0/16, por lo que Azure agregó una ruta a cada intervalo. Si no crea UDR en los ID de ruta 6 y 7, el tráfico enviado a cualquier dirección entre 10.1.0.1-10.1.255.254 y 10.2.0.1-10.2.255.254 se enruta a la red virtual del mismo nivel. Este proceso se produce porque el prefijo es mayor que 0.0.0.0/0 y no se encuentra dentro de los prefijos de dirección de ninguna otra ruta.
Cuando agregó las rutas en los ID 6 y 7, Azure cambió automáticamente el estado de Activo a No válido. Este proceso se produce porque tienen los mismos prefijos que las rutas en los identificadores 4 y 5, y las UDR invalidan las rutas predeterminadas. El estado de las rutas de los identificadores 4 y 5 sigue Activo para Subnet2 porque la tabla de rutas en la que las UDR de los identificadores 6 y 7 no están asociadas a Subnet2. Se ha creado un emparejamiento de red virtual para cumplir el requisito 1.
ID5: la misma explicación que para ID4.
ID6: Azure agregó esta ruta y la ruta en ID7 cuando las UDR para los prefijos de dirección 10.1.0.0/16 y 10.2.0.0/16 estaban asociados a la subred Subnet1. Azure anula el tráfico destinado a direcciones entre 10.1.0.1-10.1.255.254 y 10.2.0.1-10.2.255.254, en lugar de enrutarlas a la red virtual emparejada, porque las UDR reemplazan a las rutas predeterminadas. Las rutas no están asociadas a Subnet2, por lo que no aparecen en la tabla de rutas de Subnet2. Las rutas reemplazan las rutas ID4 y ID5 en el caso del tráfico que sale del Subnet1. Las rutas ID6 y ID7 existen para satisfacer el requisito 3 de eliminación del tráfico destinado a la otra red virtual.
ID7: la misma explicación que para ID6.
ID8: Azure agregó automáticamente esta ruta para todas las subredes de Virtual-network-1 cuando se creó una puerta de enlace de red virtual de tipo VPN en la red virtual. Azure agregó la dirección IP pública de la puerta de enlace de red virtual a la raba de rutas. El tráfico enviado a cualquier dirección entre 10.10.0.1 y 10.10.255.254 se enruta a la puerta de enlace de red virtual. El prefijo es más largo que 0.0.0.0/0 y no está dentro de los prefijos de dirección de las restantes rutas. Se ha creado una puerta de enlace de red virtual para cumplir el requisito 2.
ID9: Azure agregó esta ruta cuando se agregó una UDR para el prefijo de dirección 10.10.0.0/16 a la tabla de rutas asociada a Subnet1. Esta ruta reemplaza ID8. La ruta envía todo el tráfico destinado a la red local a una aplicación virtual de red para su inspección, en lugar de enrutar el tráfico directamente en el entorno local. Esta ruta se ha creado para cumplir el requisito 3.
ID10: Azure agregó automáticamente esta ruta a la subred cuando un punto de conexión de servicio a un servicio de Azure se habilitó para la subred. Azure enruta el tráfico de la subred a una dirección IP pública del servicio, a través de la red de la infraestructura de Azure. El prefijo es más largo que 0.0.0.0/0 y no está dentro de los prefijos de dirección de las restantes rutas. Se ha creado un punto de conexión de servicio para cumplir el requisito 3, con el fin de habilitar que el tráfico destinado a Azure Storage que fluya directamente a dicho servicio.
ID11: Azure agregó automáticamente esta ruta a la tabla de rutas de todas las subredes de Virtual-network-1 y Virtual-network-2. El prefijo de dirección 0.0.0.0/0 es el más corto. Todo el tráfico enviado a direcciones de un prefijo de dirección más largo se enrutan en función de otras rutas.
De forma predeterminada, Azure enruta todo el tráfico destinado a aquellas direcciones que no sean las especificadas en una de las otras rutas a Internet. Azure ha cambiado automáticamente el estado de Activo a No válido para la subred Subnet1 cuando una UDR para el prefijo de dirección 0.0.0.0/0 (ID12) se ha asociado a la subred. El estado de esta ruta sigue siendo Activo para las restantes subredes de ambas redes virtuales, ya que la ruta no está asociada a otras subredes de otras redes virtuales.
ID12: Azure agregó esta ruta cuando una UDR para el prefijo de red 0.0.0.0/0 se asoció a la subred Subnet1. La UDR especifica 10.0.100.4 como dirección IP de la aplicación virtual. Esta ruta no está asociada a Subnet2, por lo que no aparece en la tabla de rutas de Subnet2. Todo el tráfico de cualquier dirección no incluida en los prefijos de dirección de cualquiera de las otras rutas se envía a la aplicación virtual.
La adición de esta ruta ha cambiado el estado de la ruta predeterminada para el prefijo de dirección 0.0.0.0/0 (ID11) de Activo a No válido para Subnet1, porque una UDR reemplaza a una ruta predeterminada. Esta ruta existe para cumplir el requisito 3.
Subnet2
La tabla de rutas de Subnet2 del diagrama anterior contiene las rutas siguientes:
Source | State | Prefijos de dirección | Tipo de próximo salto | Dirección IP de siguiente salto |
---|---|---|---|---|
Valor predeterminado | Active | 10.0.0.0/16 | Virtual network | |
Valor predeterminado | Active | 10.1.0.0/16 | Emparejamiento de redes virtuales de Azure | |
Valor predeterminado | Active | 10.2.0.0/16 | Emparejamiento de redes virtuales de Azure | |
Valor predeterminado | Active | 10.10.0.0/16 | Puerta de enlace de red virtual | [X.X.X.X] |
Valor predeterminado | Active | 0.0.0.0/0 | Internet | |
Valor predeterminado | Activo | 10.0.0.0/8 | None | |
Valor predeterminado | Active | 100.64.0.0/10 | None | |
Valor predeterminado | Activo | 192.168.0.0/16 | None |
La tabla de rutas de Subnet2 contiene todas las rutas predeterminadas creadas por Azure y el emparejamiento de red virtual opcional y las rutas opcionales de la puerta de enlace de red virtual. Azure ha agregado las rutas opcionales a todas las subredes de la red virtual cuando tanto la puerta de enlace como el emparejamiento se han agregado a la red virtual.
Azure ha quitado las rutas de los prefijos de dirección 10.0.0.0/8, 192.168.0.0/16 y 100.64.0.0/10 de la tabla de rutas de Subnet1 cuando la UDR del prefijo de dirección 0.0.0.0/0 se ha agregado a Subnet1.
Contenido relacionado
- Creación de una tabla UDR con rutas y una aplicación virtual de red.
- Configuración de BGP para Azure VPN Gateway con PowerShell.
- Uso de BGP con ExpressRoute.
- Solución de problemas de rutas mediante Azure Portal. Una tabla UDR muestra solo las UDR, no las rutas predeterminadas y BGP para una subred. La visualización de todas las rutas muestra los valores predeterminados, BGP y UDR de la subred en la que se encuentra una interfaz de red.
- Determine el tipo de próximo salto entre una máquina virtual y una dirección IP de destino. Puede usar la característica de próximo salto de Azure Network Watcher para determinar si el tráfico sale de una subred y se enruta a dónde cree que debe ser.