Diagnostika problému se směrováním sítě virtuálních počítačů – Azure CLI

V tomto článku nasadíte virtuální počítač a pak zkontrolujete komunikaci s IP adresou a adresou URL. Určíte příčinu selhání komunikace a najdete jeho řešení.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Požadavky

  • Tento článek vyžaduje verzi 2.0 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.

  • Příkazy Azure CLI v tomto článku jsou formátované tak, aby běžely v prostředí Bash.

Vytvoření virtuálního počítače

Než vytvoříte virtuální počítač, musíte vytvořit skupinu prostředků, která bude virtuální počítač obsahovat. Vytvořte skupinu prostředků pomocí příkazu az group create. Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění eastus:

az group create --name myResourceGroup --location eastus

Vytvořte virtuální počítač pomocí příkazu az vm create. Pokud ve výchozím umístění klíčů ještě neexistují klíče SSH, příkaz je vytvoří. Chcete-li použít konkrétní sadu klíčů, použijte možnost --ssh-key-value. Následující příklad vytvoří virtuální počítač myVm:

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

Vytvoření virtuálního počítače trvá několik minut. Nepokračujte ve zbývajících krocích, dokud se virtuální počítač nevytvořil, a Azure CLI vrátí výstup.

Test síťové komunikace

Pokud chcete otestovat síťovou komunikaci se službou Network Watcher, musíte nejprve povolit sledovací proces sítě v oblasti, ve které je virtuální počítač, ve které chcete testovat, a pak pomocí funkce dalšího směrování služby Network Watcher otestovat komunikaci.

Povolení sledovacího procesu sítě

Pokud už máte v oblasti USA – východ povolený sledovací proces sítě, přeskočte na Další segment směrování. Pomocí příkazu az network watcher configure vytvořte sledovací proces sítě v oblasti USA – východ:

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

Použití dalšího směrování

Azure automaticky vytváří trasy pro výchozí cíle. Můžete vytvořit vlastní trasy, které přepíšou ty výchozí. Někdy můžou vlastní trasy způsobit selhání komunikace. Pokud chcete otestovat směrování z virtuálního počítače, pomocí příkazu az network watcher show-next-hop určete další segment směrování, když je provoz určený pro konkrétní adresu.

Otestujte odchozí komunikaci z virtuálního počítače na jednu z IP adres pro 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

Po několika sekundách vás výstup informuje, že nextHopType je Internet a že routeTableId je Systémová trasa. Tento výsledek vám umožní zjistit, že existuje platná trasa do cíle.

Otestujte odchozí komunikaci z virtuálního počítače na IP adresu 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

Vrácený výstup vás informuje, že none je nextHopType a že routeTableId je také systémová trasa. Tento výsledek říká, že i když existuje trasa systému do cíle, neexistuje žádné další směrování, které by do cíle směrovalo provoz.

Zobrazení podrobností o trase

Pokud chcete dál analyzovat směrování, projděte si efektivní trasy pro síťové rozhraní pomocí příkazu az network nic show-effective-route-table :

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

Vrácený výstup obsahuje následující text:

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

Při použití az network watcher show-next-hop příkazu k otestování odchozí komunikace na adresu 13.107.21.200 při použití dalšího segmentu směrování se trasa s adresouPrefix 0.0.0.0.0/0** byla použita ke směrování provozu na adresu, protože žádná jiná trasa ve výstupu neobsahuje adresu. Standardně se všechny adresy, které se nezadaly v předponě adresy jiné trasy, směrují do internetu.

Při použití az network watcher show-next-hop příkazu k otestování odchozí komunikace na verzi 172.31.0.100 vás však výsledek informoval, že neexistuje žádný typ dalšího segmentu směrování. Ve vráceném výstupu se také zobrazí následující text:

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

Jak vidíte ve výstupu az network watcher nic show-effective-route-table příkazu, i když existuje výchozí trasa na předponu 172.16.0.0/12, která obsahuje adresu 172.31.0.100, nextHopType je None. Azure vytváří výchozí trasu do 172.16.0.0/12, ale neurčuje typ dalšího směrování, dokud k tomu není důvod. Pokud jste například do adresního prostoru virtuální sítě přidali rozsah adres 172.16.0.0/12, Azure pro trasu změní typ nextHopType na virtuální síť . Kontrola by pak zobrazovala virtuální síť jako nextHopType.

Vyčištění prostředků

Pokud už je nepotřebujete, můžete k odebrání skupiny prostředků a všech prostředků, které obsahuje, použít příkaz az group delete:

az group delete --name myResourceGroup --yes

Další kroky

V tomto článku jste vytvořili virtuální počítač a diagnostikovali směrování sítě z virtuálního počítače. Dozvěděli jste se, že Azure vytváří několik výchozích tras, a otestovali jste směrování na dva různé cíle. Přečtěte si i další informace o směrování v Azure a o tom, jak vytvářet vlastní trasy.

U odchozích připojení virtuálních počítačů můžete také určit latenci a povolený a zakázaný síťový provoz mezi virtuálním počítačem a koncovým bodem pomocí funkce řešení potíží s připojením služby Network Watcher. Komunikaci mezi virtuálním počítačem a koncovým bodem, například IP adresou nebo adresou URL v průběhu času, můžete monitorovat pomocí funkce monitorování připojení služby Network Watcher. Další informace naleznete v tématu Monitorování síťového připojení.