Partilhar via


Diagnosticar um problema de roteamento em uma máquina virtual

Neste artigo, você aprenderá a diagnosticar problemas de roteamento exibindo as rotas efetivas para uma interface de rede em uma máquina virtual (VM). O Azure cria automaticamente rotas padrão para cada sub-rede de rede virtual. Você pode substituir essas rotas padrão definindo rotas personalizadas em uma tabela de rotas e associando a tabela a uma sub-rede. As rotas efetivas para uma interface de rede são uma combinação das rotas padrão do Azure, das rotas personalizadas que definiu e de quaisquer rotas propagadas da sua rede local por meio de um gateway VPN do Azure usando o protocolo de gateway de borda (BGP). Se você é novo em redes virtuais, interfaces de rede ou roteamento, consulte Visão geral de rede virtual, Interface de rede e Visão geral de roteamento.

Cenário

Tenta ligar-se a uma máquina virtual (VM), mas a ligação falha. Para determinar porque não consegue ligar-se à VM, pode ver as rotas efetivas para uma interface de rede utilizando o portal Azure, o PowerShell ou a Azure CLI.

Os passos que seguem assumem que você tem uma VM existente para visualizar as rotas efetivas. If you don't have an existing VM, first deploy a Linux or Windows VM to complete the tasks in this article with. Os exemplos neste artigo são para uma VM chamada vm-1 com uma interface de rede chamada vm-1445. A VM e a interface de rede estão em um grupo de recursos chamado test-rg e estão na região Leste dos EUA . Altere os valores nas etapas, conforme apropriado, para a VM para a qual você está diagnosticando o problema.

Diagnostique usando o portal Azure

  1. Entre no portal do Azure com uma conta do Azure que tenha as permissões necessárias.

  2. No topo do portal Azure, insira o nome de uma VM que esteja em execução, na caixa de pesquisa. Quando o nome da VM aparecer nos resultados da pesquisa, selecione-o.

  3. Expanda a seção Rede e selecione Configurações de rede.

  4. Para selecionar a interface, selecione seu nome.

    Captura de tela da interface de rede nas configurações da VM.

  5. Na interface de rede, expanda Ajuda. Selecione Rotas efetivas.

    Captura de tela das rotas efetivas da interface de rede.

    Selecione a interface de rede desejada para visualizar suas rotas efetivas. Cada interface pode pertencer a uma sub-rede diferente, resultando em rotas exclusivas. O exemplo na imagem mostra rotas padrão criadas pelo Azure para cada sub-rede. Sua lista inclui as rotas padrão e também pode incluir rotas extras. As rotas podem ser de funcionalidades como emparelhamento de rede virtual ou conexões com redes locais por meio de um gateway VPN do Azure. Para obter detalhes sobre as rotas, consulte Roteamento de tráfego de rede virtual. Se houver muitas rotas, use a opção Download para salvá-las como um arquivo de .csv para facilitar a revisão.

Embora as rotas eficazes tenham sido visualizadas através da VM nas etapas anteriores, também pode visualizar as rotas eficazes através de uma:

Diagnosticar usando o PowerShell

Nota

Recomendamos que utilize o módulo Azure Az PowerShell para interagir com o Azure. Para começar, veja Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, veja Migrar o Azure PowerShell de AzureRM para Az.

Pode executar os comandos que seguem no Azure Cloud Shell, ou ao executar o PowerShell no seu computador. O Azure Cloud Shell é um shell interativo gratuito. Tem ferramentas comuns do Azure pré-instaladas e configuradas para usar com a sua conta. Se executar PowerShell a partir do seu computador, precisa do módulo Azure PowerShell, versão 1.0.0 ou posterior. Execute Get-Module -ListAvailable Az no seu computador para encontrar a versão instalada. Se precisar de atualizar, consulte Instalar o módulo do Azure PowerShell. Se você estiver executando o PowerShell localmente, também precisará executar o comando Connect-AzAccount para iniciar sessão no Azure com uma conta que tenha as permissões necessárias.

