Diagnostika potíží se směrováním virtuálního počítače
V tomto článku se dozvíte, jak diagnostikovat problém se směrováním zobrazením tras, které jsou efektivní pro síťové rozhraní ve virtuálním počítači. Azure pro každou podsíť virtuální sítě vytvoří několik výchozích tras. Výchozí trasy Azure můžete přepsat definováním tras v směrovací tabulce a následným přidružením směrovací tabulky k podsíti. Kombinace tras, které vytvoříte, výchozích tras Azure a všech tras šířených z vaší místní sítě prostřednictvím brány Azure VPN Gateway (pokud je vaše virtuální síť připojená k místní síti) prostřednictvím protokolu BGP (Border Gateway Protocol), jsou efektivními trasami pro všechna síťová rozhraní v podsíti. Pokud neznáte koncepty virtuální sítě, síťového rozhraní nebo směrování, přečtěte si přehled virtuální sítě, síťové rozhraní a přehled směrování.
Scénář
Pokusíte se připojit k virtuálnímu počítači, ale připojení selže. Pokud chcete zjistit, proč se nemůžete připojit k virtuálnímu počítači, můžete zobrazit efektivní trasy pro síťové rozhraní pomocí webu Azure Portal, PowerShellu nebo Azure CLI.
Následující postup předpokládá, že máte existující virtuální počítač k zobrazení efektivních tras pro. Pokud ještě nemáte existující virtuální počítač, nejprve nasaďte virtuální počítač s Linuxem nebo Windows a dokončete úlohy uvedené v tomto článku. Příklady v tomto článku jsou určené pro virtuální počítač myVM s síťovým rozhraním myVMNic1. Virtuální počítač a síťové rozhraní jsou ve skupině prostředků myResourceGroup a jsou v oblasti USA – východ. Podle potřeby změňte hodnoty pro virtuální počítač, pro který problém diagnostikujete.
Diagnostika pomocí webu Azure Portal
Přihlaste se k webu Azure Portal pomocí účtu Azure, který má potřebná oprávnění.
V horní části webu Azure Portal zadejte do vyhledávacího pole název virtuálního počítače, který je ve spuštěném stavu. Když se ve výsledcích hledání zobrazí název virtuálního počítače, vyberte ho.
V části Nastavení vlevo vyberte Sítě a přejděte k prostředku síťového rozhraní tak, že vyberete jeho název.
Na levé straně vyberte Efektivní trasy. Efektivní trasy pro síťové rozhraní myVMNic1 jsou zobrazeny na následujícím obrázku:
Pokud je k virtuálnímu počítači připojeno více síťových rozhraní, můžete zobrazit efektivní trasy pro jakékoli síťové rozhraní tak, že ho vyberete. Vzhledem k tomu, že každé síťové rozhraní může být v jiné podsíti, může mít každé síťové rozhraní různé efektivní trasy.
V příkladu uvedeném na předchozím obrázku jsou uvedené trasy výchozími trasami, které Azure vytvoří pro každou podsíť. Seznam obsahuje alespoň tyto trasy, ale může mít další trasy v závislosti na možnostech, které jste pro virtuální síť povolili, například že je v partnerském vztahu s jinou virtuální sítí nebo připojená k vaší místní síti prostřednictvím brány Azure VPN. Další informace o jednotlivých trasách a dalších trasách, které se můžou zobrazit pro síťové rozhraní, najdete v tématu Směrování provozu virtuální sítě. Pokud seznam obsahuje velký počet tras, může být jednodušší vybrat Stáhnout, stáhnout soubor .csv se seznamem tras.
I když byly efektivní trasy zobrazeny přes virtuální počítač v předchozích krocích, můžete také zobrazit efektivní trasy prostřednictvím:
- Individuální síťové rozhraní: Zjistěte, jak zobrazit síťové rozhraní.
- Jednotlivé směrovací tabulky: Zjistěte, jak zobrazit směrovací tabulku.
Diagnostika pomocí PowerShellu
Poznámka:
Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Můžete spustit příkazy, které následují v Azure Cloud Shellu, nebo spuštěním PowerShellu z počítače. Azure Cloud Shell je bezplatné interaktivní prostředí. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem. Pokud spustíte PowerShell ze svého počítače, potřebujete modul Azure PowerShell verze 1.0.0 nebo novější. Spusťte Get-Module -ListAvailable Az
na počítači nainstalovanou verzi. Pokud potřebujete upgrade, přečtěte si téma Instalace modulu Azure PowerShell. Pokud používáte PowerShell místně, musíte se také přihlásit Connect-AzAccount
k Azure pomocí účtu, který má potřebná oprávnění.
Získejte efektivní trasy pro síťové rozhraní pomocí rutiny Get-AzEffectiveRouteTable. Následující příklad získá efektivní trasy pro síťové rozhraní myVMNic1, která je ve skupině prostředků myResourceGroup:
Get-AzEffectiveRouteTable `
-NetworkInterfaceName myVMNic1 `
-ResourceGroupName myResourceGroup `
| Format-Table
Informace vrácené ve výstupu najdete v přehledu směrování. Výstup se vrátí jenom v případě, že je virtuální počítač ve spuštěném stavu. Pokud je k virtuálnímu počítači připojeno více síťových rozhraní, můžete zkontrolovat efektivní trasy pro každé síťové rozhraní. Vzhledem k tomu, že každé síťové rozhraní může být v jiné podsíti, může mít každé síťové rozhraní různé efektivní trasy. Pokud stále máte problém s komunikací, prohlédni si další diagnostika a důležité informace.
Pokud neznáte název síťového rozhraní, ale znáte název virtuálního počítače, ke kterému je síťové rozhraní připojené, vrátí následující příkazy ID všech síťových rozhraní připojených k virtuálnímu počítači:
$VM = Get-AzVM -Name myVM `
-ResourceGroupName myResourceGroup
$VM.NetworkProfile
Zobrazí se výstup podobný následujícímu příkladu:
NetworkInterfaces
-----------------
{/subscriptions/<ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic1
V předchozím výstupu je název síťového rozhraní myVMNic1.
Diagnostika pomocí Azure CLI
Můžete spustit příkazy, které následují v Azure Cloud Shellu, nebo spuštěním rozhraní příkazového řádku z počítače. Tento článek vyžaduje Azure CLI verze 2.0.32 nebo novější. Nainstalovanou verzi zjistíte spuštěním příkazu az --version
. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI. Pokud používáte Azure CLI místně, musíte také spustit az login
Azure a přihlásit se k Azure pomocí účtu, který má potřebná oprávnění.
Získejte efektivní trasy pro síťové rozhraní pomocí příkazu az network nic show-effective-route-table. Následující příklad získá efektivní trasy pro síťové rozhraní myVMNic1 , které je ve skupině prostředků myResourceGroup:
az network nic show-effective-route-table \
--name myVMNic1 \
--resource-group myResourceGroup
Informace vrácené ve výstupu najdete v přehledu směrování. Výstup se vrátí jenom v případě, že je virtuální počítač ve spuštěném stavu. Pokud je k virtuálnímu počítači připojeno více síťových rozhraní, můžete zkontrolovat efektivní trasy pro každé síťové rozhraní. Vzhledem k tomu, že každé síťové rozhraní může být v jiné podsíti, může mít každé síťové rozhraní různé efektivní trasy. Pokud stále máte problém s komunikací, prohlédni si další diagnostika a důležité informace.
Pokud neznáte název síťového rozhraní, ale znáte název virtuálního počítače, ke kterému je síťové rozhraní připojené, vrátí následující příkazy ID všech síťových rozhraní připojených k virtuálnímu počítači:
az vm show \
--name myVM \
--resource-group myResourceGroup
Řešení problému
Řešení problémů se směrováním se obvykle skládá z:
- Přidání vlastní trasy pro přepsání jedné z výchozích tras Azure Zjistěte, jak přidat vlastní trasu.
- Změňte nebo odeberte vlastní trasu, která může způsobit směrování do nežádoucího umístění. Zjistěte, jak změnit nebo odstranit vlastní trasu.
- Zajistěte, aby směrovací tabulka obsahující všechny vlastní trasy, které jste definovali, byla přidružená k podsíti, ve které je síťové rozhraní. Zjistěte, jak přidružit směrovací tabulku k podsíti.
- Zajištění funkčnosti zařízení, jako je azure VPN Gateway nebo síťová virtuální zařízení, která jste nasadili. Pomocí funkce diagnostiky SÍTĚ VPN služby Network Watcher můžete určit případné problémy s bránou Azure VPN.
Pokud stále máte problémy s komunikací, přečtěte si téma Důležité informace a další diagnostika.
Důležité informace
Při řešení potíží s komunikací zvažte následující body:
- Směrování vychází z nejdelší shody předpon (LPM) mezi trasami, které jste definovali, protokolem BGP (Border Gateway Protocol) a systémovou trasou. Pokud existuje více tras se stejnou shodou LPM, je trasa vybrána na základě jejího původu v pořadí uvedeném v přehledu směrování. U efektivních tras můžete zobrazit pouze efektivní trasy, které odpovídají LPM na základě všech dostupných tras. Když se dozvíte, jak se trasy vyhodnocují pro síťové rozhraní, výrazně usnadňuje řešení potíží s konkrétními trasami, které můžou mít vliv na komunikaci z vašeho virtuálního počítače.
- Pokud jste definovali vlastní trasy do síťového virtuálního zařízení (NVA) s typem dalšího segmentu směrování, ujistěte se, že je na síťovém virtuálním zařízení, které přijímá provoz, povolené předávání IP, nebo se zahodí pakety. Přečtěte si další informace o povolení předávání IP pro síťové rozhraní. Kromě toho operační systém nebo aplikace v rámci síťového virtuálního zařízení musí být také schopny přesměrovat síťový provoz a musí být nakonfigurované tak, aby to bylo možné.
- Pokud jste vytvořili trasu na adresu 0.0.0.0/0, veškerý odchozí internetový provoz se směruje na další segment směrování, který jste zadali, například do síťového virtuálního zařízení nebo brány VPN. Vytvoření takové trasy se často označuje jako vynucené tunelování. Vzdálená připojení používající protokoly RDP nebo SSH z internetu k vašemu virtuálnímu počítači nemusí s touto trasou fungovat, a to v závislosti na tom, jak další segment směrování zpracovává provoz. Vynucené tunelování je možné povolit:
- Pokud používáte vpn typu site-to-site, vytvořte trasu s typem dalšího segmentu směrování služby VPN Gateway. Přečtěte si další informace o konfiguraci vynucených tunelů.
- Pokud se protokol 0.0.0.0/0 (výchozí trasa) inzeruje přes protokol BGP prostřednictvím brány virtuální sítě při použití sítě VPN typu site-to-site nebo okruhu ExpressRoute. Přečtěte si další informace o používání protokolu BGP s vpn typu site-to-site nebo ExpressRoute.
- Aby provoz peeringu virtuálních sítí fungoval správně, musí existovat systémová trasa s typem dalšího směrování peeringu virtuálních sítí pro rozsah předpon partnerské virtuální sítě. Pokud taková trasa neexistuje a partnerský vztah virtuální sítě je připojený:
- Počkejte několik sekund a zkuste to znovu. Pokud se jedná o nově vytvořený partnerský vztah, někdy trvá rozšíření tras do všech síťových rozhraní v podsíti delší dobu. Další informace o partnerském vztahu virtuálních sítí najdete v tématu Přehled partnerského vztahu virtuálních sítí a správa partnerských vztahů virtuálních sítí.
- Pravidla skupin zabezpečení sítě můžou mít vliv na komunikaci. Další informace najdete v tématu Diagnostika problému s filtrováním síťového provozu virtuálního počítače.
- Přestože Azure přiřazuje výchozí trasy každému síťovému rozhraní Azure, pokud máte k virtuálnímu počítači připojené více síťových rozhraní, přiřadí se v operačním systému virtuálního počítače výchozí trasa (0.0.0.0/0) nebo brána. Zjistěte, jak vytvořit výchozí trasu pro sekundární síťová rozhraní připojená k virtuálnímu počítači s Windows nebo Linuxem. Přečtěte si další informace o primárních a sekundárních síťových rozhraních.
Další diagnostika
- Pokud chcete spustit rychlý test, který určí typ dalšího segmentu směrování pro provoz směřující do umístění, použijte funkci dalšího segmentu směrování služby Azure Network Watcher. Další segment směrování vám řekne, jaký je typ dalšího segmentu směrování pro provoz směřující do zadaného umístění.
- Pokud neexistují žádné trasy, které by způsobily selhání síťové komunikace virtuálního počítače, příčinou problému může být software brány firewall spuštěný v operačním systému virtuálního počítače.
- Pokud vynutíte tunelové propojení do místního zařízení přes bránu VPN nebo síťové virtuální zařízení, možná se nebudete moct připojit k virtuálnímu počítači z internetu v závislosti na tom, jak jste nakonfigurovali směrování pro zařízení. Ověřte, že směrování, které jste nakonfigurovali pro zařízení, směruje provoz na veřejnou nebo privátní IP adresu virtuálního počítače.
- Pomocí funkce řešení potíží s připojením služby Network Watcher můžete určit směrování, filtrování a příčiny odchozí komunikace v operačním systému.
Další kroky
- Přečtěte si o všech úkolech, vlastnostech a nastaveních směrovací tabulky a tras.
- Přečtěte si o všech typech dalšího směrování, systémových trasách a o tom, jak Azure vybere trasu.