Routing für eine zusätzliche Netzwerkschnittstelle konfigurieren


In dieser Anleitung wird beschrieben, wie Sie eine VM-Instanz mit mehreren Netzwerkschnittstellen erstellen, die jeweils mit verschiedenen VPC-Netzwerken (Virtual Private Cloud) verbunden sind. Außerdem enthält die Anleitung ein Beispiel dafür, wie Sie das Routing auf einer Linux-VM konfigurieren, damit Sie die Schnittstelle nic1 erfolgreich anpingen können.

VMs mit mehreren Netzwerkschnittstellen-Controllern werden als VMs mit mehreren NICs bezeichnet.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Hinweise

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Compute Engine API aktivieren.

    Aktivieren Sie die API

  5. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  6. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  7. Compute Engine API aktivieren.

    Aktivieren Sie die API

Konfigurationsbeispiel

Das folgende Diagramm zeigt die VPC-Netzwerke, Subnetze und VMs, die Sie in dieser Anleitung erstellen, sowie Beispielwerte, die Sie für Ressourcennamen und Subnetz-IP-Adressbereiche verwenden können:

Abbildung 1. In dieser Anleitung erstellen Sie zwei VPC-Netzwerke mit jeweils zwei Subnetzen. Alle Subnetze befinden sich in derselben Region. Außerdem erstellen Sie drei VMs: eine VM mit mehreren NICs, die an die ersten beiden Subnetze angehängt wird, und eine VM in jedem der beiden verbleibenden Subnetze (zum Vergrößern klicken).

Zwei VPC-Netzwerke erstellen

Zum Erstellen einer VM mit mehreren NICs müssen die VPC-Netzwerke, mit denen Sie eine Verbindung herstellen, bereits vorhanden sein. Zwei VPC-Netzwerke erstellen In dieser Anleitung hat jedes VPC-Netzwerk zwei Subnetze.

Um die in der Beispielkonfiguration gezeigte Konfiguration zu erstellen, erstellen Sie Ihre Netzwerke und Subnetze mit den folgenden Werten:

  • Ein Netzwerk mit dem Namen network-1, das Folgendes enthält:
    • Ein Subnetz mit dem Namen subnet-1, das den primären IPv4-Adressbereich 10.10.1.0/24 hat.
    • Ein Subnetz mit dem Namen subnet-3, das den primären IPv4-Adressbereich 10.10.3.0/24 hat.
  • Ein Netzwerk mit dem Namen network-2, das Folgendes enthält:

    • Ein Subnetz mit dem Namen subnet-2, das den primären IPv4-Adressbereich 10.10.2.0/24 hat.
    • Ein Subnetz mit dem Namen subnet-4, das den primären IPv4-Adressbereich 10.10.4.0/24 hat.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf VPC-Netzwerk erstellen.

  3. Geben Sie im Feld Name einen Namen für das VPC-Netzwerk ein.

  4. Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.

  5. Geben Sie im Bereich Neues Subnetz Folgendes an:

    1. Geben Sie einen Namen für das Subnetz an.
    2. Wählen Sie eine Region aus. Achten Sie darauf, dass beide von Ihnen erstellten VPC-Netzwerke dieselbe Region für mindestens eines ihrer Subnetze verwenden. Verwenden Sie dieselbe Region, wenn Sie im folgenden Abschnitt die VM mit mehreren NICs erstellen. In der Beispielkonfiguration wird für alle Subnetze dieselbe Region verwendet.
    3. Geben Sie einen IP-Adressbereich ein. Dies ist der primäre IPv4-Bereich für das Subnetz.

      Wenn Sie einen Bereich auswählen, der keine RFC 1918-Adresse ist, prüfen Sie, ob der Bereich mit einer vorhandenen Konfiguration in Konflikt steht. Weitere Informationen finden Sie unter IPv4-Subnetzbereiche.

    4. Klicken Sie auf Fertig.

  6. Klicken Sie auf Subnetz hinzufügen, um ein zweites Subnetz zu erstellen. Verwenden Sie dieses zweite Subnetz zum Testen von ping von außerhalb des primären Subnetzbereichs der Netzwerkschnittstelle Ihrer VM-Instanz.

  7. Wählen Sie im Abschnitt Firewallregeln die Regel allow-custom aus und klicken Sie dann auf BEARBEITEN. Konfigurieren Sie die Regel so, damit Sie die Konnektivität von den Test-VMs zu multi-nic-vm testen können:

    1. Lassen Sie unter IPv4-Bereiche die Kästchen für die IPv4-Adressbereiche der Subnetze aktiviert.
    2. Geben Sie unter Andere IPv4-Bereiche den Wert 35.235.240.0/20 ein, damit Sie über SSH eine Verbindung zu den Test-VMs herstellen können. Wenn Sie diesen Bereich einschließen, können SSH-Verbindungen mit der TCP-Weiterleitung von Identity-Aware Proxy (IAP) verwendet werden. Weitere Informationen finden Sie unter Eingehende SSH-Verbindungen zu VMs zulassen.
    3. Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus.
      1. Wählen Sie TCP aus und geben Sie 22, 3389 ein, um RDP und SSH zuzulassen.
      2. Wählen Sie Andere aus und geben Sie icmp ein, um ICMP zuzulassen.
  8. Klicken Sie auf Erstellen.

  9. Wiederholen Sie diese Schritte, um ein zweites VPC-Netzwerk zu erstellen. Achten Sie darauf, dass sich die IP-Adressbereiche des Subnetzes nicht mit den Subnetzen Ihres ersten Netzwerks überschneiden, z. B. den in der Beispielkonfiguration verwendeten IP-Adressbereichen.