Obtenha as rotas efetivas para uma interface de rede com Get-AzEffectiveRouteTable. O exemplo a seguir obtém as rotas efetivas para uma interface de rede chamada vm-1445 em um grupo de recursos chamado test-rg:

$Params = @{
  NetworkInterfaceName = "vm-1445"
  ResourceGroupName    = "test-rg"
}
Get-AzEffectiveRouteTable @Params | Format-Table

Para entender as informações retornadas no resultado, consulte Visão geral do roteamento. O output só é retornado se a VM estiver no estado de execução. Se houver várias interfaces de rede ligadas à máquina virtual, pode consultar as rotas efetivas para cada interface de rede. Como cada interface de rede pode estar em uma sub-rede diferente, cada interface de rede pode ter rotas efetivas diferentes. Se continuar a ter um problema de comunicação, consulte mais diagnósticos e considerações.

Se você souber o nome da VM, mas não o nome da interface de rede, use os seguintes comandos para retornar a ID de todas as interfaces de rede conectadas à VM:

$Params = @{
  Name              = "vm-1"
  ResourceGroupName = "test-rg"
}
$VM = Get-AzVM @Params
$VM.NetworkProfile

Receberá um resultado semelhante ao seguinte exemplo:

NetworkInterfaces
-----------------
{/subscriptions/<ID>/resourceGroups/test-rg/providers/Microsoft.Network/networkInterfaces/vm-1445

Na saída anterior, o nome da interface de rede é vm-1445.

Diagnosticar usando o Azure CLI

Pode executar os comandos que seguem no Azure Cloud Shell, ou ao executar o CLI a partir do seu computador. Este artigo requer a versão 2.0.32 ou posterior do Azure CLI. Execute az --version para encontrar a versão instalada. Se precisar de instalar ou atualizar, consulte Install Azure CLI. Se você estiver executando a CLI do Azure localmente, também precisará executar az login e fazer logon no Azure com uma conta que tenha as permissões necessárias.

Get the effective routes for a network interface with az network nic show-effective-route-table. O comando a seguir obtém as rotas efetivas para uma interface de rede chamada vm-1445 que está em um grupo de recursos chamado test-rg:

az network nic show-effective-route-table \
  --name vm-1445 \
  --resource-group test-rg

Para entender a informação retornada na saída, veja Visão geral do roteamento. A saída só é retornada se a VM estiver no estado de execução. Se houver várias interfaces de rede ligadas à VM, pode verificar as rotas efetivas de cada interface de rede. Como cada interface de rede pode estar numa sub-rede diferente, cada interface de rede pode ter diferentes rotas efetivas. Se continuar a ter um problema de comunicação, consulte mais diagnósticos e considerações.

Se você souber o nome da VM, mas não o nome da interface de rede, use os seguintes comandos para retornar a ID de todas as interfaces de rede conectadas à VM:

az vm show \
  --name vm-1 \
  --resource-group test-rg

Resolver um problema

A resolução de problemas de roteamento geralmente consiste nos seguintes procedimentos:

  • Adição de uma rota personalizada para substituir uma das rotas padrão do Azure. Aprenda como adicionar uma rota personalizada.

  • Alterada ou removida uma rota personalizada que pode resultar no encaminhamento para um local indesejado. Saiba como alterar ou eliminar uma rota personalizada.

  • Verifique se a tabela de rotas que contém todas as rotas personalizadas definidas está associada à sub-rede na qual a interface de rede está. Aprenda como associar uma tabela de rotas a uma sub-rede.

  • Certifique-se de que dispositivos como o gateway de VPN do Azure ou os dispositivos virtuais de rede implantados estejam operáveis. Utilize a capacidade de diagnóstico VPN do Network Watcher para determinar quaisquer problemas com um gateway VPN do Azure.

Se continuar a ter problemas de comunicação, consulte Considerações e mais diagnósticos.

Considerações

Considere os seguintes pontos ao solucionar problemas de comunicação:

  • O roteamento usa a correspondência de prefixo mais longa (LPM) para determinar a melhor rota a partir de rotas do sistema, BGP e rotas personalizadas. Se várias rotas compartilharem a mesma correspondência LPM, o Azure selecionará uma com base na ordem de prioridade na Visão geral de roteamento. As rotas efetivas mostram apenas as rotas que correspondem ao LPM, facilitando a identificação e a resolução de problemas nas rotas que estão a afetar a comunicação da VM.

  • Se as rotas personalizadas direcionarem o tráfego para um dispositivo virtual de rede (NVA) com o Virtual Appliance como o próximo tipo de salto, verifique se o encaminhamento IP do NVA está habilitado; caso contrário, os pacotes serão descartados. Saiba como habilitar o encaminhamento IP para uma interface de rede e configurar o sistema operacional ou aplicativo do NVA para encaminhar tráfego.

  • Se uma rota para 0.0.0.0/0 for criada, todo o tráfego de saída da Internet será roteado para o próximo salto especificado, como para um gateway NVA ou VPN. A criação de uma tal rota é frequentemente referida como "túnel forçado". As conexões remotas usando os protocolos RDP ou SSH da Internet para sua VM podem não funcionar com essa rota, dependendo de como o próximo salto lida com o tráfego. O túnel forçado pode ser ativado:

    • Ao utilizar uma VPN site-a-site, crie uma rota com o tipo de próxima etapa Gateway de VPN. Saiba mais sobre configurar túneis forçados.
    • Se uma rota 0.0.0.0/0 (rota predefinida) for anunciada via BGP através de um gateway de rede virtual ao usar uma VPN site a site ou circuito ExpressRoute. Saiba mais sobre a utilização do BGP com uma VPN site-to-site ou ExpressRoute.
  • Para que o tráfego de emparelhamento de redes virtuais funcione corretamente, deve existir uma rota do sistema com um tipo de próximo salto Emparelhamento de VNet para o intervalo de prefixo da rede virtual emparelhada. Se essa rota não existir e o link de emparelhamento de rede virtual estiver Conectado:

  • Embora o Azure atribua rotas padrão a cada interface de rede Azure, se tiver múltiplas interfaces de rede ligadas à VM, apenas a interface de rede principal é atribuída a uma rota padrão (0.0.0.0/0), ou gateway, dentro do sistema operativo da VM. Aprenda a criar uma rota padrão para interfaces de rede secundárias anexadas a uma VM Windows ou Linux. Saiba mais sobre interfaces de rede primárias e secundárias.

Mais diagnósticos

  • Para executar um teste rápido para determinar o tipo de próximo salto para o tráfego destinado a um local, utilize a capacidade Next hop do Azure Network Watcher. O próximo salto informa qual é o tipo de próximo salto para o tráfego destinado a um local especificado.

  • Se não houver rotas que causem uma falha na comunicação de rede da VM, o problema pode ser devido ao software de firewall em funcionamento no sistema operativo da VM.

  • Se estiver a forçar o túnel de tráfego para um dispositivo no local através de um gateway VPN ou NVA, talvez não consiga ligar-se a uma VM pela internet, dependendo de como o roteamento está configurado para os dispositivos. Confirme se o roteamento configurado para o dispositivo roteia o tráfego para um endereço IP público ou privado para a VM.

  • Utilize a capacidade de resolução de problemas de ligação do Network Watcher para determinar as causas de problemas de comunicação de saída relacionadas com o encaminhamento, filtragem e dentro do sistema operativo.

Próximos passos

  • Saiba mais sobre todas as tarefas, propriedades e definições para uma tabela de rotas e rotas.

  • Saiba mais sobre todos os tipos de próximo salto, rotas do sistema e como a Azure seleciona uma rota.