Implementación del enrutamiento del tráfico de redes virtuales
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. 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 rutas predeterminadas opcionales adicionales a determinadas subredes, o a todas las subredes, al usar funcionalidades específicas de Azure.
Rutas predeterminadas
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. 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
192.168.0.0/16
None
Valor predeterminado
100.64.0.0/10
Ninguno
En términos de enrutamiento, un salto es un punto de referencia en la ruta general. Por lo tanto, el próximo salto es el siguiente punto de referencia al que se dirige el tráfico en su recorrido hasta su destino final. 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. Los tipos de próximo salto se definen de la manera siguiente:
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. Azure automáticamente enruta el tráfico entre subredes mediante las rutas que se crea para cada intervalo de direcciones.
Internet: enruta a Internet el tráfico especificado por el prefijo de dirección. La ruta predeterminada del sistema especifica el prefijo de dirección 0.0.0.0/0. Azure enruta a Internet el tráfico de cualquier dirección no especificada por un intervalo de direcciones dentro de una red virtual, a menos que la dirección de destino sea para un servicio de Azure. Azure enruta el tráfico destinado a su servicio directamente al servicio a través de la red troncal, en lugar de enrutar el tráfico a Internet. 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.
Ninguno: 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.
Rutas predeterminadas opcionales
Azure agrega rutas del sistema predeterminadas para las funcionalidades de Azure que habilite. 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 rutas del sistema y los tipos de próximo salto que Azure puede agregar son:
Origen
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, se agrega una ruta para cada intervalo de direcciones en el espacio de direcciones de cada red virtual.
Puerta de enlace de red virtual: al agregar una puerta de enlace de red virtual a una red virtual, Azure agrega una o varias rutas con la puerta de enlace de red virtual como tipo de próximo salto. El origen se muestra también como una puerta de enlace de red virtual, ya que la puerta de enlace agrega las rutas a la subred.
- Hay límites en el número de rutas que se pueden propagar a una puerta de enlace de red virtual de Azure, por lo que debe resumir las rutas locales a los intervalos de direcciones más grandes posibles. Para más información sobre el número de rutas que puede propagar, consulte Límites de redes.
VirtualNetworkServiceEndpoint: cuando se habilita un punto de conexión de servicio al servicio, Azure agrega las direcciones IP públicas de determinados servicios a la tabla de rutas. 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, y Azure administra las actualizaciones de las tablas de enrutamiento cuando es necesario.
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.
Rutas personalizadas
Para controlar la forma en que se enruta el tráfico de red de forma más precisa, puede invalidar las rutas predeterminadas que crea Azure mediante sus propias rutas definidas por el usuario (UDR). Esta técnica puede ser útil cuando desea asegurarse de que el tráfico entre dos subredes pasa a través de un dispositivo de firewall.
Rutas definidas por el usuario
En Azure se pueden crear rutas personalizadas o definidas por el usuario (estáticas) para reemplazar las rutas del sistema predeterminadas o para agregar más rutas a una tabla de rutas de una subred.
En Azure, cada subred puede tener una tabla de rutas asociada o ninguna. Si crea una tabla de rutas y la asocia a una subred, las rutas que contiene se combinan con las rutas predeterminadas que Azure agrega a una subred de forma predeterminada, o las invalidan.
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. 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.
- La dirección IP privada de un equilibrador de carga interno de Azure.
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.
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.
Red virtual: se especifica cuando se desea reemplazar el enrutamiento predeterminado en una red virtual.
Internet: Especifique cuándo desea enrutar explícitamente el tráfico destinado a un prefijo de dirección a Internet.
Configuración de rutas definidas por el usuario
Este es un ejemplo en el que tiene una red virtual que incluye tres subredes.
- Las subredes son Frontend, DMZ y Backend. En la subred de red perimetral, hay una aplicación virtual de red (NVA). Las aplicaciones virtuales de red son máquinas virtuales que ayudan con las funciones de red, como el enrutamiento y la optimización de firewall.
- Quiere asegurarse de que todo el tráfico de la subred Frontend pasa por la NVA a la subred Backend.
Creación de una tabla de enrutamiento
Crear una tabla de enrutamiento es sencillo. Deberá proporcionar valores para Nombre, Suscripción, Grupo de recursos y Ubicación. También debe decidir usar la propagación de rutas de puerta de enlace de red virtual.
Las rutas se agregan automáticamente a la tabla de rutas para todas las subredes que tienen habilitada la propagación de puerta de enlace de red virtual. Cuando se usa ExpressRoute, la propagación garantiza que todas las subredes obtengan la información de enrutamiento.
Creación de una ruta personalizada
En nuestro ejemplo:
- La nueva ruta se denomina ToPrivateSubnet.
- La subred privada se encuentra en 10.0.1.0/24.
- La ruta usa una aplicación virtual. Observe las otras opciones de Tipo del próximo salto: Puerta de enlace de red virtual, Red virtual, Internet y Ninguna.
- La aplicación virtual se encuentra en 10.0.2.4.
En resumen, esta ruta se aplica a cualquier prefijo de dirección en 10.0.1.0/24 (subred privada). El tráfico dirigido a estas direcciones se enviará a la aplicación virtual con una dirección 10.0.2.4.
Asociación de la tabla de rutas
El último paso de nuestro ejemplo es asociar la subred pública con la nueva tabla de enrutamiento. Cada subred puede tener cero o una ruta de tablas de ruta asociada.
Nota:
De forma predeterminada, el tráfico de las rutas del sistema iría directamente a la subred privada. Aun así, con una ruta definida por el usuario, puede forzar el tráfico por la aplicación virtual.
Nota:
En este ejemplo, la aplicación virtual no debe tener una dirección IP pública y el reenvío IP debe estar habilitado.
Protección de una red virtual mediante la tunelización forzada
La tunelización forzada permite redirigir o forzar todo el tráfico vinculado a Internet de vuelta a su ubicación local a través de un túnel VPN de sitio a sitio con fines de inspección y auditoría. Si no configura la tunelización forzada, el tráfico de Internet desde las máquinas virtuales de Azure siempre va desde la infraestructura de red de Azure directamente a Internet, sin la opción que permite inspeccionarlo o auditarlo. Un acceso no autorizado a Internet puede provocar la divulgación de información u otros tipos de infracciones de seguridad. La tunelización forzada puede configurarse mediante Azure PowerShell. No se puede configurar con Azure Portal.
En el ejemplo siguiente, la subred front-end no usa la tunelización forzada. Las cargas de trabajo de la subred Frontend pueden continuar para aceptar y responder a las solicitudes de los clientes directamente desde Internet. Las subredes Mid-tier y Backend usan la tunelización forzada. Las conexiones salientes desde estas dos subredes a Internet se fuerzan o redirigen a un sitio local a través de uno de los túneles VPN de sitio a sitio (S2S).
Configuración de la tunelización forzada
La tunelización forzada en Azure se configura mediante rutas personalizadas definidas por el usuario de redes virtuales.
Cada subred de la red virtual tiene una tabla de enrutamiento del sistema integrada. La tabla de enrutamiento del sistema tiene los siguientes tres grupos de rutas:
- Rutas de red virtual locales: se enrutan directamente a las máquinas virtuales de destino de la misma red virtual.
- Rutas locales: se enrutan a la puerta de enlace de VPN de Azure.
- Ruta predeterminada: se enruta directamente a Internet. Los paquetes destinados a las direcciones IP privadas que no están cubiertos por las dos rutas anteriores se anularán.
Para configurar la tunelización forzada, debe:
- Cree una tabla de enrutamiento.
- Agregar una ruta predeterminada definida por el usuario a la puerta de enlace de VPN.
- Asociar la tabla de enrutamiento a las subredes de red virtual adecuadas.
La tunelización forzada debe asociarse a una red virtual que tenga una puerta de enlace de VPN basada en rutas.
- Debe establecer una conexión de sitio predeterminada entre los sitios locales conectados a la red virtual.
- El dispositivo VPN local debe configurarse con 0.0.0.0/0 como selectores de tráfico.
El uso de la tunelización forzada permite restringir e inspeccionar el acceso a Internet desde las máquinas virtuales y los servicios en la nube en Azure.
Configure Azure Route Server.
Azure Route Server simplifica el enrutamiento dinámico entre la aplicación virtual de red (NVA) y la red virtual. Azure Route Server es un servicio totalmente administrado y está configurado con alta disponibilidad.
Azure Route Server simplifica la configuración, la administración y la implementación de la NVA en la red virtual.
Ya no es necesario actualizar manualmente la tabla de enrutamiento en la NVA cada vez que se actualicen las direcciones de la red virtual.
Ya no es necesario actualizar manualmente las rutas definidas por el usuario cada vez que la NVA anuncie nuevas rutas o retire las anteriores.
Puede emparejar varias instancias de su NVA con Azure Route Server.
La interfaz entre la NVA y Azure Route Server se basa en un protocolo estándar común. Siempre que la NVA admita BGP, puede emparejarla con Azure Route Server.
Puede implementar Azure Route Server en cualquiera de las redes virtuales nuevas o existentes.
Más información sobre cómo implementar Azure Route Server
Diagnóstico de un problema de enrutamiento
Imagine que sus intentos de conectarse a una máquina virtual (VM) específica de la red virtual de Azure no llegan a materializarse. Para diagnosticar un problema de enrutamiento, vea las rutas que son eficaces para una interfaz de red en una máquina virtual.
Puede ver las rutas eficaces de cada interfaz de red mediante Azure Portal, Azure PowerShell o la CLI de Azure. En los siguientes pasos se muestran ejemplos de cada técnica. En cada caso, la salida solo se devuelve si la máquina virtual está en estado en ejecución. Si hay varias interfaces de red asociadas a la máquina virtual, puede revisar las rutas eficaces para cada interfaz de red. Puesto que cada interfaz de red puede estar en una subred diferente, también puede tener cada una diferentes rutas eficaces.
Visualización de rutas eficaces en Azure Portal
Inicie sesión en Azure Portal con una cuenta de Azure que disponga de los permisos necesarios.
En el cuadro de búsqueda, escriba el nombre de la máquina virtual que quiere investigar.
Seleccione la máquina virtual en los resultados de la búsqueda.
En Configuración, seleccione Redes y vaya al recurso de interfaz de red seleccionando su nombre.
En Soporte técnico y solución de problemas, seleccione Rutas eficaces. Las rutas eficaces de una interfaz de red denominada myVMNic1 se muestran en la siguiente imagen:
Visualización de rutas eficaces mediante Azure PowerShell
Puede ver las rutas eficaces de una interfaz de red con el comando Get-AzEffectiveRouteTable. En el ejemplo siguiente se obtienen las rutas eficaces de una interfaz de red llamada myVMNic1, que se encuentra en un grupo de recursos denominado myResourceGroup:
Get-AzEffectiveRouteTable `
-NetworkInterfaceName myVMNic1 `
-ResourceGroupName myResourceGroup `
Corrección del problema de enrutamiento
Los pasos que puede seguir para resolver el problema de enrutamiento pueden incluir:
- Agregar una ruta personalizada para invalidar una ruta predeterminada. Aprenda cómo agregar una ruta personalizada.
- Cambiar o quitar una ruta personalizada que haga que el tráfico se enrute a una ubicación no deseada. Aprenda cómo cambiar o eliminar una ruta personalizada.
- Asegurarse de que la tabla de rutas está asociada a la subred correcta (la que contiene la interfaz de red). Aprenda cómo asociar una tabla de rutas a una subred.
- Asegurarse de que los dispositivos, como las aplicaciones virtuales de red o de puerta de enlace de VPN que ha implementado se pueden usar.
Elija la respuesta más adecuada para cada pregunta.