ICMP-Probleme identifizieren und beheben

In dieser Anleitung erfahren Sie, wie Sie Konnektivitätstests iterativ verwenden, um ein Problem mit der Netzwerkverbindung zu identifizieren und zu beheben.

In diesem Fall verhindern VPC-Firewallregeln, dass die externe IP-Adresse einer VM-Instanz das ICMP-Protokoll verwendet, um die externe IP-Adresse einer anderen VM anzupingen.

Da VM-zu-VM-Kommunikationsprobleme oft Probleme mit der Netzwerkverbindung sind, liefern Ihnen Konnektivitätstests Informationen zu möglichen Konfigurationsproblemen, damit Sie diese beheben können. Sie können die Konnektivitätstests dann noch einmal ausführen, um Ihre Lösung zu prüfen.

Überblick

In diesem Fall haben Sie zwei VM-Instanzen im selben Subnetz Ihres VPC-Netzwerks konfiguriert. Beide VMs haben externe IP-Adressen. Wenn Sie zum Testen der Konnektivität zwischen ihnen ein Ping-Paket von vm1 an die externe IP-Adresse von vm2 senden, funktioniert der Ping nicht.

Fehlerbehebung bei einem abgelehnten Ping zwischen zwei VMs
Fehlerbehebung bei einem abgelehnten Ping zwischen zwei VMs

Hinweise

Befolgen Sie vor dem Starten des Tutorials alle Schritte im Abschnitt Before you begin von Konnektivitätstests erstellen und ausführen.

Es kann auch hilfreich sein, sich anzuschauen, wie VPC-Firewallregeln funktionieren.

Netzwerkressourcen konfigurieren

In diesem Abschnitt konfigurieren Sie die Google Cloud-Ressourcen im Testpfad.

VPC-Netzwerk konfigurieren

Sie können ein vorhandenes Netzwerk und Subnetz mit den VMs verwenden oder Sie erstellen ein neues Netzwerk und Subnetz.

Zwei VM-Instanzen konfigurieren

  1. Die VM-Instanzen in dieser Anleitung befinden sich im selben VPC-Netzwerk und Subnetz. Sie können vorhandene VMs verwenden oder neue erstellen.
  2. Weisen Sie vm1 und vm2 bei der Erstellung eine externe IP-Adresse zu. Notieren Sie sich die Adressen, da Sie sie später benötigen.

Firewallregel default-deny-outgoing-ping erstellen

Nachdem Sie die VMs erstellt haben, erstellen Sie eine VPC-Firewallregel für ausgehenden Traffic mit dem Namen default-deny-outgoing-ping. Diese Regel lehnt das ICMP-Protokoll von vm1 zu vm2 ab. Achten Sie darauf, dass in diesem Netzwerk keine Firewallregeln vorhanden sind, die diese Regel überschreiben würden. Achten Sie außerdem darauf, dass diese Regel nicht von hierarchischen Firewallrichtlinienregeln überschrieben wird. Weitere Informationen finden Sie unter Hierarchische Firewallrichtlinien.

Konfigurieren Sie diese VPC-Firewallregel mit den Werten in der folgenden Tabelle.

Feld der VPC-Firewallregel Wert
Name default-deny-outgoing-ping
Netzwerk Verwenden Sie das VPC-Netzwerk, in dem sich die VMs befinden.
Priorität 1000
Trafficrichtung Ausgehend
Aktion bei Übereinstimmung Ablehnen
Ziele Wählen Sie Alle Instanzen im Netzwerk aus.
Ziel-IP-Bereiche Verwenden Sie die externe IP-Adresse von vm2.
Angegebene Protokolle und Ports Klicken Sie auf das Kästchen Sonstige Protokolle und geben Sie icmp ein.

Firewallregel default-deny-ingress-to-vm2 erstellen

Erstellen Sie eine Firewallregel für eingehenden Traffic mit dem Namen default-deny-ingress-to-vm2, um das ICMP-Protokoll an die externe IP-Adresse von vm2 abzulehnen. Achten Sie darauf, dass in diesem Netzwerk keine Firewallregeln vorhanden sind, die diese Regel überschreiben würden. Achten Sie außerdem darauf, dass diese Regel nicht von hierarchischen Firewallrichtlinienregeln überschrieben wird. Weitere Informationen finden Sie unter Hierarchische Firewallrichtlinien.

Verwenden Sie die Werte in der folgenden Tabelle, um die Regel zu erstellen.

Feld der VPC-Firewallregel Wert
Name default-deny-ingress-to-vm2
Netzwerk Verwenden Sie das VPC-Netzwerk, in dem sich die VMs befinden.
Priorität 65534
Trafficrichtung Ingress
Aktion bei Übereinstimmung Ablehnen
Ziele Wählen Sie Alle Instanzen im Netzwerk aus.
Quell-IP-Bereiche Verwenden Sie die externe IP-Adresse von vm1.
Angegebene Protokolle und Ports Klicken Sie auf das Kästchen Sonstige Protokolle und geben Sie icmp ein.

Ersten Trace ausführen

Führen Sie mithilfe der Google Cloud Console ein Trace aus, um festzustellen, ob ein ICMP-Paket (Ping) von vm1 zur externen IP-Adresse von vm2 übertragen werden kann. Nach dem Ausführen dieses Trace werden Sie von Konnektivitätstests darüber informiert, dass das Trace-Paket aufgrund der VPC-Firewallregel default-deny-outgoing-ping verworfen wurde.

