Diagnostisera problem med nätverksroutning för virtuella datorer med hjälp av PowerShell
I den här artikeln får du lära dig hur du använder nästa hoppverktyg i Azure Network Watcher för att felsöka och diagnostisera routningsproblem för en virtuell dator (VM) som hindrar den från att kommunicera korrekt med andra resurser.
Förutsättningar
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
Azure Cloud Shell eller Azure PowerShell.
Stegen i den här artikeln kör Azure PowerShell-cmdletarna interaktivt i Azure Cloud Shell. Om du vill köra cmdletarna i Cloud Shell väljer du Öppna Cloud Shell i det övre högra hörnet i ett kodblock. Välj Kopiera för att kopiera koden och klistra sedan in den i Cloud Shell för att köra den. Du kan också köra Cloud Shell inifrån Azure Portal.
Du kan också installera Azure PowerShell lokalt för att köra cmdletarna. Kör Get-Module -ListAvailable Az för att hitta den installerade versionen. Om du kör PowerShell lokalt loggar du in på Azure med hjälp av cmdleten Connect-AzAccount .
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 New-AzResourceGroup. I följande exempel skapas en resursgrupp med namnet myResourceGroup i regionen eastus.
New-AzResourceGroup -Name myResourceGroup -Location EastUS
Skapa den virtuella datorn med hjälp av New-AzVM. När du kör det här steget uppmanas du att ange autentiseringsuppgifter. De värden som du anger konfigureras som användarnamn och lösenord för den virtuella datorn.
$vM = New-AzVm `
-ResourceGroupName "myResourceGroup" `
-Name "myVm" `
-Location "East US"
Det tar några minuter att skapa den virtuella datorn. Fortsätt inte med de återstående stegen förrän den virtuella datorn har skapats och PowerShell 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 använder du Get-AzNetworkWatcher för att hämta nätverksbevakaren. I följande exempel hämtas en befintlig nätverksbevakare med namnet NetworkWatcher_eastus som finns i resursgruppen NetworkWatcherRG:
$networkWatcher = Get-AzNetworkWatcher `
-Name NetworkWatcher_eastus `
-ResourceGroupName NetworkWatcherRG
Om du inte redan har en nätverksbevakare aktiverad i regionen USA, östra använder du New-AzNetworkWatcher för att skapa en nätverksbevakare i regionen USA, östra:
$networkWatcher = New-AzNetworkWatcher `
-Name "NetworkWatcher_eastus" `
-ResourceGroupName "NetworkWatcherRG" `
-Location "East US"
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 kommandot Get-AzNetworkWatcherNextHop 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:
Get-AzNetworkWatcherNextHop `
-NetworkWatcher $networkWatcher `
-TargetVirtualMachineId $VM.Id `
-SourceIPAddress 192.168.1.4 `
-DestinationIPAddress 13.107.21.200
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:
Get-AzNetworkWatcherNextHop `
-NetworkWatcher $networkWatcher `
-TargetVirtualMachineId $VM.Id `
-SourceIPAddress 192.168.1.4 `
-DestinationIPAddress 172.31.0.100
Utdata som returneras informerar dig om att Ingen är NextHopType och att RouteTableId också är systemväg. 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 Get-AzEffectiveRouteTable :
Get-AzEffectiveRouteTable `
-NetworkInterfaceName myVm `
-ResourceGroupName myResourceGroup |
Format-table
Utdata som innehåller följande text returneras:
Name State Source AddressPrefix NextHopType NextHopIpAddress
---- ----- ------ ------------- ----------- ----------------
Active Default {192.168.0.0/16} VnetLocal {}
Active Default {0.0.0.0/0} Internet {}
Active Default {10.0.0.0/8} None {}
Active Default {100.64.0.0/10} None {}
Active Default {172.16.0.0/12} None {}
Som du kan se i föregående utdata dirigerar vägen med AddressPrefix 0.0.0.0/0 all trafik som inte är avsedd för adresser inom den andra vägens adressprefix med ett nästa hopp av Internet. Som du också kan se i utdata, ä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 den inte längre behövs kan du använda Remove-AzResourceGroup för att ta bort resursgruppen och alla resurser som den innehåller:
Remove-AzResourceGroup -Name myResourceGroup -Force
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.