Diagnose des Routingproblems einer VMDiagnose a virtual machine routing problem

In diesem Artikel erfahren Sie, wie Sie ein Routingproblem durch Anzeigen der effektiven Routen für eine Netzwerkschnittstelle in einem virtuellen Computer (VM) diagnostizieren.In this article, you learn how to diagnose a routing problem by viewing the routes that are effective for a network interface in a virtual machine (VM). In Azure werden mehrere Standardrouten für jedes Subnetz eines virtuellen Netzwerks erstellt.Azure creates several default routes for each virtual network subnet. Sie können Standardrouten von Azure durch Definieren von Routen in einer Routingtabelle überschreiben und dann die Routingtabelle einem Subnetz zuordnen.You can override Azure's default routes by defining routes in a route table, and then associating the route table to a subnet. Aus der Kombination von Routen, die Sie erstellen, Standardrouten von Azure und allen Routen, die von Ihrem lokalen Netzwerk durch ein Azure-VPN-Gateway (sofern das virtuelle Netzwerk mit Ihrem lokalen Netzwerk verbunden ist) über das Border Gateway Protocol (BGP) verteilt werden, resultieren die effektiven Routen für alle Netzwerkschnittstellen in einem Subnetz.The combination of routes you create, Azure's default routes, and any routes propagated from your on-premises network through an Azure VPN gateway (if your virtual network is connected to your on-premises network) via the border gateway protocol (BGP), are the effective routes for all network interfaces in a subnet. Wenn Sie nicht mit virtuellem Netzwerk, Netzwerkschnittstelle oder Routingkonzepten vertraut sind, lesen Sie Was ist Azure Virtual Network?, Erstellen, Ändern oder Löschen von Netzwerkschnittstellen und Routing von Datenverkehr für virtuelle Netzwerke.If you're not familiar with virtual network, network interface, or routing concepts, see Virtual network overview, Network interface, and Routing overview.

SzenarioScenario

Sie versuchen, eine Verbindung mit einer VM herzustellen, aber ohne Erfolg.You attempt to connect to a VM, but the connection fails. Um zu bestimmen, warum Sie keine Verbindung mit dem virtuellen Computer herstellen können, können Sie die effektiven Routen für eine Netzwerkschnittstelle mit Azure-Portal, PowerShell oder Azure CLI anzeigen.To determine why you can't connect to the VM, you can view the effective routes for a network interface using the Azure portal, PowerShell, or the Azure CLI.

Die folgenden Schritte setzen voraus, dass Sie über einen virtuellen Computer verfügen, dessen effektive Routen Sie anzeigen können.The steps that follow assume you have an existing VM to view the effective routes for. Wenn Sie nicht über einen virtuellen Computer verfügen, stellen Sie zuerst eine Linux- oder Windows-VM zum Ausführen der Aufgaben in diesem Artikel bereit.If you don't have an existing VM, first deploy a Linux or Windows VM to complete the tasks in this article with. Die Beispiele in diesem Artikel beziehen sich auf eine VM mit dem Namen myVM mit einer Netzwerkschnittstelle namens myVMVMNic.The examples in this article are for a VM named myVM with a network interface named myVMVMNic. VM und Netzwerkschnittstelle gehören zu einer Ressourcengruppe mit dem Namen myResourceGroup in der Region USA, Osten.The VM and network interface are in a resource group named myResourceGroup, and are in the East US region. Ändern Sie die Werte in den Schritten nach Bedarf für die VM, deren Problem Sie diagnostizieren.Change the values in the steps, as appropriate, for the VM you are diagnosing the problem for.

