Enrutamiento del tráfico de redes virtuales
Aprenda la forma en que Azure enruta el tráfico entre los recursos locales y de Internet de Azure. 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 ni eliminar rutas del sistema, pero puede reemplazar algunas de ellas por 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. Aunque una red virtual contiene subredes y cada una de ellas tiene un intervalo de direcciones definido, Azure no crea rutas predeterminadas para los 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 uno de los servicios de Azure, este enruta el tráfico directamente al servicio a través de la red troncal de Azure, en lugar de enrutarlo a Internet. El tráfico entre los servicios de Azure no atraviesa Internet, independientemente de la región de Azure en que exista la red virtual o de la región de Azure en que se implemente 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 un ruta personalizada.
Ninguna: el tráfico que se enruta al tipo de próximo salto Ninguno 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. Las otras rutas del sistema y tipos de próximo salto que Azure puede agregar al habilitar diferentes funcionalidades son los siguientes:
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 VNET | All |
Puerta de enlace de red virtual | Prefijos anunciados desde el entorno local a través de BGP, o bien 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 (VNet): 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 las rutas del protocolo de puerta de enlace de borde (BGP) con una puerta de enlace de red virtual, el sistema agrega una ruta por cada ruta. Estas rutas se propagan desde la puerta de enlace de red local. Se recomienda resumir las rutas locales para los intervalos de direcciones más grandes posibles, con el fin de que se propague 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 el artículo acerca de los 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 se habilitan para las subredes individuales de una red virtual, por lo que la ruta solo se agrega a la tabla de rutas de una subred para la que haya algún punto de conexión de servicio habilitado. 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 acerca de los puntos de conexión de servicio de red virtual y los servicios para los que se pueden crear puntos de conexión de servicio.
Nota:
El tipos de próximo salto Emparejamiento de VNet y VirtualNetworkServiceEndpoint solo se agregan a las tablas de rutas de las subredes de las redes virtuales creadas a través del 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 o intercambie rutas del protocolo Border Gateway Protocol (BGP) entre su 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, sino crear rutas personalizadas o definidas por el usuario (estáticas) que anulen las rutas predeterminadas del sistema Azure. En Azure, cree una tabla de rutas y asóciela 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 acerca del número máximo de rutas que puede agregar a una tabla de rutas y del número máximo de tablas de rutas definidas por el usuario que se pueden crear por suscripción de Azure, consulte el artículo acerca de los límites de Azure. 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 rutas definidas por el usuario invalidarán las rutas predeterminadas.
Puede especificar los siguientes tipos de próximo salto al crear una ruta definida por el usuario:
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 más información sobre las aplicaciones virtuales de red preconfiguradas que se pueden implementar en una red virtual, visite 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. El valor deshabilita la comprobación que realiza Azure del origen y destino en una interfaz de red. Obtenga más información acerca de cómo habilitar el reenvío IP en una interfaz de red. Aunque Habilitar reenvío de IP es un valor de Azure, es posible que también necesite habilitar el reenvío IP en el sistema operativo de la máquina virtual para que el dispositivo desvíe el tráfico entre las 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 conexión directa sin tener que enrutar a través de la puerta de enlace de ExpressRoute o Virtual WAN. Al establecer el próximo salto en una dirección IP sin conexión directa, resulta en una configuración de enrutamiento definida por el usuario 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 definida por el usuario que contenga el prefijo de dirección 0.0.0.0/0, consulte antes el apartado 0.0.0.0/0 address prefix (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 con el tipo ExpressRoute en una ruta definida por el usuario, ya que con ExpressRoute es preciso usar BGP para las rutas personalizadas. Tampoco puede especificar puertas de red virtuales si tiene conexiones VPN y ExpressRoute coexistentes. 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 tiene intención de crear una definida por el usuario para el prefijo de dirección 0.0.0.0/0, consulte antes el apartado 0.0.0.0/0 address prefix (Prefijo de dirección 0.0.0.0/0). En lugar de configurar una ruta definida por el usuario para el prefijo de dirección 0.0.0.0/0, es posible anunciar una ruta con el prefijo 0.0.0.0/0 a través de BGP, si ha habilitado BGP para una puerta de enlace de red virtual de VPN.
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. Si no ha configurado completamente una funcionalidad, Azure puede enumerar No para algunas de las rutas de opcional del sistema. Por ejemplo, si ve No en Dirección IP del próximo salto con un Tipo de próximo salto de Puerta de enlace de red virtual o Aplicación virtual, puede deberse a que el dispositivo no funciona o no está completamente 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. Consulte Ejemplo de enrutamiento, para ver un ejemplo de por qué puede crear una ruta con el tipo de salto Red virtual.
Internet: especifique la opción de Internet si desea enrutar explícitamente el tráfico destinado a un prefijo de dirección a Internet o si desea que el tráfico destinado a los servicios de Azure con direcciones IP públicas se conserve dentro de la red troncal de Azure.
En las rutas definidas por el usuario, no se puede especificar emparejamiento de red virtual o VirtualNetworkServiceEndpoint como tipo de próximo salto. Las rutas con los tipos de próximo salto emparejamiento de red virtual o VirtualNetworkServiceEndpoint solo las crea Azure al configurar 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 de una ruta definida por el usuario en lugar de un intervalo IP explícito. Una etiqueta de servicio representa un grupo de prefijos de direcciones 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 hasta 25 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, AppService.AustraliaCentral)
Etiquetas de nivel superior (por ejemplo, Storage, AppService)
Etiquetas regionales de AzureCloud (por ejemplo, AzureCloud.canadacentral, AzureCloud.eastasia)
La etiqueta de 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 ruta para dirigir el tráfico enviado a un prefijo de IP de Azure Storage a un dispositivo virtual usando:
$param = @{
Name = 'StorageRoute'
AddressPrefix = 'Storage'
NextHopType = 'VirtualAppliance'
NextHopIpAddress = '10.0.100.4'
}
New-AzRouteConfig @param
El mismo comando para la CLI es el siguiente:
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 Azure 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 |
Virtual network | VNetLocal | VNETLocal (no disponible en la CLI clásica en modo de administración de servicios) |
Internet | Internet | Internet (no disponible en la CLI clásica en modo de administración de servicios) |
Aplicación virtual | VirtualAppliance | VirtualAppliance |
None | None | Nulo (no disponible en la CLI clásica en modo de administración de servicios) |
Emparejamiento de redes virtuales de Azure | Emparejamiento de VNET | 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 el protocolo Border Gateway Protocol (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 de Microsoft Edge. No puede crear rutas definidas por el usuario para forzar el tráfico hacia la puerta de enlace de red virtual de ExpressRoute si implementa una puerta de enlace de red virtual con el tipo: ExpressRoute. Puede usar las rutas definidas por el usuario para forzar el tráfico de Express Route a, por ejemplo, una aplicación virtual de red.
VPN: opcionalmente, puede usar BGP. Para más información, consulte Información general de BGP con puertas de enlace de VPN de Azure.
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.
La propagación del enrutamiento de ER y VPN Gateway se puede deshabilitar 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. La propagación de rutas no debe deshabilitarse en GatewaySubnet. La puerta de enlace no funcionará con este parámetro deshabilitado. Para más información, consulte How to disable Virtual network gateway route propagation (Deshabilitar la propagación de rutas de la puerta de enlace de red virtual).
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, mientras que 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 con coincidencia más larga.
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, aunque las rutas BGP sean más específicas.
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, porque las rutas definidas por el usuario tienen mayor prioridad que las rutas predeterminadas del sistema.
Para ver una tabla de enrutamiento completa con explicaciones de las rutas, consulte el 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.
Si se reemplaza el prefijo de dirección 0.0.0.0/0, además del tráfico de salida de la subred que fluye a través de la puerta de enlace de red virtual o de la aplicación virtual, se producen también los siguientes cambios en 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 destinado a las direcciones IP públicas de los servicios de Azure no sale de la red troncal de Azure, independientemente de la región de Azure en que existan la red virtual o un recurso de servicio de Azure. Sin embargo, cuando se crea una ruta BGP o definida por el usuario con un tipo de próximo salto de puerta de enlace de red virtual o aplicación virtual, todo el tráfico, lo que incluye el tráfico enviado a las direcciones IP públicas de los servicios de Azure en el que no se hayan habilitado puntos de conexión de servicio, se envía al tipo de próximo salto especificado en la ruta. 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 se 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 mediante 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 la pregunta ¿Por qué hay algunos puertos abiertos en mi puerta de enlace de VPN? en las Preguntas más frecuentes sobre VPN Gateway.
Para obtener información sobre la implementación al usar puertas de enlace de redes virtuales entre Internet y Azure, consulte Red perimetral entre Azure y un 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.
La 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. Más bien se proporciona únicamente 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. Como alternativa, puede utilizarse una conexión ExpressRoute, pero en este ejemplo se usa una conexión VPN.
Para una subred de una red virtual:
Forzar que todo el tráfico saliente de la subred, excepto el que va a Azure Storage y el de dentro de la subred, fluya a través de una aplicación virtual de red, para su inspección y registro.
No inspeccionar el tráfico entre las direcciones IP privadas 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
La siguiente imagen muestra una implementación a través del modelo de implementación de Azure Resource Manager que cumple los requisitos anteriores:
Las flechas muestran el flujo de tráfico.
Tablas de ruta
Subnet1
La tabla de rutas de Subnet1 en la imagen contiene las rutas siguientes:
id | Source | State | Prefijos de dirección | Tipo de próximo salto | Dirección IP de siguiente salto | Nombre de ruta definida por el usuario |
---|---|---|---|---|---|---|
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 VNET | ||
5 | Valor predeterminado | No válida | 10.2.0.0/16 | Emparejamiento de VNET | ||
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 |
A continuación encontrará 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 ruta definida por el usuario 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 debe a que el prefijo es más largo que 0.0.0.0/0 y no se encuentra dentro de los prefijos de dirección de ninguna otra ruta. Azure ha cambiado automáticamente el estado de Activo a No válido, cuando se ha agregado ID2, una ruta definida por el usuario, puesto que tiene el mismo prefijo que la ruta predeterminada y las rutas definidas por el usuario reemplazan a las rutas predeterminadas. El estado de esta ruta sigue siendo Activo en Subnet2, ya que la tabla de rutas en la que se encuentra la ruta definida por el usuario, ID2, no está asociada a Subnet2.
ID2: Azure agregó esta ruta cuando una ruta definida por el usuario para el prefijo de red 10.0.0.0/16 se asoció a la subred Subnet1 de la red virtual Virtual-network-1. La ruta definida por el usuario 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 no aparece en la tabla de rutas de 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, para forzar que todo el tráfico de salida pase por una aplicación virtual.
ID3: Azure agregó esta ruta cuando una ruta definida por el usuario para el prefijo de red 10.0.0.0/24 se asoció a la subred Subnet1. El tráfico destinado a las direcciones entre 10.0.0.1 y 10.0.0.254 permanece dentro de la subred, en lugar de enrutarse a la aplicación virtual especificada en la regla anterior (ID2), ya que su prefijo es 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 rutas definidas por el usuario 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 debe a que el prefijo es más largo 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 debe a que tienen los mismos prefijos que las rutas en los ID 4 y 5, y las rutas definidas por el usuario invalidan las rutas predeterminadas. El estado de las rutas de los ID 4 y 5 sigue siendo Activo en Subnet2, ya que la tabla de rutas en la que se encuentran la rutas definidas por el usuario en los ID 6 y 7 no está asociada a Subred2. 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 de ID7 cuando las rutas definidas por el usuario para los prefijos de dirección 10.1.0.0/16 y 10.2.0.0/16 se asociaron 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 rutas definidas por el usuario 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 una ruta definida por el usuario para el prefijo de red 10.10.0.0/16 se agregó 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 NVA para su inspección, en lugar de enrutarlo directamente al 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 ruta definida por el usuario 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 ruta definida por el usuario para el prefijo de dirección 0.0.0.0/0 se asoció a la subred Subnet1. La ruta definida por el usuario 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 ruta definida por el usuario reemplaza a una ruta predeterminada. Esta ruta existe para cumplir el tercer requisito.
Subnet2
La tabla de rutas de Subnet2 en la imagen 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 ruta definida por el usuario del prefijo de dirección 0.0.0.0/0 se ha agregado a Subnet1.
Pasos siguientes
Solución de problemas de rutas mediante Azure Portal. Las tablas de rutas definidas por el usuario solo muestran las rutas definidas por el usuario, no las rutas predeterminada y de BGP de una subred. La visualización de todas las rutas muestra las rutas predeterminada, de BGP y definidas por el usuario de la subred en 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. La característica de próximo salto de Azure Network Watcher permite determinar si el tráfico sale de una subred y se enruta al lugar en que cree que debería estar.