gcloud

  1. Verwenden Sie den Befehl networks create, um ein VPC-Netzwerk zu erstellen.

    gcloud compute networks create NETWORK --subnet-mode=custom
    

    Ersetzen Sie Folgendes:

    • NETWORK: der Name des VPC-Netzwerks
  2. Verwenden Sie den networks subnets create-Befehl, um ein Subnetz für Ihr VPC-Netzwerk zu erstellen.

    gcloud compute networks subnets create NAME \
      --network=NETWORK \
      --range=RANGE \
      --region=REGION
    

    Ersetzen Sie Folgendes:

    • NAME: Ein Name für das Subnetz.
    • NETWORK: der Name des VPC-Netzwerks.
    • RANGE ist ein IP-Adressbereich. Dies ist der primäre IPv4-Bereich für das Subnetz.

      Wenn Sie einen Bereich eingeben, der keine RFC 1918-Adresse ist, prüfen Sie, ob der Bereich mit einer vorhandenen Konfiguration in Konflikt steht. Weitere Informationen finden Sie unter IPv4-Subnetzbereiche.

    • REGION: eine Region. Achten Sie darauf, dass beide von Ihnen erstellten VPC-Netzwerke dieselbe Region für mindestens eines ihrer Subnetze verwenden. Verwenden Sie dieselbe Region, wenn Sie im folgenden Abschnitt die VM mit mehreren NICs erstellen. In der Beispielkonfiguration wird für alle Subnetze dieselbe Region verwendet.

  3. Wiederholen Sie den vorherigen Schritt, um ein weiteres Subnetz zu erstellen. Verwenden Sie dieses zweite Subnetz zum Testen von ping von außerhalb des primären Subnetzbereichs der Netzwerkschnittstelle Ihrer VM-Instanz.

  4. Erstellen Sie eine Firewallregel, um SSH, RDP und ICMP zuzulassen:

    gcloud compute firewall-rules create allow-ssh-rdp-icmp \
     --network NETWORK \
     --action=ALLOW \
     --direction=INGRESS \
     --rules=tcp:22,tcp:3389,icmp \
     --source-ranges=SOURCE_RANGE
    

    Ersetzen Sie Folgendes:

    • NETWORK: Geben Sie den Wert für das Netzwerk ein, das Sie erstellen:
      • Geben Sie für das erste Netzwerk network-1 ein.
      • Wenn Sie die Schritte in diesem Abschnitt für das zweite Netzwerk wiederholen, geben Sie network-2 ein.
    • SOURCE_RANGE: Geben Sie den Wert für das Netzwerk ein, das Sie erstellen:
      • Geben Sie für das erste Netzwerk 10.10.3.0/24, 35.235.240.0/20 ein. Wenn Sie 10.10.3.0/24 einschließen, können Sie die Konnektivität von test-vm-1 zur nic0-Schnittstelle von multi-nic-vm testen. Wenn Sie 35.235.240.0/20 einschließen, können SSH-Verbindungen mit der TCP-Weiterleitung von Identity-Aware Proxy (IAP) zugelassen werden. Weitere Informationen finden Sie unter Eingehende SSH-Verbindungen zu VMs zulassen.
      • Wenn Sie die Schritte in diesem Abschnitt für das zweite Netzwerk wiederholen, geben Sie 10.10.4.0/24, 35.235.240.0/20 ein. Wenn Sie 10.10.4.0/24 einschließen, können Sie die Konnektivität von test-vm-2 zur nic0-Schnittstelle von multi-nic-vm testen. Wenn Sie 35.235.240.0/20 einschließen, können SSH-Verbindungen mit der TCP-Weiterleitung von Identity-Aware Proxy (IAP) zugelassen werden. Weitere Informationen finden Sie unter Eingehende SSH-Verbindungen zu VMs zulassen.
  5. Wiederholen Sie diese Schritte, um ein zweites VPC-Netzwerk zu erstellen. Achten Sie darauf, dass sich die IP-Adressbereiche des Subnetzes nicht mit den Subnetzen Ihres ersten Netzwerks überschneiden, z. B. den in der Beispielkonfiguration verwendeten IP-Adressbereichen.

