Configuración de la tunelización forzada mediante el modelo de implementación clásica

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. Se trata de un requisito de seguridad crítico en la mayoría de las directivas de las empresas de TI. Sin la tunelización forzada, el tráfico vinculado a Internet desde las máquinas virtuales en Azure siempre irá desde la infraestructura de red de Azure directamente a Internet, sin la opción que permite inspeccionar o auditar el tráfico. Un acceso no autorizado a Internet puede provocar la divulgación de información u otros tipos de infracciones de seguridad.

Los pasos de este artículo se aplican al modelo de implementación clásica (heredada), y no al modelo de implementación actual, Resource Manager. A menos que quiera trabajar específicamente en el modelo de implementación clásica, se recomienda usar la versión de Resource Manager de este artículo.

Nota

Este artículo se ha escrito para el modelo de implementación clásica (heredada). Se recomienda usar el modelo de implementación de Azure más reciente en su lugar. El modelo de implementación de Resource Manager es el modelo más reciente y ofrece más opciones y compatibilidad de características que el modelo de implementación clásica. Para comprender la diferencia entre estos dos modelos de implementación, consulte Conozca los modelos de implementación y el estado de los recursos.

Si desea usar una versión diferente de este artículo, use la tabla de contenido del panel izquierdo.

Requisitos y consideraciones

La tunelización forzada en Azure se configura a través de rutas definidas por el usuario (UDR) de redes virtuales. La redirección del tráfico a un sitio local se expresa como una ruta predeterminada a la puerta de enlace de VPN de Azure. La sección siguiente muestra la limitación actual de la tabla de enrutamiento y las rutas de una instancia de Azure Virtual Network:

  • 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 redes virtuales locales: directamente a las máquinas virtuales de destino en la misma red virtual.
    • Rutas locales: a Azure VPN Gateway.
    • Ruta predeterminada: directamente a Internet. Los paquetes destinados a las direcciones IP privadas que no están cubiertos por las dos rutas anteriores se anularán.
  • Con la liberación de las rutas definidas por el usuario, puede crear una tabla de enrutamiento para agregar una ruta predeterminada y, después, asociar la tabla de enrutamiento a las subredes de la red virtual para habilitar la tunelización forzada en esas subredes.

  • Deberá establecer un "sitio predeterminado" entre los sitios locales entre entornos conectados a la red virtual.

  • La tunelización forzada debe asociarse a una red virtual que tiene una puerta de enlace de VPN de enrutamiento dinámico (no una puerta de enlace estática).

  • La tunelización forzada de ExpressRoute no se configura mediante este mecanismo, sino que se habilita mediante el anuncio de una ruta predeterminada a través de las sesiones de emparejamiento BGP de ExpressRoute. Para más información, consulte ¿Qué es ExpressRoute?

Información general sobre la configuración

En el ejemplo siguiente, la subred Frontend 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.

Esto permite restringir e inspeccionar el acceso a Internet desde sus máquinas virtuales o servicios en la nube en Azure, al tiempo que continúa posibilitando la arquitectura de varios niveles de servicio necesaria. También tiene la opción de aplicar la tunelización forzada a redes virtuales completas si no hay ninguna carga de trabajo a través de Internet en las redes virtuales.

Diagrama donde se muestra la arquitectura de tunelización forzada.

Requisitos previos

Antes de comenzar con la configuración, verifique que dispone de los elementos siguientes:

  • Suscripción a Azure. Si todavía no la tiene, puede activar sus ventajas como suscriptor de MSDN o registrarse para obtener una cuenta gratuita.
  • Una red virtual configurada.
  • Cuando se trabaja con el modelo de implementación clásica, no se puede usar Azure Cloud Shell. En su lugar, debe instalar la versión más reciente de los cmdlets de PowerShell para Azure Service Management (SM) en el equipo. Estos cmdlets son diferentes de los de AzureRM o Az. Para instalar los cmdlets de SM, consulte Instalación de cmdlets de Service Management. Para más información sobre Azure PowerShell en general, consulte la documentación de Azure PowerShell.

Configuración de la tunelización forzada

El siguiente procedimiento lo ayudará a especificar la tunelización forzada en una red virtual. Los pasos de configuración corresponden al archivo de configuración de red virtual. En el ejemplo, la red virtual 'MultiTier-VNet' tiene tres subredes: Frontend, Midtier y Backend con cuatro conexiones entre entornos locales: 'DefaultSiteHQ' y tres ramas.