Diagnostizieren über das Azure-PortalDiagnose using Azure portal

  1. Melden Sie sich beim Azure-Portal mit einem Azure-Konto an, dem die erforderlichen Berechtigungen zugewiesen sind.Log into the Azure portal with an Azure account that has the necessary permissions.

  2. Geben Sie oben im Azure-Portal in das Suchfeld den Namen eines virtuellen Computers ein, der sich im Ausführungsstatus befindet.At the top of the Azure portal, enter the name of a VM that is in the running state, in the search box. Wenn der Name der VM in den Suchergebnissen angezeigt wird, wählen Sie ihn aus.When the name of the VM appears in the search results, select it.

  3. Wählen Sie Diagnose und Problembehandlung aus und dann unter Empfohlene Schritte die Option Effektive Routen in Punkt 7, wie in der folgenden Abbildung gezeigt:Select Diagnose and solve problems, and then under Recommended steps, select effective routes in item 7, as shown in the following picture:

    Anzeigen effektiver Routen

  4. Die effektiven Routen für eine Netzwerkschnittstelle namens myVMVMNic werden in der folgenden Abbildung dargestellt:The effective routes for a network interface named myVMVMNic are shown, in the following picture:

    Anzeigen effektiver Routen

    Wenn dem virtuellen Computer mehrere Netzwerkschnittstellen angefügt sind, können Sie die effektiven Routen für eine Netzwerkschnittstelle anzeigen, indem Sie sie auswählen.If there are multiple network interfaces attached to the VM, you can view the effective routes for any network interface by selecting it. Da sich jede Netzwerkschnittstelle in einem anderen Subnetz befinden kann, kann jede Netzwerkschnittstelle über unterschiedliche effektive Routen verfügen.Since each network interface can be in a different subnet, each network interface can have different effective routes.

    In dem in der vorherigen Abbildung gezeigten Beispiel sind die aufgelisteten Routen Standardrouten, die Azure für jedes Subnetz erstellt.In the example shown in the previous picture, the listed routes are default routes that Azure creates for each subnet. Ihre Liste verfügt mindestens über diese Routen, aber möglicherweise über zusätzliche Routen, je nach den Funktionen, die Sie für Ihr virtuelles Netzwerk aktiviert haben, z.B. seine Verbindung im Peering mit einem anderen virtuellen Netzwerk oder seine Verbindung mit dem lokalen Netzwerk über ein Azure-VPN-Gateway.Your list has at least these routes, but may have additional routes, depending on capabilities you may have enabled for your virtual network such as it being peered with another virtual network or connected to your on-premises network through an Azure VPN gateway. Weitere Informationen zu den einzelnen Routen und anderen Routen, die möglicherweise für die Netzwerkschnittstelle angezeigt werden, finden Sie unter Routing von Datenverkehr für virtuelle Netzwerke.To learn more about each of the routes, and other routes you may see for your network interface, see Virtual network traffic routing. Wenn die Liste eine große Anzahl von Routen aufweist, ist es einfacher, wenn Sie Herunterladen auswählen, um eine CSV-Datei mit der Liste der Routen herunterzuladen.If your list has a large number of routes, you may find it easier to select Download, to download a .csv file with the list of routes.

Effektive Routen können nicht nur, wie in den vorherigen Schritten, über die VM angezeigt werden, sondern auch folgendermaßen:Though effective routes were viewed through the VM in the previous steps, you can also view effective routes through an:

Diagnose mit PowerShellDiagnose using PowerShell

Hinweis