VM mit mehreren NICs erstellen

Erstellen Sie eine VM-Instanz mit einer Schnittstelle für jedes VPC-Netzwerk, das Sie im vorherigen Abschnitt erstellt haben.

So erstellen Sie eine VM mit mehreren NICs:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Geben Sie im Feld Name einen Namen für die Instanz ein. Dies entspricht multi-nic-vm in der Beispielkonfiguration.

  3. Wählen Sie im Feld Region die Region aus, in der Sie in jedem Ihrer VPC-Netzwerke ein Subnetz erstellt haben. Die VM-Instanz muss sich in derselben Region wie die Subnetze befinden, mit denen ihre Schnittstellen eine Verbindung herstellen. In der Beispielkonfiguration wird für alle Subnetze dieselbe Region verwendet.

  4. Wählen Sie im Feld Zone eine Zone aus.

  5. Maximieren Sie im Abschnitt Erweiterte Optionen den Bereich Netzwerk und gehen Sie dann so vor:

    1. Prüfen Sie den Abschnitt Netzwerkschnittstellen. Google Cloud fügt für die erste Netzwerkschnittstelle automatisch ein Netzwerk und ein Subnetzwerk ein. Dies entspricht network-1 und subnet-1 in der Beispielkonfiguration.
    2. Wählen Sie für Primäre interne IPv4-Adresse eine der folgenden Optionen aus:
      • Sitzungsspezifisch, um eine neue sitzungsspezifische IPv4-Adresse zuzuweisen
      • Reservierte statische interne IPv4-Adresse aus der Liste
      • Statische interne IP-Adresse reservieren, um eine neue statische interne IPv4-Adresse zu reservieren und zuzuweisen Wenn Sie die Beispielkonfiguration verwenden, reservieren Sie 10.10.1.3.
    3. Wählen Sie für Externe IPv4-Adresse eine None aus.

    4. Zum Hinzufügen einer weiteren Schnittstelle klicken Sie auf Netzwerkschnittstelle hinzufügen.

    5. Wählen Sie unter Netzwerk und Subnetzwerk das zweite von Ihnen erstellte Netzwerk und Subnetzwerk aus. Dies entspricht network-2 und subnet-2 in der Beispielkonfiguration.

    6. Wählen Sie für IP-Stack-Typ die Option IPv4 (Single-Stack) aus.

    7. Wählen Sie für Primäre interne IPv4-Adresse eine der folgenden Optionen aus:

      • Sitzungsspezifisch, um eine neue sitzungsspezifische IPv4-Adresse zuzuweisen
      • Reservierte statische interne IPv4-Adresse aus der Liste
      • Statische interne IP-Adresse reservieren, um eine neue statische interne IPv4-Adresse zu reservieren und zuzuweisen Wenn Sie die Beispielkonfiguration verwenden, reservieren Sie 10.10.2.3.
    8. Wählen Sie für Externe IPv4-Adresse eine None aus.

    9. Klicken Sie auf Fertig, um das Hinzufügen der Netzwerkschnittstelle abzuschließen.

  6. Klicken Sie auf Erstellen.

