Configurar o túnel forçado usando o modelo de implantação clássico

O túnel forçado permite redirecionar ou "forçar" todo o tráfego direcionado para a Internet de volta para seu local por meio de um túnel VPN de Site a Site para inspeção e auditoria. Esse é um requisito crítico de segurança para a maioria das políticas de TI empresariais. Sem o túnel forçado, o tráfego direcionado para Internet de suas VMs no Azure sempre percorrerão da infraestrutura de rede do Azure diretamente para a Internet, sem a opção para permitir que você inspecione ou audite o tráfego. O acesso não autorizado à Internet pode levar à divulgação de informações ou outros tipos de violações de segurança.

As etapas descritas neste artigo funcionam com o modelo de implantação clássico, e não são válidas para o modelo de implantação atual, o Resource Manager. A menos que você deseje trabalhar especificamente no modelo de implantação clássico, recomendamos que você use a versão Resource Manager deste artigo.

Observação

Este artigo foi escrito para o modelo de implantação clássico (herdado). Recomendamos que você use o modelo de implantação mais recente do Azure. O modelo de implantação do Resource Manager é o modelo de implantação mais recente e oferece mais opções e compatibilidade de recursos do que o modelo de implantação clássico. Para entender a diferença entre esses dois modelos de implantação, consulte Noções básicas sobre modelos de implantação e o estado dos seus recursos.

Se você quiser usar uma versão diferente deste artigo, use o sumário no painel esquerdo.

Requisitos e considerações

O túnel forçado no Azure é configurado por meio de UDR (rotas de definidas pelo usuário) de rede virtual. Redirecionar o tráfego para um site local é expressado como uma Rota Padrão para o gateway de VPN do Azure. A seção a seguir lista a limitação atual da tabela de roteamento e as rotas para uma Rede Virtual do Azure:

  • Cada sub-rede de rede virtual tem uma tabela de roteamento interna do sistema. A tabela de roteamento do sistema tem estes três grupos de rotas:

    • Rotas locais de Rede Virtual: diretamente para as VMs de destino na mesma rede virtual.
    • Rotas locais: para o gateway de VPN do Azure.
    • Rota padrão: diretamente para a Internet. Os pacotes destinados para os endereços IP privados não cobertos pelas duas rotas anteriores serão removidos.
  • Com a liberação de rotas definidas pelo usuário, você poderá criar uma tabela de roteamento para adicionar uma rota padrão e, em seguida, associar a tabela de roteamento às suas sub-redes de VNet para habilitar o túnel forçado nessas sub-redes.

  • Você precisa definir um "site padrão" entre sites locais entre locais conectado à rede virtual.

  • O túnel forçado deve ser associado a uma Rede Virtual que tem um gateway de VPN de roteamento dinâmico (e não um gateway estático).

  • O túnel forçado do ExpressRoute não é configurado por meio deste mecanismo, mas é habilitado por meio do anúncio de uma rota padrão por meio de sessões de emparelhamento via protocolo BGP do ExpressRoute. Para saber mais, consulte O que é o ExpressRoute?.

Visão geral de configuração

No exemplo a seguir, a sub-rede Frontend não é um túnel forçado. As cargas de trabalho na sub-rede do front-end podem continuar a aceitar e a responder diretamente às solicitações de clientes da Internet. As sub-redes de Camada intermediária e Back-end são túneis forçados. As conexões de saída dessas duas sub-redes com a Internet serão forçadas ou redirecionadas de volta ao site local por meio de túneis de VPN S2S.

Isso permite que você restrinja e inspecione o acesso à Internet de suas máquinas virtuais ou serviços de nuvem no Azure, continuando a habilitar a arquitetura de serviço de várias camadas necessária. Você também pode aplicar o túnel forçado às redes virtuais inteiras se não houver cargas de trabalho voltadas para a Internet em suas redes virtuais.

Diagrama mostrando a arquitetura de tunel forçado.

Pré-requisitos

