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 platných 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 ve směrovací tabulce a následným přidružením směrovací tabulky k podsíti. Efektivní trasy pro všechna síťová rozhraní v podsíti představují kombinaci tras, které vytvoříte, výchozích tras Azure a všech tras šířených z místní sítě přes bránu Azure VPN (pokud je vaše virtuální síť připojená k místní síti) prostřednictvím protokolu BGP (Border Gateway Protocol). Pokud neznáte koncepty virtuální sítě, síťového rozhraní nebo směrování, přečtěte si téma Přehled virtuální sítě, Síťové rozhraní a Přehled směrování.

Scenario

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 pomocí webu Azure Portal, PowerShellu nebo Azure CLI zobrazit efektivní trasy pro síťové rozhraní.

Následující kroky předpokládají, že máte existující virtuální počítač, pro který chcete zobrazit efektivní trasy. Pokud nemáte existující virtuální počítač, nejprve nasaďte virtuální počítač s Linuxem nebo Windows a dokončete úlohy v tomto článku. Příklady v tomto článku jsou určené pro virtuální počítač myVM se 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 v krocích pro virtuální počítač, pro který problém diagnostikujete.

Diagnostika pomocí Azure Portal

  1. Přihlaste se k webu Azure Portal pomocí účtu Azure, který má potřebná oprávnění.

  2. V horní části Azure Portal zadejte do vyhledávacího pole název virtuálního počítače, který je ve spuštěném stavu. Jakmile se ve výsledcích hledání zobrazí název virtuálního počítače, vyberte ho.

  3. V části Nastavení na levé straně vyberte Sítě a výběrem jeho názvu přejděte k prostředku síťového rozhraní. Zobrazení síťových rozhraní

  4. Na levé straně vyberte Efektivní trasy. Efektivní trasy pro síťové rozhraní myVMNic1 jsou znázorněny na následujícím obrázku: Zobrazení efektivních tras

    Pokud je k virtuálnímu počítači připojeno více síťových rozhraní, můžete jejich výběrem zobrazit platné trasy pro libovolné 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.

    V příkladu uvedeném na předchozím obrázku jsou uvedené trasy výchozí trasy, které Azure vytvoří pro každou podsíť. Váš seznam obsahuje alespoň tyto trasy, ale v závislosti na možnostech, které jste pro virtuální síť povolili, může obsahovat další trasy, jako je partnerský vztah s jinou virtuální sítí nebo připojení k 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 vaše síťové rozhraní, najdete v tématu Směrování provozu virtuální sítě. Pokud váš seznam obsahuje velký počet tras, může být jednodušší vybrat Stáhnout a stáhnout soubor .csv se seznamem tras.

I když byly efektivní trasy zobrazeny prostřednictvím virtuálního počítače v předchozích krocích, můžete také zobrazit efektivní trasy prostřednictvím:

Diagnostika pomocí PowerShellu

Poznámka

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. 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.

Následující příkazy můžete spustit v Azure Cloud Shell 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 powershell spouštíte z 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 a vyhledejte 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 také spustit příkaz Connect-AzAccount 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í 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 tématu Přehled 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 platné 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 máte stále potíže s komunikací, přečtěte si další informace o diagnostice a důležitých informacích.

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é, následující příkazy vrátí 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

Následující příkazy můžete spustit v Azure Cloud Shell 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 spouští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 tématu Přehled 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 platné 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 máte stále potíže s komunikací, přečtěte si další informace o diagnostice a důležitých informacích.

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é, následující příkazy vrátí 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 obvykle zahrnuje:

  • 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.
  • Ujistěte se, že směrovací tabulka obsahující všechny definované trasy je přidružená k podsíti, ve které se síťové rozhraní nachází. Zjistěte, jak přidružit směrovací tabulku k podsíti.
  • Zajištění provozuschopnosti zařízení, jako je brána Azure VPN Gateway nebo síťová virtuální zařízení, která jste nasadili. K určení problémů se službou Azure VPN Gateway využijte možnost diagnostiky vpn Network Watcher.

Pokud máte pořád problémy s komunikací, přečtěte si téma Důležité informace a další diagnostika.

Požadavky

Při řešení potíží s komunikací zvažte následující body:

  • Směrování je založené na nejdelší shodě 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, vybere se trasa 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, a to na základě všech dostupných tras. Když uvidíte, jak se trasy vyhodnocují pro síťové rozhraní, můžete mnohem snadněji řešit potíže 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 virtuálním zařízením jako typem dalšího segmentu směrování, ujistěte se, že je na síťovém virtuálním virtuálním zařízení, které přijímá provoz, povolené předávání IP adres, nebo se pakety zahodí. Přečtěte si další informace o povolení předávání IP adres pro síťové rozhraní. Kromě toho musí být operační systém nebo aplikace v rámci síťového virtuálního zařízení také schopné přesměrovávat síťový provoz a musí být k tomu nakonfigurované.
  • Pokud jste vytvořili trasu do 0.0.0.0/0, veškerý odchozí internetový provoz se směruje do dalšího segmentu 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í pomocí protokolů RDP nebo SSH z internetu k vašemu virtuálnímu počítači nemusí s touto trasou fungovat v závislosti na tom, jak další segment směrování zpracovává provoz. Je možné povolit vynucené tunelování:
    • Při použití sítě VPN typu site-to-site vytvořením trasy s typem dalšího segmentu směrování VPN Gateway. Přečtěte si další informace o konfiguraci vynucených tunelových propojení.
    • Pokud se přes protokol BGP inzeruje přes bránu virtuální sítě 0.0.0.0.0/0 (výchozí trasa) 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í pro rozsah předpon partnerské virtuální sítě existovat systémová trasa s typem dalšího směrování VNet Peering . Pokud taková trasa neexistuje a partnerský vztah virtuální sítě je Připojeno:
  • I když Azure každému síťovému rozhraní Azure přiřadí výchozí trasy, pokud máte k virtuálnímu počítači připojeno více síťových rozhraní, přiřadí se v rámci operačního systému virtuálního počítače výchozí trasa (0.0.0.0/0) nebo brána pouze primárnímu síťovému rozhraní. 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ím a sekundárním síťovém rozhraní.

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 směrování 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 způsobující 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 vynucujete tunelování provozu do místního zařízení prostřednictvím brány VPN nebo síťového virtuálního zařízení, je možné, že se nebudete moct připojit k virtuálnímu počítači z internetu v závislosti na tom, jak jste pro zařízení nakonfigurovali směrování. 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 Network Watcher můžete určit příčiny problémů se směrováním, filtrováním a odchozí komunikací v operačním systému.

Další kroky