gcloud

Verwenden Sie den Befehl instances create, um Netzwerkschnittstellen auf einer neuen Instanz zu erstellen.

Geben Sie dabei für jede Schnittstelle das Flag --network-interface, gefolgt von allen geeigneten Netzwerkschlüsseln, z. B. network, subnet, private-network-ip an. Für die externe IP-Adresse wird mit dem folgenden Befehl no-address angegeben.

gcloud compute instances create INSTANCE_NAME \
    --zone ZONE \
    --network-interface \
        network=NIC0_NETWORK,subnet=NIC0_SUBNET,private-network-ip=NIC0_INTERNAL_IPV4_ADDRESS,no-address \
    --network-interface \
        network=NIC1_NETWORK,subnet=NIC1_SUBNET,private-network-ip=NIC1_INTERNAL_IPV4_ADDRESS,no-address

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der zu erstellenden VM. Dies entspricht multi-nic-vm in der Beispielkonfiguration.
  • ZONE: Die Zone, in der die Instanz erstellt wird. Geben Sie eine Zone in derselben Region ein, in der Sie in jedem Ihrer VPC-Netzwerke ein Subnetz erstellt haben. Die VM-Instanz muss sich in derselben Region wie die Subnetze befinden, mit denen ihre Schnittstellen eine Verbindung herstellen. In der Beispielkonfiguration wird für alle Subnetze dieselbe Region verwendet.
  • Werte für die erste Schnittstelle:
    • NIC0_NETWORK ist das Netzwerk, an das die Schnittstelle angehängt ist. Dies entspricht network-1 in der Beispielkonfiguration.
    • NIC0_SUBNET ist das Subnetz, an das die Schnittstelle angehängt ist. Dies entspricht subnet-1 in der Beispielkonfiguration.
    • NIC0_INTERNAL_IPV4_ADDRESS ist die interne IPv4-Adresse, die die Schnittstelle im Zielsubnetz haben soll. Wenn Sie die Beispielkonfiguration verwenden, geben Sie 10.10.1.3 ein. Lassen Sie diese aus, wenn Sie nur eine beliebige gültige Adresse zuweisen möchten.
  • Werte für die zweite Benutzeroberfläche
    • NIC1_NETWORK ist das Netzwerk, an das die Schnittstelle angehängt ist. Dies entspricht network-2 in der Beispielkonfiguration.
    • NIC1_SUBNET ist das Subnetz, an das die Schnittstelle angehängt ist. Dies entspricht subnet-2 in der Beispielkonfiguration.
    • NIC1_INTERNAL_IPV4_ADDRESS ist die interne IPv4-Adresse, die die Schnittstelle im Zielsubnetz haben soll. Wenn Sie die Beispielkonfiguration verwenden, geben Sie 10.10.2.3 ein. Lassen Sie diese aus, wenn Sie nur eine beliebige gültige Adresse zuweisen möchten.