Dieser Artikel wurde aktualisiert und beinhaltet jetzt das neue Az-Modul von Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Sie können das AzureRM-Modul weiterhin verwenden, das bis mindestens Dezember 2020 weiterhin Fehlerbehebungen erhält.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Weitere Informationen zum neuen Az-Modul und zur Kompatibilität mit AzureRM finden Sie unter Introducing the new Azure PowerShell Az module (Einführung in das neue Az-Modul von Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Anweisungen zur Installation des Az-Moduls finden Sie unter Install Azure PowerShell (Installieren von Azure PowerShell).For Az module installation instructions, see Install Azure PowerShell.

Sie können die nachfolgenden Befehle in Azure Cloud Shell oder über PowerShell auf Ihrem Computer ausführen.You can run the commands that follow in the Azure Cloud Shell, or by running PowerShell from your computer. Azure Cloud Shell ist eine kostenlose interaktive Shell.The Azure Cloud Shell is a free interactive shell. Sie verfügt über allgemeine vorinstallierte Tools und ist für die Verwendung mit Ihrem Konto konfiguriert.It has common Azure tools preinstalled and configured to use with your account. Wenn Sie PowerShell auf Ihrem Computer ausführen, müssen Sie das Azure PowerShell-Modul Version 1.0.0 oder höher ausführen.If you run PowerShell from your computer, you need the Azure PowerShell module, version 1.0.0 or later. Führen Sie Get-Module -ListAvailable Az auf Ihrem Computer aus, um nach der installierten Version zu suchen.Run Get-Module -ListAvailable Az on your computer, to find the installed version. Wenn Sie ein Upgrade ausführen müssen, finden Sie unter Installieren des Azure PowerShell-Moduls Informationen dazu.If you need to upgrade, see Install Azure PowerShell module. Wenn Sie PowerShell lokal ausführen, müssen Sie auch Connect-AzAccount ausführen, um sich bei Azure mit einem Konto anzumelden, das über die erforderlichen Berechtigungen verfügt.If you are running PowerShell locally, you also need to run Connect-AzAccount to log into Azure with an account that has the necessary permissions.

Rufen Sie die effektiven Routen für eine Netzwerkschnittstelle mit Get-AzEffectiveRouteTable auf.Get the effective routes for a network interface with Get-AzEffectiveRouteTable. Im folgenden Beispiel werden die effektiven Routen für eine Netzwerkschnittstelle mit dem Namen myVMVMNic abgerufen, die sich in einer Ressourcengruppe mit dem Namen myResourceGroup befindet:The following example gets the effective routes for a network interface named myVMVMNic, that is in a resource group named myResourceGroup:

Get-AzEffectiveRouteTable `
  -NetworkInterfaceName myVMVMNic `
  -ResourceGroupName myResourceGroup `
  | Format-Table

Um die in der Ausgabe zurückgegebenen Informationen zu verstehen, lesen Sie Routing von Datenverkehr für virtuelle Netzwerke.To understand the information returned in the output, see Routing overview. Die Ausgabe wird nur zurückgegeben, wenn der virtuelle Computer ausgeführt wird.Output is only returned if the VM is in the running state. Wenn dem virtuellen Computer mehrere Netzwerkschnittstellen angefügt sind, können Sie die effektiven Routen für jede Netzwerkschnittstelle anzeigen.If there are multiple network interfaces attached to the VM, you can review the effective routes for each network interface. Da sich jede Netzwerkschnittstelle in einem anderen Subnetz befinden kann, kann jede Netzwerkschnittstelle über unterschiedliche effektive Routen verfügen.Since each network interface can be in a different subnet, each network interface can have different effective routes. Wenn das Kommunikationsproblem weiterhin besteht, lesen Sie die Abschnitte Zusätzliche Diagnose und Überlegungen.If you're still having a communication problem, see additional diagnosis and considerations.

Wenn Sie den Namen einer Netzwerkschnittstelle nicht kennen, aber den Namen der VM, der die Netzwerkschnittstelle angefügt ist, geben die folgenden Befehle die IDs aller Netzwerkschnittstellen zurück, die einer VM angefügt sind:If you don't know the name of a network interface, but do know the name of the VM the network interface is attached to, the following commands return the IDs of all network interfaces attached to a VM:

$VM = Get-AzVM -Name myVM `
  -ResourceGroupName myResourceGroup
$VM.NetworkProfile

Eine Ausgabe ähnlich wie im folgenden Beispiel wird angezeigt:You receive output similar to the following example:

NetworkInterfaces
-----------------
{/subscriptions/<ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMVMNic

In der vorherigen Ausgabe lautete der Netzwerkschnittstellenname myVMVMNic.In the previous output, the network interface name is myVMVMNic.

Diagnose über die Azure CLIDiagnose using Azure CLI

Sie können die nachfolgenden Befehle in Azure Cloud Shell oder über die CLI auf Ihrem Computer ausführen.You can run the commands that follow in the Azure Cloud Shell, or by running the CLI from your computer. Für diesen Artikel ist die Azure CLI-Version 2.0.32 oder höher erforderlich.This article requires the Azure CLI version 2.0.32 or later. Führen Sie az --version aus, um die installierte Version zu ermitteln.Run az --version to find the installed version. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sei bei Bedarf unter Installieren der Azure CLI.If you need to install or upgrade, see Install Azure CLI. Wenn Sie die Azure CLI lokal ausführen, müssen Sie auch az login ausführen, um sich bei Azure mit einem Konto anzumelden, das über die erforderlichen Berechtigungen verfügt.If you are running the Azure CLI locally, you also need to run az login and log into Azure with an account that has the necessary permissions.

Rufen Sie mit az network nic show-effective-route-table die effektiven Routen für eine Netzwerkschnittstelle ab.Get the effective routes for a network interface with az network nic show-effective-route-table. Im folgenden Beispiel werden die effektiven Routen für eine Netzwerkschnittstelle mit dem Namen myVMVMNic abgerufen, die sich in einer Ressourcengruppe mit dem Namen myResourceGroup befindet:The following example gets the effective routes for a network interface named myVMVMNic that is in a resource group named myResourceGroup:

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

Um die in der Ausgabe zurückgegebenen Informationen zu verstehen, lesen Sie Routing von Datenverkehr für virtuelle Netzwerke.To understand the information returned in the output, see Routing overview. Die Ausgabe wird nur zurückgegeben, wenn der virtuelle Computer ausgeführt wird.Output is only returned if the VM is in the running state. Wenn dem virtuellen Computer mehrere Netzwerkschnittstellen angefügt sind, können Sie die effektiven Routen für jede Netzwerkschnittstelle anzeigen.If there are multiple network interfaces attached to the VM, you can review the effective routes for each network interface. Da sich jede Netzwerkschnittstelle in einem anderen Subnetz befinden kann, kann jede Netzwerkschnittstelle über unterschiedliche effektive Routen verfügen.Since each network interface can be in a different subnet, each network interface can have different effective routes. Wenn das Kommunikationsproblem weiterhin besteht, lesen Sie die Abschnitte Zusätzliche Diagnose und Überlegungen.If you're still having a communication problem, see additional diagnosis and considerations.

Wenn Sie den Namen einer Netzwerkschnittstelle nicht kennen, aber den Namen der VM, der die Netzwerkschnittstelle angefügt ist, geben die folgenden Befehle die IDs aller Netzwerkschnittstellen zurück, die einer VM angefügt sind:If you don't know the name of a network interface, but do know the name of the VM the network interface is attached to, the following commands return the IDs of all network interfaces attached to a VM:

az vm show \
  --name myVM \
  --resource-group myResourceGroup

Beheben eines ProblemsResolve a problem

Die Lösung von Routingproblemen erfolgt in der Regel folgendermaßen:Resolving routing problems typically consists of:

  • Fügen Sie eine benutzerdefinierte Route hinzu, um die Standardrouten von Azure außer Kraft zu setzen.Adding a custom route to override one of Azure's default routes. Erfahren Sie, wie Sie eine benutzerdefinierte Route hinzufügen.Learn how to add a custom route.
  • Ändern oder entfernen Sie eine benutzerdefinierte Route, die eine Weiterleitung an einen unerwünschten Ort zur Folge haben könnte.Change or remove a custom route that may cause routing to an undesired location. Erfahren Sie, wie Sie eine benutzerdefinierte Route ändern oder löschen.Learn how to change or delete a custom route.
  • Stellen Sie sicher, dass die Routingtabelle, die benutzerdefinierte Routen enthält, die Sie definiert haben, dem Subnetz zugeordnet ist, in dem sich die Netzwerkschnittstelle befindet.Ensuring that the route table that contains any custom routes you've defined is associated to the subnet the network interface is in. Erfahren Sie, wie Sie eine Routingtabelle einem Subnetz zuordnen.Learn how to associate a route table to a subnet.
  • Stellen Sie sicher, dass Geräte wie das Azure-VPN-Gateway oder virtuelle Netzwerkappliances, die Sie bereitgestellt haben, funktionsfähig sind.Ensuring that devices such as Azure VPN gateway or network virtual appliances you've deployed are operable. Verwenden Sie die VPN-Diagnose von Network Watcher, um Probleme mit einem Azure-VPN-Gateway zu bestimmen.Use the VPN diagnostics capability of Network Watcher to determine any problems with an Azure VPN gateway.

Falls weiterhin Probleme mit der Kommunikation bestehen, lesen Sie die Abschnitte Überlegungen und „Zusätzliche Diagnose“.If you're still having communication problems, see Considerations and Additional diagnosis.

ÜberlegungenConsiderations

Beachten Sie bei der Behandlung von Kommunikationsproblemen die folgenden Punkte:Consider the following points when troubleshooting communication problems:

  • Routing basiert auf der längsten Präfixübereinstimmung (Longest Prefix Match, LPM) bei Routen, die Sie definiert haben, Border Gateway Protocol (BGP) und Systemrouten.Routing is based on longest prefix match (LPM) among routes that you've defined, border gateway protocol (BGP), and system routes. Wenn mehrere Routen mit identischer längster Präfixübereinstimmung vorhanden sind, wird die Route gemäß ihrem Ursprung in der unter Auswahl einer Route durch Azure aufgelisteten Reihenfolge ausgewählt.If there is more than one route with the same LPM match, then a route is selected based on its origin in the order listed in Routing overview. Mit effektiven Routen können Sie nur die effektiven Routen mit der basierend auf allen verfügbaren Routen jeweils längsten Präfixübereinstimmung anzeigen.With effective routes, you can only see effective routes that are an LPM match, based on all the available routes. Zu sehen, wie die Routen für eine Netzwerkschnittstelle ausgewertet werden, vereinfacht die Problembehandlung bestimmter Routen erheblich, die die Verbindung mit dem virtuellen Computer beeinträchtigen können.Seeing how the routes are evaluated for a network interface makes it a lot easier to troubleshoot specific routes that may be impacting communication from your VM.
  • Wenn Sie benutzerdefinierte Routen zu einer virtuellen Netzwerkappliance (Network Virtual Appliance, NVA) mit Virtuelles Gerät als nächstem Hoptyp definiert haben, müssen Sie sicherstellen, dass die IP-Weiterleitung auf der NVA aktiviert ist, die den Datenverkehr empfängt – andernfalls werden Pakete verworfen.If you've defined custom routes to a network virtual appliance (NVA), with Virtual Appliance as the next hop type, ensure that IP forwarding is enabled on the NVA receiving the traffic, or packets are dropped. Erfahren Sie mehr über das Aktivieren der IP-Weiterleitung für eine Netzwerkschnittstelle.Learn more about enabling IP forwarding for a network interface. Darüber hinaus muss das Betriebssystem oder die Anwendung innerhalb der NVA auch Netzwerkdatenverkehr weiterleiten können und dafür konfiguriert sein.Additionally, the operating system, or application within the NVA must also be able to forward network traffic and be configured to do so.
  • Wenn Sie eine Route zu 0.0.0.0/0 erstellt haben, wird der gesamte ausgehende Internetdatenverkehr an den nächsten Hop weitergeleitet, den Sie angegeben haben, z.B. zu einer NVA oder einem VPN-Gateway.If you've created a route to 0.0.0.0/0, all outbound internet traffic is routed to the next hop you specified, such as to an NVA or VPN gateway. Das Erstellen einer solchen Route wird häufig als Tunnelerzwingung bezeichnet.Creating such a route is often referred to as forced tunneling. Remoteverbindungen zwischen dem Internet und Ihrem virtuellen Computer mithilfe der Protokolle RDP oder SSH funktionieren mit dieser Route möglicherweise nicht, je nachdem, wie der nächste Hop den Datenverkehr verarbeitet.Remote connections using the RDP or SSH protocols from the internet to your VM may not work with this route, depending on how the next hop handles the traffic. Die Tunnelerzwingung kann in folgenden Fällen aktiviert werden:Forced-tunneling can be enabled:
    • Bei Verwendung eines Site-to-Site-VPN beim Erstellen einer Route mit dem nächsten Hoptyp VPN Gateway.When using site-to-site VPN, by creating a route with a next hop type of VPN Gateway. Weitere Informationen zum Konfigurieren der Tunnelerzwingung.Learn more about configuring forced tunneling.
    • Wenn 0.0.0.0/0 (Standardroute) über BGP über ein virtuelles Netzwerkgateway angekündigt wird, bei Verwendung eines Site-to-Site-VPN oder einer ExpressRoute-Leitung.If a 0.0.0.0/0 (default route) is advertised over BGP through a virtual network gateway when using a site-to-site VPN, or ExpressRoute circuit. Weitere Informationen zur Verwendung von BGP mit Site-to-Site-VPN oder ExpressRoute finden Sie hier.Learn more about using BGP with a site-to-site VPN or ExpressRoute.
  • Damit der Peering-Datenverkehr des virtuellen Netzwerks ordnungsgemäß weitergeleitet wird, muss eine Systemroute mit einem nächsten Hoptyp VNET-Peering für den Präfixbereich des per Peering verknüpften virtuellen Netzwerks vorhanden sein.For virtual network peering traffic to work correctly, a system route with a next hop type of VNet Peering must exist for the peered virtual network's prefix range. Wenn eine solche Route nicht vorhanden und der Peeringlink des virtuellen Netzwerks Verbunden ist:If such a route doesn't exist, and the virtual network peering link is Connected:
  • Wenn dem virtuellen Computer mehrere Netzwerkschnittstellen angefügt sind, wird nur der primären Netzwerkschnittstelle im Betriebssystem des virtuellen Computers eine Standardroute (0.0.0.0/0) oder ein Gateway zugewiesen, obwohl Azure jeder Azure-Netzwerkschnittstelle Standardrouten zuweist.Though Azure assigns default routes to each Azure network interface, if you have multiple network interfaces attached to the VM, only the primary network interface is assigned a default route (0.0.0.0/0), or gateway, within the VM's operating system. Erfahren Sie, wie Sie eine Standardroute für sekundäre Netzwerkschnittstellen erstellen, die einer Windows- oder Linux-VM angefügt sind.Learn how to create a default route for secondary network interfaces attached to a Windows or Linux VM. Erfahren Sie mehr über primäre und sekundäre Netzwerkschnittstellen.Learn more about primary and secondary network interfaces.

Zusätzliche DiagnoseAdditional diagnosis

  • Um einen Schnelltest zur Bestimmung des nächsten Hoptyps für den an einen bestimmten Standort gerichteten Datenverkehr durchzuführen, nutzen Sie die Funktion Nächster Hop von Azure Network Watcher.To run a quick test to determine the next hop type for traffic destined to a location, use the Next hop capability of Azure Network Watcher. „Nächster Hop“ gibt Ihnen Aufschluss über den nächsten Hoptyp für Datenverkehr, der an einen bestimmten Standort gerichtet ist.Next hop tells you what the next hop type is for traffic destined to a specified location.
  • Wenn keine Routen vorliegen, die bei der Netzwerkkommunikation eines virtuellen Computers einen Fehler auslösen, wird das Problem möglicherweise durch die Firewallsoftware verursacht, die im Betriebssystem des virtuellen Computers ausgeführt wird.If there are no routes causing a VM's network communication to fail, the problem may be due to firewall software running within the VM's operating system
  • Wenn Sie eine Tunnelerzwingung für den Datenverkehr zu einem lokalen Gerät über ein VPN-Gateway oder eine NVA durchführen, können Sie je nachdem, wie Sie das Routing für die Geräte konfiguriert haben, möglicherweise keine Verbindung mit einer VM aus dem Internet herstellen.If you are force tunneling traffic to an on-premises device through a VPN gateway, or NVA, you may not be able to connect to a VM from the internet, depending on how you've configured routing for the devices. Vergewissern Sie sich, dass das Routing, das Sie für das Gerät konfiguriert haben, den Datenverkehr entweder an eine öffentliche oder private IP-Adresse für den virtuellen Computer weiterleitet.Confirm that the routing you have configured for the device routes traffic to either a public or private IP address for the VM.
  • Verwenden Sie die Funktion Problembehandlung für Verbindung von Network Watcher, um Probleme mit der ausgehenden Kommunikation zu ermitteln, deren Ursache in Routing oder Filtern liegt bzw. betriebssystemintern ist.Use the connection troubleshoot capability of Network Watcher to determine routing, filtering, and in-OS causes of outbound communication problems.

Nächste SchritteNext steps