Virtuálisgép-hálózat útválasztási problémájának diagnosztizálása – Azure PowerShell

Ebben a cikkben egy virtuális gépet helyez üzembe, majd ellenőrzi egy IP-címmel és URL-címmel folytatott kommunikációt. Meghatározza a kommunikációs hiba okát és feloldásának módját.

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Azure Cloud Shell

Az Azure által üzemeltetett Azure Cloud Shell egy interaktív felület, amelyet a böngészőből használhat. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. A Cloud Shell előre telepített parancsaival futtathatja a jelen cikkben szereplő kódot anélkül, hogy bármit telepítenie kellene a helyi környezetben.

Az Azure Cloud Shell indítása:

Lehetőség Példa/hivatkozás
Válassza a Kipróbálás lehetőséget egy kód vagy parancsblokk jobb felső sarkában. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. Képernyőkép az Azure Cloud Shell kipróbálásának példájáról.
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. Gomb az Azure Cloud Shell elindításához.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Képernyőkép az Azure Portal Cloud Shell gombjáról

Az Azure Cloud Shell használata:

  1. Indítsa el a Cloud Shellt.

  2. A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).

  3. Illessze be a kódot vagy parancsot a Cloud Shell-munkamenetbe a Windows és Linux rendszeren a Ctrl Shift+V billentyűkombinációval+, vagy a Cmd+Shift+V macOS rendszeren való kiválasztásával.

  4. A kód vagy parancs futtatásához válassza az Enter lehetőséget .

Ha a PowerShell helyi telepítését és használatát választja, ehhez a cikkhez az Az PowerShell-modul szükséges. További információ: Az Azure PowerShell telepítése. A telepített verzió azonosításához futtassa a következőt: Get-InstalledModule -Name Az. Ha helyileg futtatja a PowerShellt, jelentkezzen be az Azure-ba az Csatlakozás-AzAccount parancsmaggal.

Virtuális gép létrehozása

Mielőtt virtuális gépet hozhatna létre, létre kell hoznia egy erőforráscsoportot, amely majd tartalmazza a virtuális gépet. Hozzon létre egy erőforráscsoportot a New-AzResourceGroup használatával. A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot az eastus helyen.

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Hozza létre a virtuális gépet a New-AzVM használatával. Ennek a lépésnek a futtatásakor a rendszer a hitelesítő adatok megadását kéri. Az itt megadott értékek határozzák meg a virtuális géphez tartozó felhasználónevet és jelszót.

$vM = New-AzVm `
    -ResourceGroupName "myResourceGroup" `
    -Name "myVm" `
    -Location "East US"

A virtuális gép üzembe helyezése néhány percet vesz igénybe. Ne folytassa a további lépések megtételét, amíg létre nem jön a virtuális gép, és a PowerShell vissza nem adja a kimenetet.

Hálózati kommunikáció tesztelése

A Network Watcherrel való hálózati kommunikáció teszteléséhez először engedélyeznie kell egy hálózati figyelőt abban a régióban, amelyben a tesztelni kívánt virtuális gép található, majd a Network Watcher következő ugrási funkciójával tesztelheti a kommunikációt.

A Network Watcher engedélyezése

Ha már engedélyezve van egy hálózatfigyelő az USA keleti régiójában, a Get-AzNetworkWatcher használatával kérje le a hálózati figyelőt. A következő példa egy meglévő, NetworkWatcher_eastus nevű hálózati figyelőt kér le, amely a NetworkWatcherRG erőforráscsoportban található:

$networkWatcher = Get-AzNetworkWatcher `
  -Name NetworkWatcher_eastus `
  -ResourceGroupName NetworkWatcherRG

Ha még nincs engedélyezve hálózati figyelő az USA keleti régiójában, a New-AzNetworkWatcher használatával hozzon létre egy hálózati figyelőt az USA keleti régiójában:

$networkWatcher = New-AzNetworkWatcher `
  -Name "NetworkWatcher_eastus" `
  -ResourceGroupName "NetworkWatcherRG" `
  -Location "East US"

A következő ugrás használata