Zwei Test-VMs erstellen

Erstellen Sie zwei zusätzliche VM-Instanzen:

  • Eine im selben Netzwerk, aber in einem anderen Subnetz, als die nic0-Schnittstelle der von Ihnen erstellten Multi-NIC-VM. Dies entspricht test-vm-1 in subnet-3 in der Beispielkonfiguration.
  • Eine im selben Netzwerk, aber in einem anderen Subnetz, als die nic1-Schnittstelle der von Ihnen erstellten Multi-NIC-VM. Dies entspricht test-vm-2 in subnet-4 in der Beispielkonfiguration.

Sie verwenden diese VM-Instanzen zum Testen von ping aus den Subnetzen, die sich außerhalb des primären Subnetzbereichs Ihrer VM-Instanz mit mehreren Netzwerkschnittstellen befinden.

So erstellen Sie die VM-Instanzen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Geben Sie im Feld Name einen Namen für die Instanz ein.

  3. Wählen Sie im Feld Region die Region aus, in der Sie das zusätzliche Subnetz im ersten VPC-Netzwerk platziert haben.

  4. Wählen Sie im Feld Zone eine Zone aus.

  5. Maximieren Sie im Abschnitt Erweiterte Optionen den Bereich Netzwerk und gehen Sie dann so vor:

    1. Prüfen Sie den Abschnitt Netzwerkschnittstellen. Achten Sie darauf, dass sich das Subnetz von dem Subnetz unterscheidet, das von der Schnittstelle nic0 Ihrer Multi-NIC-VM verwendet wird.
  6. Klicken Sie auf Erstellen.

  7. Wiederholen Sie diese Schritte, um eine Instanz im zweiten VPC-Netzwerk und in einem Subnetz zu erstellen, das sich von der Schnittstelle nic1 Ihrer VM mit mehreren NICs unterscheidet.

gcloud

  1. Führen Sie den Befehl instances create aus und fügen Sie dabei für jede Schnittstelle das Flag --network-interface hinzu, gefolgt von allen geeigneten Netzwerkschlüsseln, z. B. network, subnet ein , private-network-ip oder address.

    gcloud compute instances create INSTANCE_NAME \
      --zone ZONE \
      --network-interface \
           network=NIC0_NETWORK,subnet=NIC0_SUBNET, private-network-ip=NIC0_INTERNAL_IPV4_ADDRESS
    

    Ersetzen Sie Folgendes:

    • INSTANCE_NAME: der Name der zu erstellenden VM.
    • ZONE: Die Zone, in der die Instanz erstellt wird. Geben Sie die Region ein, in der Sie das zusätzliche Subnetz in Ihrem ersten VPC-Netzwerk platziert haben – das Subnetz, das nicht von der Multi-NIC-VM verwendet wird.
    • NIC0_NETWORK ist das Netzwerk, an das die Schnittstelle angehängt ist.
    • NIC0_SUBNET ist das Subnetz, an das die Schnittstelle angehängt ist.
    • NIC0_INTERNAL_IPV4_ADDRESS ist die interne IPv4-Adresse, die die Schnittstelle im Zielsubnetz haben soll. Lassen Sie diese aus, wenn Sie nur eine beliebige gültige Adresse zuweisen möchten.
  2. Wiederholen Sie den vorherigen Schritt, um eine Instanz im zweiten VPC-Netzwerk und in einem Subnetz zu erstellen, das sich von der Schnittstelle nic1 Ihrer VM mit mehreren NICs unterscheidet.

Verbindung zur Multi-NIC-VM testen

Führen Sie die Schritte in diesem Abschnitt aus, um ping von den zusätzlichen VM-Instanzen zu testen, die Sie für jede Schnittstelle Ihrer VM-Instanz mit mehreren Netzwerkschnittstellen erstellt haben.