Verwenden Sie die folgende Tabelle für Eingabewerte für das Trace.

Feldname Wert
Protokoll icmp
IP-Adresse der Quelle

Verwenden Sie die externe IP-Adresse von vm1.

Klicken Sie auf das Kästchen Dies ist eine IP-Adresse, die in Google Cloud verwendet wird.

Quell-IP-Adresse oder Dienstprojekt Bestätigen Sie den Projektnamen für vm1.
IP-Adresse des Ziels

Verwenden Sie die externe IP-Adresse von vm2.

Klicken Sie auf das Kästchen Dies ist eine IP-Adresse, die in Google Cloud verwendet wird.

Ziel-IP-Adresse oder Dienstprojekt Bestätigen Sie den Projektnamen für vm2.

Der folgende Google Cloud Console-Snapshot zeigt, dass das Trace-Paket wegen der Firewallregel default-deny-outgoing-ping verworfen wurde.

Console-UI-Snapshot des Trace mit dem abgelehnten ausgehenden Ping
Console-UI-Snapshot des Trace mit dem abgelehnten ausgehenden Ping

Führen Sie nach dem Deaktivieren der Firewallregel default-deny-outgoing-ping eine zweite Trace aus

  1. Um den Ping-Test für vm2 zuzulassen, deaktivieren Sie die Firewallregel default-deny-outgoing-ping vorübergehend.
  2. Nachdem die Konfiguration erfolgreich aktualisiert wurde, müssen Sie das Trace noch einmal ausführen.
  3. Das Trace schlägt wieder fehl. Das Paket wurde verworfen, da diese Firewallregel ein eingehendes ICMP-Paket an die externe IP-Adresse von vm2 ablehnt.

Der folgende Google Cloud Console-Snapshot zeigt, dass ein eingehendes Trace-Paket Cloud NAT zwar passieren kann, jedoch aufgrund der zuvor genannten Firewallregel vm2 nicht erreichen kann.

Console-UI-Snapshot des Trace, das VM2 nicht erreichen kann
Console-UI-Snapshot des Trace, das vm2 nicht erreichen kann

Firewallregel allow-ping-from-known-ranges erstellen

Konfigurieren Sie eine neue VPC-Firewallregel mit dem Namen allow-ping-from-known-ranges, um eingehenden Traffic zur externen IP-Adresse von vm2 zuzulassen. Da das Zulassen aller eingehenden ICMP-Pakete in Ihrem VPC-Netzwerk ein Sicherheitsrisiko darstellt, geben Sie nur eine kleine Anzahl von Quellbereichen an, die ICMP-Pakete an die externe IP-Adresse von vm2 senden können.

Für die Zwecke dieser Anleitung enthält dieser Quellbereich nur die externe IP-Adresse von vm1. Prüfen Sie jedoch alle vorhandenen Firewallregeln oder Regelprioritäten, um zu gewährleisten, dass diese neue Regel nicht überschrieben wird. Achten Sie außerdem darauf, dass diese Regel nicht von hierarchischen Firewallrichtlinienregeln überschrieben wird. Weitere Informationen finden Sie unter Hierarchische Firewallrichtlinien.

Konfigurieren Sie die Regel mithilfe der Werte in der folgenden Tabelle.

Feld der VPC-Firewallregel Wert
Name allow-ping-from-known-ranges
Netzwerk Verwenden Sie den Namen des Netzwerks, das beide VMs enthält.
Priorität 1000
Trafficrichtung Ingress
Aktion bei Übereinstimmung Zulassen
Ziele Wählen Sie Alle Instanzen im Netzwerk aus.
Quellfilter IP-Bereiche
Quell-IP-Bereiche Verwenden Sie die externe IP-Adresse von vm1.
Angegebene Protokolle und Ports Klicken Sie auf das Kästchen Sonstige Protokolle und geben Sie icmp ein.

Führen Sie einen dritten Trace aus

Pingen Sie die externe IP-Adresse von vm2 noch einmal an, nachdem Sie die Firewallregel allow-ping-from-known-ranges erstellt haben. Der Ping-Befehl funktioniert und das Problem ist behoben.

Ein zulässiger Ping zwischen zwei VMs
Ein zulässiger Ping zwischen zwei VMs

Sie können dieses Ergebnis dadurch prüfen, dass Sie ein weiteres Trace für die aktualisierte Konfiguration durchführen, die die neue Firewallregel enthält. Diesmal erfahren Sie über Konnektivitätstests, dass das Paket an vm2 übertragen wurde und dass die übereinstimmende Firewallregel allow-ping-from-known-ranges ein eingehendes ICMP-Paket an die externe IP-Adresse von vm2 zulässt.

Console-UI-Snapshot eines erfolgreichen Trace zu VM2
Console-UI-Snapshot eines erfolgreichen Trace zu vm2

Bereinigen

Bei Bedarf können Sie die folgenden für diese Anleitung erstellten Google Cloud-Ressourcen deaktivieren oder löschen. Achten Sie darauf, dass es sich nicht um Produktionsressourcen handelt. Wenn Sie Ressourcen deaktivieren, sollten Sie die Preise für Compute Engine und die Seite "Alle Netzwerkpreise" prüfen, um sicherzustellen, dass Ihnen keine Kosten für diese Ressourcen in Rechnung gestellt werden.

  1. Firewallregeln deaktivieren oder Firewallregeln löschen
  2. VMs deaktivieren oder VMs löschen
  3. VPC-Subnetze löschen
  4. VPC-Netzwerk löschen

Nächste Schritte