Verifique se você tem os itens a seguir antes de iniciar a configuração:

  • Uma assinatura do Azure. Se ainda não tiver uma assinatura do Azure, você poderá ativar os Benefícios do assinante do MSDN ou inscrever-se para obter uma conta gratuita.
  • Uma rede virtual configurada.
  • Ao trabalhar com o modelo de implantação clássico, você não pode usar o Azure Cloud Shell. Em vez disso, você deve instalar a versão mais recente dos cmdlets do PowerShell do Azure Service Management (SM) localmente em seu computador. Esses cmdlets são diferentes dos cmdlets AzureRM ou Az. Para instalar os cmdlets SM, consulte Instalar cmdlets de gerenciamento de serviços. Para obter mais informações sobre o Azure PowerShell em geral, consulte a Documentação do Azure PowerShell.

Configurar o túnel forçado

O procedimento a seguir ajudará você a especificar um túnel forçado em uma rede virtual. As etapas de configuração correspondem ao arquivo de configuração de rede VNet. Nesse exemplo, a rede virtual "MultiTier-VNet" tem três sub-redes: Frontend, Midtier e Backend, com quatro conexões entre locais: "DefaultSiteHQ" e três Ramificações.

<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>

As etapas a seguir vão definir "DefaultSiteHQ” como a conexão de site padrão para o túnel forçado e configurar as sub-redes Midtier e Backend para usarem o túnel forçado.

  1. Abra o console do PowerShell com direitos elevados. Conecte-se à sua conta usando o seguinte exemplo:

    Add-AzureAccount
    
  2. Crie uma tabela de roteamento. Use o cmdlet a seguir para criar sua tabela de rotas.

    New-AzureRouteTable –Name "MyRouteTable" –Label "Routing Table for Forced Tunneling" –Location "North Europe"
    
  3. Adicione uma rota padrão à tabela de roteamento.

    O exemplo a seguir adiciona uma rota padrão à tabela de roteamento criada na Etapa 1. Observe que a única rota com suporte é o prefixo de destino de "0.0.0.0/0" para o NextHop "VPNGateway".

    Get-AzureRouteTable -Name "MyRouteTable" | Set-AzureRoute –RouteTable "MyRouteTable" –RouteName "DefaultRoute" –AddressPrefix "0.0.0.0/0" –NextHopType VPNGateway
    
  4. Associe a tabela de roteamento às sub-redes.

    Depois que uma tabela de roteamento for criada e uma rota adicionada, use o exemplo a seguir para adicionar ou associar a tabela de rotas a uma sub-rede da VNet. O exemplo adiciona a tabela de rotas "MyRouteTable" às sub-redes Midtier e Backend da VNet MultiTier-VNet.

    Set-AzureSubnetRouteTable -VirtualNetworkName "MultiTier-VNet" -SubnetName "Midtier" -RouteTableName "MyRouteTable"
    Set-AzureSubnetRouteTable -VirtualNetworkName "MultiTier-VNet" -SubnetName "Backend" -RouteTableName "MyRouteTable"
    
  5. Atribua um site padrão ao túnel forçado.

    Na etapa anterior, os scripts de cmdlet de exemplo criaram a tabela de roteamento e associou a tabela de rotas a duas sub-redes de rede virtual. A etapa restante é selecionar um site local entre as conexões de vários locais da rede virtual como o site padrão ou túnel.

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

Cmdlets do PowerShell adicionais

Para excluir uma tabela de rotas

Remove-AzureRouteTable -Name <routeTableName>

Para listar uma tabela de rotas

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

Para excluir uma rota de uma tabela de rotas

Remove-AzureRouteTable –Name <routeTableName>

Para remover uma rota de uma sub-rede

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

Para listar a tabela de rotas associadas a uma sub-rede

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

Para remover um site padrão de um gateway de VPN de VNet

Remove-AzureVnetGatewayDefaultSite -VNetName <virtualNetworkName>