In der folgenden Tabelle sind die Szenarien aufgeführt, in denen Sie an diesem Punkt der Anleitung unter Verwendung der IP-Adresswerte aus der Beispielkonfiguration erfolgreich pingen können.

Von Bis ping successful
VM (test-vm-1) im selben Netzwerk, aber in einem anderen Subnetz wie die nic0-Schnittstelle von multi-nic-vm. Interne IP-Adresse (10.10.1.3) der nic0-Schnittstelle von multi-nic-vm
VM (test-vm-2) im selben Netzwerk, aber in einem anderen Subnetz, als die nic1-Schnittstelle von multi-nic-vm Interne IP-Adresse (10.10.2.3) der nic1-Schnittstelle von multi-nic-vm

IP-Adressen der Multi-NIC-VM abrufen

Rufen Sie bei Bedarf die Schnittstellen-IP-Adressen Ihrer Multi-NIC-VM ab, damit Sie sie in den folgenden Abschnitten anpingen können.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Suchen Sie in der Liste der VM-Instanzen die von Ihnen erstellte VM mit mehreren NICs und notieren Sie diese Werte, damit Sie sie in den folgenden Schritten anpingen können:

    • Die internen IP-Adressen der zugehörigen nic0- und nic1-Schnittstellen

gcloud

  1. Führen Sie den Befehl instances list aus:

    gcloud compute instances list
    
  2. Suchen Sie die VM mit mehreren NICs und notieren Sie Folgendes in der Ausgabe:

    • INTERNAL_IP: Die erste und die zweite Adresse entsprechen den Netzwerkschnittstellen nic0 und nic1.

Pingen Sie die nic0-Schnittstelle Ihrer VM an.

  1. Suchen Sie in der Liste der VM-Instanzen die VM, die Sie im selben Netzwerk, aber in einem anderen Subnetz erstellt haben, als nic0-Schnittstelle der VM mit mehreren NICs.

    1. Klicken Sie in der Zeile der Instanz auf SSH.
  2. Führen Sie den folgenden Befehl aus, um die interne IP-Adresse der Schnittstelle nic0 Ihrer Multi-NIC-VM zu pingen:

    ping INTERNAL_IP_NIC0
    

    Ersetzen Sie INTERNAL_IP_NIC0 durch die entsprechende Adresse, die Sie zuvor notiert haben. Wenn Sie die Beispielkonfiguration verwenden, geben Sie 10.10.1.3 ein.

    Beachten Sie, dass der Ping-Befehl erfolgreich ist.

  3. Führen Sie exit aus, um das Terminalfenster zu schließen.

Pingen Sie die nic1-Schnittstelle Ihrer VM an.

  1. Suchen Sie in der Liste der VM-Instanzen die Instanz, die Sie im selben Netzwerk, aber in einem anderen Subnetz erstellt haben, als nic1-Schnittstelle der VM mit mehreren NICs.

    1. Klicken Sie in der Zeile der Instanz auf SSH.
  2. Führen Sie den folgenden Befehl aus, um die interne IP-Adresse der zweiten Schnittstelle Ihrer Multi-NIC-VM zu pingen:

    ping INTERNAL_IP_NIC1
    

    Ersetzen Sie INTERNAL_IP_NIC1 durch die entsprechende Adresse, die Sie zuvor notiert haben. Wenn Sie die Beispielkonfiguration verwenden, geben Sie 10.10.2.3 ein.

    Beachten Sie, dass der Ping-Befehl nicht erfolgreich ist.

  3. Führen Sie exit aus, um das Terminalfenster zu schließen.

Richtlinienrouting konfigurieren

Der Ping-Test im vorherigen Abschnitt ist aufgrund des asymmetrischen Routings fehlgeschlagen. Traffic wird an die nic1-Schnittstelle von multi-nic-vm gesendet, aber die Standardroute für die VM führt dazu, dass die Antworten von nic0. Weitere Informationen finden Sie unter DHCP-Verhalten mit mehreren Netzwerkschnittstellen.

