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
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
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í.