<VirtualNetworkSite name="MultiTier-VNet" Location="North Europe">
     <AddressSpace>
      <AddressPrefix>10.1.0.0/16</AddressPrefix>
        </AddressSpace>
        <Subnets>
          <Subnet name="Frontend">
            <AddressPrefix>10.1.0.0/24</AddressPrefix>
          </Subnet>
          <Subnet name="Midtier">
            <AddressPrefix>10.1.1.0/24</AddressPrefix>
          </Subnet>
          <Subnet name="Backend">
            <AddressPrefix>10.1.2.0/23</AddressPrefix>
          </Subnet>
          <Subnet name="GatewaySubnet">
            <AddressPrefix>10.1.200.0/28</AddressPrefix>
          </Subnet>
        </Subnets>
        <Gateway>
          <ConnectionsToLocalNetwork>
            <LocalNetworkSiteRef name="DefaultSiteHQ">
              <Connection type="IPsec" />
            </LocalNetworkSiteRef>
            <LocalNetworkSiteRef name="Branch1">
              <Connection type="IPsec" />
            </LocalNetworkSiteRef>
            <LocalNetworkSiteRef name="Branch2">
              <Connection type="IPsec" />
            </LocalNetworkSiteRef>
            <LocalNetworkSiteRef name="Branch3">
              <Connection type="IPsec" />
            </LocalNetworkSiteRef>
        </Gateway>
      </VirtualNetworkSite>
    </VirtualNetworkSite>

Los siguientes pasos establecen 'DefaultSiteHQ' como la conexión de sitio predeterminada para la tunelización forzada y configuran las subredes Midtier y Backend para que usen dicha tunelización.

  1. Abra la consola de PowerShell con privilegios elevados. Conéctese a su cuenta mediante el ejemplo siguiente:

    Add-AzureAccount
    
  2. Cree una tabla de enrutamiento. Use el siguiente cmdlet para crear la tabla de enrutamiento.

    New-AzureRouteTable –Name "MyRouteTable" –Label "Routing Table for Forced Tunneling" –Location "North Europe"
    
  3. Agregue una ruta predeterminada a la tabla de enrutamiento.

    El siguiente ejemplo agrega una ruta predeterminada a la tabla de enrutamiento que creó en el paso 1. La única ruta admitida es el prefijo de destino de “0.0.0.0/0” para el próximo salto de “VPNGateway”.

    Get-AzureRouteTable -Name "MyRouteTable" | Set-AzureRoute –RouteTable "MyRouteTable" –RouteName "DefaultRoute" –AddressPrefix "0.0.0.0/0" –NextHopType VPNGateway
    
  4. Asocie la tabla de enrutamiento a las subredes.

    Una vez creada una tabla de enrutamiento y agregada una ruta, use el ejemplo siguiente para agregar o asociar la tabla de enrutamiento a una subred de la red virtual. Los siguientes ejemplos agregan la tabla de enrutamiento MyRouteTable a las subredes Midtier y Backend de VNet MultiTier-VNet.

    Set-AzureSubnetRouteTable -VirtualNetworkName "MultiTier-VNet" -SubnetName "Midtier" -RouteTableName "MyRouteTable"
    Set-AzureSubnetRouteTable -VirtualNetworkName "MultiTier-VNet" -SubnetName "Backend" -RouteTableName "MyRouteTable"
    
  5. Asigne un sitio predeterminado para la tunelización forzada.

    En el paso anterior, los scripts del cmdlet de ejemplo crean la tabla de enrutamiento y la tabla de enrutamiento asociada a dos de las subredes de la red virtual. El paso restante consiste en seleccionar un sitio local entre las conexiones de varios sitios de la red virtual como el sitio predeterminado o túnel.

    $DefaultSite = @("DefaultSiteHQ")
    Set-AzureVNetGatewayDefaultSite –VNetName "MultiTier-VNet" –DefaultSite "DefaultSiteHQ"
    

Cmdlets de PowerShell adicionales

Para eliminar una tabla de enrutamiento

Remove-AzureRouteTable -Name <routeTableName>

Para mostrar una tabla de enrutamiento

Get-AzureRouteTable [-Name <routeTableName> [-DetailLevel <detailLevel>]]

Para eliminar una ruta de una tabla de enrutamiento

Remove-AzureRouteTable –Name <routeTableName>

Para quitar una ruta de una subred

Remove-AzureSubnetRouteTable –VirtualNetworkName <virtualNetworkName> -SubnetName <subnetName>

Para mostrar la tabla de enrutamiento asociada a una subred

Get-AzureSubnetRouteTable -VirtualNetworkName <virtualNetworkName> -SubnetName <subnetName>

Para quitar un sitio predeterminado de una puerta de enlace de VPN de VNet

Remove-AzureVnetGatewayDefaultSite -VNetName <virtualNetworkName>