Mithilfe der Schritte in diesem Abschnitt können Sie das Richtlinienrouting konfigurieren, damit ausgehende Pakete über die richtige Schnittstelle verbleiben.

In dieser Anleitung werden Linux-VMs verwendet. Quellbasiertes Richtlinienrouting wird von Windows-Betriebssystemen nicht unterstützt.

Standardgateway für die Schnittstelle nic1 der VM suchen

Sie können das Standardgateway für die Schnittstelle einer VM-Instanz durch Abfrage des Metadatenservers ermitteln. Wenn Sie die Beispielkonfiguration verwenden, lautet der Wert 10.10.2.1.

Stellen Sie die folgende Anfrage von der multi-NIC-VM, um das Standardgateway für die IPv4-Adresse einer Schnittstelle zu finden:

curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway -H "Metadata-Flavor: Google"

Ersetzen Sie INTERFACE_NUMBER durch die Nummer der Schnittstelle. Verwenden Sie beispielsweise 1, um das Standardgateway für nic1 zu ermitteln.

Neue Routingtabelle auf der Multi-NIC-VM konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie eine neue Routingtabelle auf der Multi-NIC-VM konfigurieren.

  1. Aktivieren Sie die serielle Konsole mithilfe der Schritte unter Zugriff für eine VM-Instanz aktivieren.

  2. Stellen Sie eine Verbindung zur seriellen Konsole her, um die Verbindung zur VM beim Ändern der Standardroute zu vermeiden.

  3. Führen Sie ip link list aus, um die Netzwerkschnittstellen Ihrer VM aufzulisten, und notieren Sie sich den Namen der Schnittstelle nic1, z. B. ens5.

  4. Prüfen Sie mit dem folgenden Befehl, ob die nic1-Schnittstelle mit einer IP-Adresse konfiguriert ist.

    ip addr show NIC
    

    Ersetzen Sie NIC durch den Namen der Schnittstelle nic1 aus dem vorherigen Schritt.

    Wenn der Schnittstelle nic1 keine IP-Adresse automatisch zugewiesen wurde, können Sie die IP-Adresse mit dem folgenden Befehl manuell zuweisen:

    sudo ip addr add IP_ADDRESS dev NIC
    

    Ersetzen Sie Folgendes:

    • IP_ADDRESS: Die interne IP-Adresse, die auf der Schnittstelle konfiguriert werden soll. Dies entspricht 10.10.2.3 in der Beispielkonfiguration.
    • NIC ist der Name der Schnittstelle nic1 aus dem vorherigen Schritt.
  5. Erstellen Sie eine benutzerdefinierte Routingtabelle für die Netzwerkschnittstelle nic1.

    echo "1 ROUTE_TABLE_NAME" | sudo tee -a /etc/iproute2/rt_tables
    

    Ersetzen Sie ROUTE_TABLE_NAME durch einen Namen für die Routentabelle, z. B. route-nic1.

  6. Erstellen Sie in der benutzerdefinierten Routingtabelle die Standardroute, die für die Netzwerkschnittstelle nic1 bestimmt ist, und eine Route mit einem Quellhinweis für an das Gateway gesendete Pakete.

    sudo ip route add default via GATEWAY dev NIC table ROUTE_TABLE_NAME
    sudo ip route add GATEWAY src IP_ADDRESS dev NIC table ROUTE_TABLE_NAME
    

    Ersetzen Sie Folgendes:

    • GATEWAY: die Standard-Gateway-IP-Adresse der Schnittstelle Dies entspricht 10.10.2.1 in der Beispielkonfiguration.
    • NIC: die Schnittstelle, für die Sie eine Route hinzufügen möchten Beispiel: ens5.
    • ROUTE_TABLE_NAME: der Name der Routentabelle.
    • IP_ADDRESS: die auf der Schnittstelle konfigurierte interne IP-Adresse Dies entspricht 10.10.2.3 in der Beispielkonfiguration.
  7. Erstellen Sie Routingregeln, die die VM anweisen, die benutzerdefinierte Routingtabelle für Pakete mit Quellen oder Zielen zu verwenden, die mit der primären internen IPv4-Adresse übereinstimmen, die der Schnittstelle nic1 zugewiesen ist:

    sudo ip rule add from IP_ADDRESS/PREFIX_LENGTH table ROUTE_TABLE_NAME
    sudo ip rule add to IP_ADDRESS/PREFIX_LENGTH table ROUTE_TABLE_NAME
    

    Ersetzen Sie Folgendes:

    • IP_ADDRESS: die auf der Schnittstelle konfigurierte interne IP-Adresse Dies entspricht 10.10.2.3 in der Beispielkonfiguration.
    • PREFIX_LENGTH: die Präfixlänge für die konfigurierte IP-Adresse
    • ROUTE_TABLE_NAME: der Name der Routentabelle.
  8. Führen Sie den folgenden Befehl aus, um alle Einträge aus der Cache-Routingtabelle zu entfernen. Dies kann erforderlich sein, wenn Sie eine vorhandene VM mit zuvor konfigurierten Routingtabellen verwenden.

    sudo ip route flush cache
    

