Implementar o roteamento de tráfego de rede virtual
O Azure cria automaticamente uma tabela de rotas para cada sub-rede dentro de uma rede virtual do Azure e adiciona as rotas de sistema padrão à tabela. É possível substituir algumas das rotas de sistema do Azure por rotas personalizadas e adicionar outras rotas personalizadas às tabelas de rotas. O Azure roteia o tráfego de saída de uma sub-rede com base nas rotas em uma tabela de rotas da sub-rede.
Rotas do sistema
O Azure cria rotas de sistema automaticamente e as atribui a cada sub-rede em uma rede virtual. Não é possível criar ou remover rotas de sistema, mas é possível substituir algumas rotas de sistema por rotas personalizadas. O Azure cria rotas de sistema padrão para cada sub-rede e adiciona rotas padrão opcionais a sub-redes específicas ou a todas as sub-redes quando você usa as funcionalidades específicas do Azure.
Rotas padrão
Cada rota contém um prefixo de endereço e o tipo do próximo salto. Quando um tráfego saindo de uma sub-rede é enviado a um endereço IP dentro do prefixo de endereço de uma rota, a rota que contém o prefixo é a que o Azure usa. Sempre que uma rede virtual é criada, o Azure cria automaticamente as rotas de sistema padrão a seguir para cada sub-rede na rede virtual:
Origem
Prefixos do endereço
Tipo do próximo salto
Padrão
Exclusivo para a rede virtual
Rede virtual
Padrão
0.0.0.0/0
Internet
Padrão
10.0.0.0/8
Nenhum
Padrão
192.168.0.0/16
Nenhum
Padrão
100.64.0.0/10
Nenhum
Em termos de roteamento, um salto é uma escala na rota geral. Portanto, o próximo salto é a próxima escala para a qual o tráfego é direcionado em seu percurso até o destino final. Os tipos do próximo salto listados na tabela anterior representam como o Azure roteia o tráfego destinado ao prefixo de endereço listado. Os tipos de próximo salto são definidos da seguinte maneira:
Rede virtual: encaminha o tráfego entre intervalos de endereços no espaço de endereço de uma rede virtual. O Azure cria uma rota com um prefixo de endereço que corresponde a cada intervalo de endereços definido no espaço de endereço de uma rede virtual. O Azure roteia automaticamente o tráfego entre as sub-redes usando as rotas criadas para cada intervalo de endereços.
Internet: encaminha o tráfego especificado pelo prefixo do endereço para a Internet. A rota padrão de sistema especifica o prefixo de endereço 0.0.0.0/0. O Azure encaminha o tráfego para qualquer endereço não especificado por um intervalo de endereços em uma rede virtual para a Internet, a menos que o endereço de destino seja para um serviço do Azure. O Azure encaminha qualquer tráfego destinado ao próprio serviço diretamente para o serviço pela rede de backbone, em vez de rotear o tráfego para a Internet. Você pode substituir a rota do sistema padrão do Azure para o prefixo de endereço 0.0.0.0/0 com uma rota personalizada.
Nenhum: o tráfego encaminhado para tipo do próximo salto Nenhum é descartado em vez de ser roteado para fora da sub-rede. O Azure cria automaticamente as rotas padrão para os seguintes prefixos de endereço:
- 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16: reservados para uso particular no RFC 1918.
- 100.64.0.0/10: reservado no RFC 6598.
Se você atribuir algum dos intervalos de endereços anteriores no espaço de endereço de uma rede virtual, o Azure altera automaticamente o tipo do próximo salto da rota de Nenhum para Rede virtual. Se você atribuir um intervalo de endereços para o espaço de endereço de uma rede virtual que inclui, mas não é a mesma que um dos quatro prefixos de endereço reservados, o Azure remove a rota do prefixo e adiciona uma rota para o prefixo de endereço que você adicionou, com a Rede virtual como o tipo do próximo salto.
Rotas padrão opcionais
O Azure adiciona rotas de sistema padrão para todos os recursos do Azure que você habilitar. Dependendo do recurso, o Azure adiciona rotas padrão opcionais para sub-redes específicas na rede virtual ou para todas as sub-redes em uma rede virtual. As rotas de sistema adicionais e os tipos do próximo salto que o Azure pode adicionar quando você habilita recursos diferentes são:
Origem
Prefixos do endereço
Tipo do próximo salto
A sub-rede na rede virtual que roteia é adicionada a
Padrão
Exclusivo para a rede virtual, por exemplo: 10.1.0.0/16
Emparelhamento VNet
Todos
Gateway de rede virtual
Prefixos anunciados do local via BGP ou configurada no gateway de rede local
Gateway de rede virtual
Todos
Padrão
Vários
VirtualNetworkServiceEndpoint
Somente a sub-rede para a qual um ponto de extremidade de serviço está habilitado
Emparelhamento de rede virtual (VNet): quando você cria um emparelhamento de rede virtual entre duas redes virtuais, uma rota é adicionada a cada intervalo de endereços dentro do espaço de endereço de cada rede virtual.
Gateway de rede virtual: quando você adiciona um gateway de rede virtual a uma rede virtual, o Azure adiciona uma ou mais rotas com o Gateway de rede virtual como o tipo do próximo salto. A fonte está listada como gateway de rede virtual porque o gateway adiciona as rotas à sub-rede.
- Se o gateway de rede local troca as rotas do protocolo BGP (Border Gateway Protocol) com um gateway de rede virtual do Azure, uma rota é adicionada para cada rota propagada do gateway de rede virtual local. Há limites para o número de rotas que você pode propagar para um gateway de rede virtual do Azure. Portanto, resuma as rotas locais para os maiores intervalos de endereço possíveis. Para saber mais sobre o número de rotas que você pode propagar, confira Limites de rede.
VirtualNetworkServiceEndpoint: o Azure adiciona os endereços IP públicos de certos serviços à tabela de rotas quando você habilita um ponto de extremidade de serviço para o serviço. Pontos de extremidade de serviço são habilitados para sub-redes individuais em uma rede virtual, de modo que a rota só seja adicionada à tabela de rotas de uma sub-rede para a qual está habilitado um ponto de extremidade de serviço. Os endereços IP públicos dos serviços do Azure mudam periodicamente, e o Azure gerencia as atualizações para as tabelas de roteamento quando necessário.
Os tipos do próximo salto emparelhamento VNet e VirtualNetworkServiceEndpoint só são adicionados a tabelas de rota de sub-redes em redes virtuais criadas por meio do modelo de implantação do Azure Resource Manager. Os tipos do próximo salto não são adicionados a tabelas de rotas que estão associadas a sub-redes de rede virtual criadas por meio do modelo de implantação clássico.
Rotas personalizadas
Para ter mais precisão no controle de roteamento do tráfego de rede, é possível substituir as rotas padrão criadas pelo Azure usando suas próprias UDR (rotas definidas pelo usuário). Essa técnica pode ser útil quando você quer garantir que o tráfego entre duas sub-redes passe por um dispositivo de firewall, ou se você quiser garantir que nenhum tráfego de uma VNet possa ser roteado para a Internet.
Rotas definidas pelo usuário
É possível criar rotas personalizadas ou definidas pelo usuário (estáticas) no Azure para substituir as rotas de sistema padrão do Azure ou adicionar outras rotas a uma tabela de rotas da sub-rede.
No Azure, cada sub-rede pode ter zero ou uma tabela de rotas associada. Quando você cria uma tabela de rotas e a associa a uma sub-rede, as rotas da tabela são combinadas com, ou substituem, as rotas padrão adicionadas pelo Azure a uma sub-rede.
Você pode especificar os seguintes tipos do próximo salto ao criar uma rota definida pelo usuário:
Solução de virtualização: uma solução de virtualização é uma máquina virtual que normalmente executa um aplicativo de rede, como um firewall. Quando você cria uma rota com o tipo de salto solução de virtualização, também especifica o endereço IP de um próximo salto. O endereço IP pode ser:
- O endereço IP privado de uma interface de rede anexada a uma máquina virtual.
- O endereço IP privado de um balanceador de carga interno do Azure.
Gateway de rede virtual: especifique quando você deseja que o tráfego destinado para prefixos de endereço específicos seja encaminhado para um gateway de rede virtual. O gateway de rede virtual deve ser criado com o tipo VPN.
Nenhum: especifique quando você deseja remover o tráfego para um prefixo de endereço em vez de encaminhar o tráfego para um destino.
Rede virtual: especifique quando você deseja substituir o roteamento padrão em uma rede virtual.
Internet: especifique quando você deseja encaminhar explicitamente o tráfego destinado a um prefixo de endereço para a Internet ou se desejar que o tráfego destinado para serviços do Azure com endereços IP públicos seja mantido dentro da rede de backbone do Azure.
Configurar rotas definidas pelo usuário
Neste exemplo, você tem uma rede virtual que inclui três sub-redes.
- As sub-redes são front-end, DMZ e back-end. Na sub-rede DMZ, há uma NVA (solução de virtualização de rede). NVAs são VMs que ajudam com as funções de rede como a otimização de roteamento e firewall.
- Você quer garantir que todo o tráfego de front-end da sub-rede passe pela NVA para acessar a sub-rede de back-end.
Criar uma tabela de rotas
A criação de uma tabela de rotas é simples. Você fornece as informações de Nome, Assinatura, Grupo de recursos e Local. Você também decide usar a Propagação de rotas do gateway de rede virtual.
As rotas são adicionadas automaticamente à tabela de rotas para todas as sub-redes com a propagação do gateway de rede virtual habilitada. Quando você está usando o ExpressRoute, a propagação garante que todas as sub-redes recebam as informações de roteamento.
Criar uma rota personalizada
Em nosso exemplo,
- A nova rota se chama ToPrivateSubnet.
- A sub-rede Particular está em 10.0.1.0/24.
- A rota usa uma solução de virtualização. Observe as demais opções de Tipo de próximo salto: gateway de rede virtual, rede virtual, Internet e nenhum.
- A solução de virtualização está localizada em 10.0.2.4.
Em resumo, essa rota se aplica a qualquer prefixo de endereço em 10.0.1.0/24 (sub-rede privada). O tráfego destinado a esses endereços será enviado para a solução de virtualização com um endereço 10.0.2.4.
Associar a tabela de rotas
A última etapa do exemplo é associar a sub-rede Pública à nova tabela de rotas. Cada sub-rede pode ter zero ou uma tabela de rotas associada a ela.
Observação
Por padrão, o uso do tráfego de rotas do sistema levaria diretamente para a sub-rede privada. No entanto, com uma rota definida pelo usuário, você pode impor a passagem do tráfego pela solução de virtualização.
Observação
Neste exemplo, a solução de virtualização não deve ter um IP público e o encaminhamento de IP deve estar habilitado.
Proteger uma VNet usando o túnel forçado
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. Se você não configurar 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. O túnel forçado pode ser configurado usando Azure PowerShell. Ele não pode ser configurado usando o portal do Azure.
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 Site-to-site (S2S).
Configurar o túnel forçado
O túnel forçado no Azure é configurado usando rotas de definidas pelo usuário de rede virtual.
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 VNet: encaminhe diretamente para as VMs de destino na mesma rede virtual.
- Rotas locais: encaminhe para o gateway de VPN do Azure.
- Rota padrão: encaminhe diretamente para a Internet. Os pacotes destinados para os endereços IP privados não cobertos pelas duas rotas anteriores serão removidos.
Para configurar o túnel forçado, você deve:
- Crie uma tabela de roteamento.
- Adicionar uma rota padrão definida pelo usuário ao gateway de VPN.
- Associar a tabela de roteamento às sub-redes VNet apropriadas.
O túnel forçado deve ser associado a uma Rede Virtual que tenha um Gateway de VPN de roteamento.
- Você precisa definir uma conexão de site padrão entre os sites locais entre instalações conectados à rede virtual.
- O dispositivo VPN local deve ser configurado usando 0.0.0.0/0 como seletores de tráfego.
O uso do túnel forçado permite a restrição e a inspeção do acesso à Internet a partir de suas VMs e serviços de nuvem no Azure, ao mesmo tempo em que continua a habilitar o acesso à Internet exigido por sua arquitetura de serviço multicamadas.
Configurar o Servidor de Rota do Azure
O Servidor de Rota do Azure simplifica o roteamento dinâmico entre a NVA (solução de virtualização de rede) e a rede virtual. Permite trocar informações de roteamento diretamente por meio do protocolo de roteamento BGP (Border Gateway Protocol) entre qualquer NVA que dê suporte ao protocolo de roteamento BGP e a SDN (rede definida pelo software) do Azure na rede virtual do Azure (VNET), sem a necessidade de configurar ou manter manualmente as tabelas de rotas. O Servidor de Rota do Azure é um serviço totalmente gerenciado, além de ser configurado com alta disponibilidade.
O Servidor de Rota do Azure simplifica a configuração, o gerenciamento e a implantação da NVA na rede virtual.
Você não precisa mais atualizar manualmente a tabela de roteamento na NVA sempre que os endereços de rede virtual forem atualizados.
Você não precisa mais atualizar as rotas definidas pelo usuário manualmente sempre que a NVA anunciar novas rotas ou retirar as antigas.
Você pode emparelhar várias instâncias do seu NVA com o Servidor de Rota do Azure. Você pode configurar os atributos de BGP no seu NVA e, dependendo do seu design (por exemplo, ativo-ativo para desempenho ou ativo-passivo para resiliência), informe ao Servidor de Rota do Azure qual instância NVA está ativa ou qual é passiva.
A interface entre a NVA e o Servidor de Rota do Azure é baseada em um protocolo padrão comum. Contanto que a NVA dê suporte ao BGP, pode ser emparelhada com o Servidor de Rota do Azure.
Você pode implantar o Servidor de Rota do Azure em qualquer uma das redes virtuais novas ou existentes.
Saiba como implantar o Servidor de Rota do Azure
Diagnosticar um problema de roteamento
Imagine que suas tentativas de se conectar a uma VM (máquina virtual) específica em sua rede virtual do Azure falham constantemente. É possível diagnosticar um problema de roteamento visualizando as rotas efetivas para um adaptador de rede em uma VM. As rotas efetivas para todos os adaptadores de rede em uma sub-rede são a combinação de rotas que você cria, rotas padrão do Azure e quaisquer rotas propagadas da rede local por meio de um gateway de VPN do Azure por meio do protocolo BGP (Border Gateway Protocol).
Veja as rotas efetivas de cada adaptador de rede usando o portal do Azure, o Azure PowerShell ou a CLI do Azure. As etapas a seguir mostram exemplos de cada técnica. Em cada caso, a saída só retornará se a VM estiver no estado de execução. Se houver vários adaptadores de rede conectadas à VM, será possível revisar as rotas efetivas para cada adaptador de rede. Como cada adaptador de rede pode estar em uma sub-rede diferente, cada adaptador de rede pode ter diferentes rotas efetivas.
Exibir rotas efetivas no portal do Azure
Faça logon no portal do Azure com uma conta do Azure que tenha as permissões necessárias.
Na caixa de pesquisa, insira o nome da VM que você quer investigar.
Escolha a VM nos resultados da pesquisa.
Em Configurações, escolha Rede e navegue até o recurso de adaptador de rede selecionando o nome dele.
Em Suporte + Solução de problemas, selecione Rotas efetivas. As rotas efetivas para uma interface chamada myVMNic1 são mostradas na seguinte imagem:
Exibir rotas efetivas usando o Azure PowerShell
É possível exibir as rotas efetivas para um adaptador de rede com o comando Get-AzEffectiveRouteTable. O exemplo a seguir obtém as rotas efetivas para um adaptador de rede chamado myVMNic1, que está em um grupo de recursos nomeado myResourceGroup:
Get-AzEffectiveRouteTable `
-NetworkInterfaceName myVMNic1 `
-ResourceGroupName myResourceGroup `
Corrigir o problema de roteamento
Entre as etapas possíveis para a solução do problema de roteamento podem estar:
- Adicionar uma rota personalizada para substituir uma rota padrão. Saiba como adicionar uma rota personalizada.
- Alterar ou remover uma rota personalizada que encaminha o tráfego para um local indesejado. Saiba como alterar ou excluir uma rota personalizada.
- Verificar se a tabela de rotas está associada à sub-rede correta (aquela que contém o adaptador de rede). Saiba como associar uma tabela de rotas a uma sub-rede.
- Garantir que dispositivos, como o gateway de VPN do Azure ou dispositivos virtuais de rede que você implantou, estejam funcionando normalmente.
Escolha a melhor resposta para cada uma das perguntas abaixo.