Az Azure automatikusan létrehoz útvonalakat az alapértelmezett célokhoz. Egyéni útvonalakat is létrehozhat, amelyekkel felülírhatja az Azure alapértelmezett útvonalait. Bizonyos esetekben az egyéni útvonalak kommunikációs hibákat eredményezhetnek. A virtuális gépről történő útválasztás teszteléséhez használja a Get-AzNetworkWatcherNextHop parancsot a következő útválasztási ugrás meghatározásához, amikor a forgalom egy adott címre irányul.

Tesztelje a virtuális gépről a www.bing.com IP-címére irányuló kimenő kommunikációt:

Get-AzNetworkWatcherNextHop `
  -NetworkWatcher $networkWatcher `
  -TargetVirtualMachineId $VM.Id `
  -SourceIPAddress 192.168.1.4 `
  -DestinationIPAddress 13.107.21.200

Néhány másodperc elteltével a kimenet tájékoztatja, hogy a NextHopType internet, a RouteTableId pedig a System Route. Ez az eredmény tudatja Önvel, hogy van érvényes útvonal a célhoz.

Tesztelje a virtuális gép kimenő kommunikációját a 172.31.0.100 címen:

Get-AzNetworkWatcherNextHop `
  -NetworkWatcher $networkWatcher `
  -TargetVirtualMachineId $VM.Id `
  -SourceIPAddress 192.168.1.4 `
  -DestinationIPAddress 172.31.0.100

A visszaadott kimenet tájékoztatja, hogy a None a NextHopType, és hogy a RouteTableId is System Route. Ez az eredmény azt jelzi, hogy létezik érvényes rendszerútvonal a cél felé, de nincs következő ugrás, hogy a forgalmat a cél felé irányítsa.

Útvonal részleteinek megtekintése

Az útválasztás további elemzéséhez tekintse át a hálózati adapter érvényes útvonalait a Get-AzEffectiveRouteTable paranccsal:

Get-AzEffectiveRouteTable `
  -NetworkInterfaceName myVm `
  -ResourceGroupName myResourceGroup |
  Format-table

A következő szöveget tartalmazó kimenet jelenik meg:

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

Ahogy az előző kimenetben látható, a 0.0.0.0/0 Címelőtaggalrendelkező útvonal az összes olyan forgalmat átirányítja, amely nem más útvonal címelőtagjaiban lévő címekre irányul az internet következő ugrásával. Ahogy a kimenetben is látható, bár a 172.16.0.0/12 előtagnak van egy alapértelmezett útvonala, amely tartalmazza a 172.31.0.100 címet, a nextHopType értéke Nincs. Az Azure létrehoz egy alapértelmezett útvonalat a 172.16.0.0/12 címhez, de amíg nincs oka rá, nem határozza meg a következő ugrás típusát. Ha például hozzáadta a 172.16.0.0/12 címtartományt a virtuális hálózat címteréhez, az Azure a következőHopType értéket virtuális hálózatra módosítja az útvonalhoz. Az ellenőrzés ezután a virtuális hálózatot jeleníti meg következőHopType értékként.

Az erőforrások eltávolítása

Ha már nincs rá szükség, a Remove-AzResourceGroup használatával eltávolíthatja az erőforráscsoportot és az összes benne lévő erőforrást:

Remove-AzResourceGroup -Name myResourceGroup -Force

Következő lépések

Ebben a cikkben létrehozott egy virtuális gépet, és diagnosztizálta a hálózati útválasztást a virtuális gépről. Megtudta, hogy az Azure számos alapértelmezett utat létrehoz, és tesztelte az útválasztást két különböző cél felé. További tudnivalók az Azure-beli útválasztásról és az egyéni útvonalak létrehozásáról.

Kimenő virtuálisgép-kapcsolatok esetén a Network Watcher kapcsolati hibaelhárítási funkciójával meghatározhatja a virtuális gép és a végpont közötti késést, valamint az engedélyezett és a megtagadott hálózati forgalmat. A Network Watcher kapcsolatfigyelő funkcióval monitorozhatja a virtuális gép és a végpont közötti kommunikációt, például ip-címet vagy URL-címet. További információ: Hálózati kapcsolat figyelése.