Konnektivität zur VM mit mehreren NICs noch einmal testen

In der folgenden Tabelle sehen Sie die Szenarien, in denen Sie jetzt nach dem Konfigurieren des Richtlinienroutings einen Ping-Test durchführen können. Wiederholen Sie die Schritte zum Pingen der nic1-Schnittstelle Ihrer VM, um zu bestätigen, dass Sie jetzt beide IP-Adressen erfolgreich anpingen können.

Von Bis ping successful
VM (test-vm-1) im selben Netzwerk, aber in einem anderen Subnetz wie die nic0-Schnittstelle von multi-nic-vm. Interne IP-Adresse (10.10.1.3) der nic0-Schnittstelle von multi-nic-vm
VM (test-vm-2) im selben Netzwerk, aber in einem anderen Subnetz, als die nic1-Schnittstelle von multi-nic-vm Interne IP-Adressen (10.10.2.3) der nic1-Schnittstelle von multi-nic-vm

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Projekt löschen

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Einzelne Ressourcen löschen

Wenn Sie nicht das gesamte Projekt löschen möchten, löschen Sie die VPC-Netzwerke und VM-Instanzen, die Sie für die Anleitung erstellt haben.

Bevor Sie ein Netzwerk löschen können, müssen Sie alle Ressourcen in allen seinen Subnetzen löschen sowie alle Ressourcen, die auf das Netzwerk verweisen.

Instanzen löschen

So löschen Sie Instanzen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie die Kästchen der Instanzen an, die Sie löschen möchten.

  3. Klicken Sie auf die Schaltfläche Löschen.

gcloud

Führen Sie den Befehl gcloud compute instances delete aus. Wenn Sie eine Instanz auf diese Weise löschen, fährt die Instanz herunter und wird aus der Liste der Instanzen entfernt. Alle der Instanz angehängten Ressourcen, wie nichtflüchtige Speicher und alle statischen IP-Adressen, werden freigegeben.

Verwenden Sie folgenden Befehl, um eine Instanz zu löschen:

gcloud compute instances delete example-instance [example-instance-2 example-instance-3..]

VPC-Netzwerk löschen

So löschen Sie ein VPC-Netzwerk:

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf den Namen eines VPC-Netzwerks, um die zugehörige Seite VPC-Netzwerkdetails aufzurufen.

  3. Klicken Sie auf VPC-Netzwerk löschen.

  4. Klicken Sie in der angezeigten Meldung zur Bestätigung auf Löschen.

gcloud

Führen Sie den Befehl networks delete aus.

gcloud compute networks delete NETWORK

Ersetzen Sie NETWORK durch den Namen des zu löschenden Netzwerks.

Nächste Schritte