Diagnostisera problem med nätverksroutning för virtuella datorer – Azure CLI

I den här artikeln distribuerar du en virtuell dator (VM) och kontrollerar sedan kommunikationen till en IP-adress och URL. Du lär dig också hur du fastställer orsaken till ett kommunikationsfel och hur du löser problemet.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Förutsättningar

  • Den här artikeln kräver version 2.0 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.

  • Azure CLI-kommandona i den här artikeln är formaterade för att köras i ett Bash-gränssnitt.

Skapa en virtuell dator

Innan du kan skapa en virtuell dator måste du skapa en resursgrupp som innehåller den virtuella datorn. Skapa en resursgrupp med az group create. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen eastus:

az group create --name myResourceGroup --location eastus

Skapa en virtuell dator med az vm create. Om det inte redan finns SSH-nycklar på en standardnyckelplats skapar kommandot dem. Om du vill använda en specifik uppsättning nycklar använder du alternativet --ssh-key-value. I följande exempel skapas en virtuell dator med namnet myVm:

az vm create \
  --resource-group myResourceGroup \
  --name myVm \
  --image Ubuntu2204 \
  --generate-ssh-keys

Det tar några minuter att skapa den virtuella datorn. Fortsätt inte med återstående steg förrän den virtuella datorn har skapats och Azure CLI returnerar utdata.

Testa nätverkskommunikationen

Om du vill testa nätverkskommunikationen med Network Watcher måste du först aktivera en nätverksbevakare i den region som den virtuella datorn som du vill testa finns i och sedan använda Network Watcher nästa hoppfunktion för att testa kommunikationen.

Aktivera nätverksbevakare

Om du redan har en nätverksbevakare aktiverad i regionen USA, östra går du vidare till Använd nästa hopp. Använd kommandot az network watcher configure för att skapa en nätverksbevakare i regionen USA, östra:

az network watcher configure \
  --resource-group NetworkWatcherRG \
  --locations eastus \
  --enabled

Använda funktionen för nästa hopp

Azure skapar automatiskt vägar till olika standardmål. Du kan skapa egna vägar som ersätter standardvägarna. Ibland kan egna vägar göra att kommunikationen misslyckas. Om du vill testa routning från en virtuell dator använder du az network watcher show-next-hop för att fastställa nästa routningshopp när trafiken är avsedd för en specifik adress.

Testa utgående kommunikation från den virtuella datorn till en av IP-adresserna för www.bing.com:

az network watcher show-next-hop \
  --dest-ip 13.107.21.200 \
  --resource-group myResourceGroup \
  --source-ip 10.0.0.4 \
  --vm myVm \
  --nic myVmVMNic \
  --out table

Efter några sekunder informerar utdata dig om att nextHopType är Internet och att routeTableId är System Route. Med det här resultatet vet du att det finns en giltig väg till målet.

Testa utgående kommunikation från den virtuella datorn till 172.31.0.100:

az network watcher show-next-hop \
  --dest-ip 172.31.0.100 \
  --resource-group myResourceGroup \
  --source-ip 10.0.0.4 \
  --vm myVm \
  --nic myVmVMNic \
  --out table

Utdata som returneras informerar dig om att None är nextHopType och att routeTableId också är System Route. Resultatet visar att det visserligen finns en giltig systemväg till målet, men att det inte finns något nästa hopp för att dirigera trafiken till målet.

Visa information om en väg

Om du vill analysera routningen ytterligare granskar du de effektiva vägarna för nätverksgränssnittet med kommandot az network nic show-effective-route-table :

az network nic show-effective-route-table \
  --resource-group myResourceGroup \
  --name myVmVMNic

Följande text ingår i de returnerade utdata:

{
  "additionalProperties": {
    "disableBgpRoutePropagation": false
  },
  "addressPrefix": [
    "0.0.0.0/0"
  ],
  "name": null,
  "nextHopIpAddress": [],
  "nextHopType": "Internet",
  "source": "Default",
  "state": "Active"
},

När du använde az network watcher show-next-hop kommandot för att testa utgående kommunikation till 13.107.21.200 i Använd nästa hopp användes vägen med addressPrefix 0.0.0.0/0** för att dirigera trafik till adressen, eftersom ingen annan väg i utdata innehåller adressen. Som standard dirigeras alla adresser som inte anges inom adressprefixet till en annan väg till internet.

När du använde az network watcher show-next-hop kommandot för att testa utgående kommunikation till 172.31.0.100 informerade resultatet dig dock om att det inte fanns någon nästa hopptyp. I de returnerade utdata ser du även följande text:

{
  "additionalProperties": {
    "disableBgpRoutePropagation": false
      },
  "addressPrefix": [
    "172.16.0.0/12"
  ],
  "name": null,
  "nextHopIpAddress": [],
  "nextHopType": "None",
  "source": "Default",
  "state": "Active"
},

Som du ser i utdata från az network watcher nic show-effective-route-table kommandot, även om det finns en standardväg till prefixet 172.16.0.0/12, som innehåller adressen 172.31.0.100, är nextHopType Ingen. Azure skapar en standardväg till 172.16.0.0/12 men anger inte en nästa hopptyp förrän det finns någon anledning till det. Om du till exempel har lagt till adressintervallet 172.16.0.0/12 i adressutrymmet för det virtuella nätverket, ändrar Azure nextHopType till Virtuellt nätverk för vägen. En kontroll visar sedan Virtuellt nätverk som nextHopType.

Rensa resurser

När resurserna inte behövs längre kan du använda az group delete för att ta bort resursgruppen och alla relaterade resurser den innehåller:

az group delete --name myResourceGroup --yes

Nästa steg

I den här artikeln har du skapat en virtuell dator och diagnostiserat nätverksroutning från den virtuella datorn. Du har lärt dig att Azure skapar flera standardvägar och testat routning till två olika mål. Läs mer om routning i Azure och hur du skapar egna vägar.

För utgående VM-anslutningar kan du också fastställa svarstiden och tillåten och nekad nätverkstrafik mellan den virtuella datorn och en slutpunkt med hjälp av network watchers kapacitet för anslutningsfelsökning . Du kan övervaka kommunikationen mellan en virtuell dator och en slutpunkt, till exempel en IP-adress eller URL över tid med hjälp av övervakningsfunktionen för Network Watcher-anslutning. Mer information finns i Övervaka en nätverksanslutning.