Alias-IP-Bereiche konfigurieren

Dieses Dokument enthält eine Anleitung zum Konfigurieren von Alias-IP-Adressen und Alias-IP-Bereichen mit der Google Cloud Console und dem gcloud-Befehlszeilentool. Sie sollten die Seite zu Alias-IP-Bereichen lesen, bevor Sie die Befehle ausführen.

Beschränkungen

Subnetz

  • Die Limits pro Netzwerk beschreiben die maximale Anzahl sekundärer Bereiche, die Sie für jedes Subnetz definieren können.
  • Sie können nicht gleichzeitig sekundäre Bereiche hinzufügen und entfernen. Das Hinzufügen und Entfernen muss in separaten Schritten erfolgen.
  • Die CIDR-Erweiterung wird für sekundäre Bereiche nicht unterstützt.

VM-Instanz

  • Alias-IP-Bereiche werden auf allen VM-Netzwerkschnittstellen unterstützt. Das Routing für Alias-IP-Bereiche wird auf der primären Netzwerkschnittstelle automatisch konfiguriert. Auf sekundären Schnittstellen ist dies nicht der Fall. Wenn Sie mehrere Netzwerkschnittstellen haben, müssen Sie für die zusätzlichen Schnittstellen das Richtlinienrouting konfigurieren.
  • Einer virtuellen Schnittstelle an einer VM-Instanz können bis zu zehn Alias-IP-Bereiche zugewiesen werden.
  • Alias-IP-Bereiche können hinzugefügt oder gelöscht, aber nicht aktualisiert werden.
  • Wenn Sie einen Alias-IP-Bereich von einer VM entfernen und einer anderen VM zuweisen, kann die Übertragung bis zu eine Minute dauern.
  • Firewall-Quelltags werden für Alias-IP-Adressen nicht unterstützt. Dies bedeutet, dass Quelltags, die Sie in Firewallregeln konfigurieren, mit der primären IP-Adresse der virtuellen Maschine übereinstimmen, aber nicht mit den Alias-IP-Adressen. Verwenden Sie Quellbereiche, um eingehenden Traffic von Alias-IP-Adressen zuzulassen oder zu verweigern.
  • Internes DNS löst einen VM-Namen in seine primäre IP-Adresse auf. Weitere Namen für Alias-IP-Adressen werden nicht automatisch konfiguriert, können aber manuell hinzugefügt werden.

VPC-Netzwerk

  • Ein VPC-Netzwerk kann über alle VMs hinweg bis zu 7.000 Alias-IP-Bereiche enthalten.
  • Das gleichzeitige Hinzufügen oder Entfernen einer großen Anzahl von Alias-IP-Bereichen kann lange dauern. Es kann beispielsweise bis zu 10 Minuten dauern, 7000 Alias-IP-Bereiche hinzuzufügen oder zu löschen.
  • VPC-Netzwerke im automatischen Modus können nicht gelöscht werden, wenn sekundäre Subnetzbereiche vorhanden sind.
  • Bei einer statischen Verbindung muss die nächste Hop-IP-Adresse die primäre IP-Adresse der VM sein. Alias-IP-Adressen werden nicht als nächste Hop-IP-Adressen unterstützt.
  • IPv6-Adressen werden nicht unterstützt.
  • Alias-IP-Bereiche werden nur in VPC-Netzwerken, aber nicht in Legacy-Netzwerken unterstützt. Listen Sie Ihre Netzwerke auf, um Ihren Netzwerktyp zu ermitteln. VPC-Netzwerke haben den Modus custom oder auto. Legacy-Netzwerke haben den Modus legacy.

Subnetzbefehle

Alias-IP-Bereiche für eine VM müssen aus einem Bereich zugewiesen werden, der dem Subnetz gehört, in dem sich die VM befindet. Alle Subnetze haben einen primären Bereich. Dies ist der Standardbereich interner IP-Adressen, der das Subnetz definiert. Ein Subnetz kann auch einen oder mehrere sekundäre IP-Bereiche mit internen IP-Adressen haben. Sie können Alias-IP-Bereiche entweder aus dem primären oder sekundären Bereich des Subnetzes zuweisen.

Geben Sie für den sekundären Bereich einen Namen ein, der für das Subnetz eindeutig ist. Wenn Sie einer VM einen Alias-IP-Bereich zuweisen, wird der GCP durch den Namen des sekundären Bereichs mitgeteilt, aus welchem Subnetzbereich die Alias-IPs zugewiesen werden sollen.

Alle Bereiche, sowohl primäre als auch sekundäre, müssen in allen Subnetzen im VPC-Netzwerk und in allen über VPC-Netzwerk-Peering, VPN oder Interconnect verbundenen Netzwerken eindeutig sein.

In diesem Abschnitt erfahren Sie, wie Sie ein Subnetz mit einem sekundären Bereich erstellen, einen sekundären Bereich einem vorhandenen Subnetz hinzufügen und einen sekundären Bereich aus einem Subnetz entfernen. Wenn Ihr Subnetz dann den Bereich enthält, den Sie verwenden möchten, finden Sie in den VM-Instanzbefehlen eine Anleitung zum Zuweisen eines Bereichs zu einer VM.

Subnetz mit einem oder mehreren sekundären CIDR-Bereichen erstellen

Dieser Befehl setzt voraus, dass Sie bereits ein VPC-Netzwerk haben. Wenn dies nicht der Fall ist, erstellen Sie eines.

Sie verwenden denselben Befehl, unabhängig davon, ob Sie ein Subnetz für die primäre VM-Schnittstelle oder eine der sekundären Schnittstellen erstellen.

Wenn Sie einen sekundären Bereich für die Alias-IP-Zuweisung verwenden, können Sie einen separaten IP-Bereich für in der VM gehostete Dienste nutzen. Dadurch können Sie leichter Firewallregeln erstellen, die zwar den Zugriff auf die primäre IP-Adresse der VM blockieren, jedoch einen Zugriff auf die in der VM ausgeführten Dienste erlauben.

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 bestehenden Netzwerks.
  3. Klicken Sie auf Subnetz hinzufügen.
  4. Geben Sie einen Namen für das neue Subnetz ein.
  5. Geben Sie die Region an.
  6. Geben Sie einen IP-Adressbereich in der CIDR-Schreibweise ein. (Beispiel: 10.65.61.0/24)
  7. Klicken Sie auf Sekundären IP-Bereich erstellen.
  8. Geben Sie einen Namen des Subnetzbereichs ein.
  9. Geben Sie einen sekundären IP-Bereich in der CIDR-Schreibweise ein. (Beispiel: 10.9.0.0/24)
  10. Wenn Sie weitere sekundäre IP-Bereiche hinzufügen möchten, klicken Sie für jeden Bereich auf IP-Bereich hinzufügen und geben Sie einen Namen und Bereich ein.
  11. Klicken Sie auf Hinzufügen.

gcloud

    gcloud compute networks subnets create s1 \
        --network NETWORK_NAME \
        --region REGION \
        --range 10.65.61.0/24 \
        --secondary-range RANGE_NAME=RANGE_CIDR,RANGE_NAME=RANGE_CIDR,...
    

Dabei gilt:

  • NETWORK_NAME ist der Name des Netzwerks, in dem Sie das Subnetz erstellen möchten.
  • REGION ist die Region, in der Sie das Subnetz erstellen.
  • [RANGE_NAME]=[RANGE_CIDR] ist der Name des sekundären Bereichs, aus dem der Alias-IP-Bereich bezogen werden soll, und der Alias-IP-Bereich selbst. Beispiel: range1=10.9.0.0/24.

Die vollständige Syntax finden Sie in der gcloud-Dokumentation.

API

Erstellen Sie ein Subnetz mit einem oder mehreren sekundären Bereichen.

    POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
    {
      "ipCidrRange": "PRIMARY_IP_RANGE",
      "network": "NETWORK_URL",
      "name": "SUBNET_NAME",
      "secondaryIpRanges": [
      {
        "rangeName": "SECONDARY_RANGE_NAME",
        "ipCidrRange": "SECONDARY_IP_RANGE"
      },
      {
        "rangeName": "SECONDARY_RANGE_NAME",
        "ipCidrRange": "SECONDARY_IP_RANGE"
      },
      ...]
    }
    

Ersetzen Sie die Platzhalter durch gültige Werte:

  • NETWORK_URL ist die URL oder das VPC-Netzwerk, in dem das Subnetz erstellt wird.
  • PRIMARY_IP_RANGE ist der primäre IP-Adressbereich für das Subnetz.
  • PROJECT_ID ist die ID des Projekts, das das VPC-Netzwerk enthält, in dem das Subnetz erstellt wird.
  • REGION ist die Region, in der sich das Subnetz befindet.
  • SECONDARY_IP_RANGE ist ein sekundärer IP-Adressbereich für das Subnetz.
  • SECONDARY_RANGE_NAME ist ein Name für den sekundären IP-Adressbereich.
  • SUBNET_NAME ist ein Name für das Subnetz.

Weitere Informationen finden Sie in der Methode subnetworks.insert.

Sekundäre CIDR-Bereiche einem vorhandenen Subnetz hinzufügen

Dieses Verfahren setzt voraus, dass Sie ein Subnetz haben, das Sie verwenden möchten, aber einen oder mehrere sekundäre Bereiche hinzufügen müssen.

Mit einem sekundären Bereich für die Alias-IP-Zuweisung können Sie Firewallregeln erstellen, die Zugriff auf die in einer VM ausgeführten Dienste erlauben, jedoch nicht auf die primäre IP-Adresse der VM.

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 zu ändernden Subnetzes, um seine Detailseite anzuzeigen.
  3. Klicken Sie auf Bearbeiten.
  4. Klicken Sie im Bereich Sekundäre IP-Bereiche auf IP-Bereich hinzufügen.
  5. Geben Sie einen Namen für Name des Subnetzbereichs ein.
  6. Geben Sie einen Bereich für Sekundärer IP-Bereich in CIDR-Schreibweise ein. (Beispiel: 10.9.0.0/24)
  7. Wenn Sie weitere sekundäre IP-Bereiche hinzufügen möchten, klicken Sie für jeden Bereich auf IP-Bereich hinzufügen und geben Sie einen Namen und Bereich ein.
  8. Klicken Sie auf Speichern.

gcloud

    gcloud compute networks subnets update SUBNET_NAME \
        --region REGION \
        --add-secondary-ranges RANGE_NAME=RANGE_CIDR,RANGE_NAME=RANGE_CIDR,...
    

Dabei gilt:

  • SUBNET_NAME ist der Name des Subnetzes, dem Sie die sekundären Bereiche hinzufügen möchten.
  • REGION ist die Region, in der Sie das Subnetz erstellen.
  • [RANGE_NAME]=[RANGE_CIDR] ist der Name des sekundären Bereichs, aus dem der Alias-IP-Bereich bezogen werden soll, und der Alias-IP-Bereich selbst. Beispiel: range1=10.9.0.0/24.

Die vollständige Syntax finden Sie in der gcloud-Dokumentation.

API

Fügen Sie einem vorhandenen Subnetz einen sekundären Bereich hinzu.

    PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
    {
      "secondaryIpRanges": [
      {
        "rangeName": "SECONDARY_RANGE_NAME",
        "ipCidrRange": "SECONDARY_IP_RANGE"
      },
      {
        "rangeName": "SECONDARY_RANGE_NAME",
        "ipCidrRange": "SECONDARY_IP_RANGE"
      },
      ...],
      "fingerprint": "SUBNETWORK_FINGERPRINT"
    }
    

Ersetzen Sie die Platzhalter durch gültige Werte:

  • PROJECT_ID ist die ID des Projekts, die das Subnetz enthält, das geändert werden soll.
  • REGION ist die Region, in der sich das Subnetz befindet.
  • SECONDARY_IP_RANGE ist ein sekundärer IP-Adressbereich für das Subnetz.
  • SECONDARY_RANGE_NAME ist ein Name für den sekundären IP-Adressbereich.
  • SUBNET_FINGERPRINT ist die Fingerabdruck-ID für das bestehende Subnetz, die Sie erhalten, wenn Sie ein Subnetz beschreiben.
  • SUBNET_NAME ist der Name des Subnetzes, das geändert werden soll.

Weitere Informationen finden Sie in der Methode subnetworks.patch.

Einen sekundären CIDR-Bereich aus einem Subnetz entfernen

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 zu ändernden Subnetzes, um seine Detailseite anzuzeigen.
  3. Klicken Sie auf Bearbeiten.
  4. Klicken Sie im Bereich Sekundäre IP-Bereiche neben dem zu entfernenden sekundären Bereich auf X.
  5. Klicken Sie auf Speichern.

gcloud

    gcloud compute networks subnets update SUBNET_NAME \
        --region REGION \
        --remove-secondary-ranges RANGE_NAME,RANGE_NAME,...
    

Dabei gilt:

  • SUBNET_NAME ist der Name des Subnetzes, aus dem Sie die sekundären Bereiche entfernen möchten.
  • REGION ist die Region, in der Sie das Subnetz erstellen.
  • RANGE_NAME ist der Name des sekundären Bereichs, aus dem der Alias-IP-Bereich bezogen werden soll. Beispiel: range1=10.9.0.0/24.

Die vollständige Syntax finden Sie in der gcloud-Dokumentation.

API

Schließen Sie sekundäre Bereiche aus, um sie zu entfernen. Im folgenden Beispiel werden alle sekundären Bereiche aus einem vorhandenen Subnetz entfernt:

    PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
    {
      "fingerprint": "SUBNET_FINGERPRINT",
      "secondaryIpRanges": [
      ]
    }
    

Ersetzen Sie die Platzhalter durch gültige Werte:

  • PROJECT_ID ist die ID des Projekts, die das Subnetz enthält, das geändert werden soll.
  • REGION ist die Region, in der sich das Subnetz befindet.
  • SUBNET_FINGERPRINT ist die Fingerabdruck-ID für das bestehende Subnetz, die Sie erhalten, wenn Sie ein Subnetz beschreiben.
  • SUBNET_NAME ist der Name des Subnetzes, das geändert werden soll.

Weitere Informationen finden Sie in der Methode subnetworks.patch.

Mit VM-Instanzen arbeiten

Diese Befehle zeigen, wie Sie eine Instanz mit einem Alias-IP-Bereich erstellen, einen oder mehrere Alias-IP-Bereiche einer vorhandenen VM-Instanz hinzufügen oder einen oder mehrere Bereiche aus einer vorhandenen VM-Instanz entfernen.

VM mit einem Alias-IP-Bereich im primären CIDR-Bereich erstellen

Verwenden Sie dieses Verfahren, wenn Sie einen Alias-IP-Bereich aus dem primären Bereich des Subnetzes zuweisen möchten. Der Bereich, den Sie auswählen, darf nicht bereits von einer anderen Ressource im VPC-Netzwerk verwendet werden, auch nicht teilweise.

Verwenden Sie dieses Verfahren, wenn die primäre Schnittstelle und die Alias-IP-Adressen der Instanz im gleichen Bereich liegen sollen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite "VM-Instanzen" auf.
    Zur Seite "VM-Instanzen"
  2. Klicken Sie auf Instanz erstellen.
  3. Geben Sie einen Namen für die neue Instanz ein.
  4. Geben Sie eine Zone an.
  5. Klicken Sie auf Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten.
  6. Klicken Sie auf den Tab Netzwerk.
  7. Klicken Sie neben der primären Schnittstelle im Bereich Netzwerkschnittstellen auf die Schaltfläche zum Bearbeiten (Bleistiftsymbol).
  8. Klicken Sie auf Alias-IP-Bereiche einblenden.
  9. Lassen Sie die Einstellung für den Subnetzbereich auf Primär.
  10. Geben Sie einen Alias-IP-Bereich in der CIDR-Schreibweise ein. Dies muss ein ungenutzter Teilbereich des Primärbereichs sein.
  11. Klicken Sie auf Erstellen.

gcloud

    gcloud compute instances create vm1 \
        --zone ZONE \
        --network-interface "subnet=SUBNET_NAME,aliases=RANGE_CIDR;RANGE_CIDR;..."
    

Dabei gilt:

  • ZONE ist die Zone, die die Instanz enthält.
  • SUBNET_NAME ist der Name des Subnetzes, das die Instanz enthält.
  • RANGE_CIDR ist der IP-Bereich aus dem primären Subnetz, der der Schnittstelle zugewiesen werden soll. Der Bereich kann ein bestimmter Bereich sein (192.168.100.0/24), eine einzelne IP-Adresse (192.168.100.1) oder eine Netzmaske im CIDR-Format (/24). Wenn der IP-Bereich nur durch eine Netzmaske angegeben wird, wählt die IP-Zuweisung einen verfügbaren Bereich mit der angegebenen Netzmaske aus und weist ihn der Netzwerkschnittstelle zu. Sie können mehrere Bereiche angeben, indem Sie sie durch Semikolons (;) voneinander trennen.

Die vollständige Syntax finden Sie in der gcloud-Dokumentation.

API

Erstellen Sie eine Instanz mit einer Alias-IP-Adresse aus dem primären IP-Adressbereich des Subnetzes der Instanz.

    POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    {
      "networkInterfaces": [
        {
          "aliasIpRanges": [
            {
              "ipCidrRange": "CIDR_RANGE"
            }
          ]
        },
        ...
      ],
      ...
    }
    

Ersetzen Sie die Platzhalter durch gültige Werte:

  • PROJECT_ID ist die ID des Projekts, in dem Sie die Instanz erstellen.
  • CIDR_RANGE ist der IP-Bereich aus dem primären Subnetz, der der Schnittstelle zugewiesen werden soll. Der Bereich kann ein bestimmter Bereich sein (192.168.100.0/24), eine einzelne IP-Adresse (192.168.100.1) oder eine Netzmaske im CIDR-Format (/24). Wenn Sie den IP-Bereich nur als Netzmaske angeben, wählt die IP-Adressenzuweisung einen verfügbaren Bereich mit der angegebenen Netzmaske aus und weist ihn der Netzwerkschnittstelle zu.
  • ZONE ist die Google Cloud-Zone, in der die Instanz erstellt wird.

Weitere Informationen finden Sie in der Methode instance.insert.

Eine VM mit einem Alias-IP-Bereich in einem sekundären CIDR-Bereich erstellen

Verwenden Sie diese Vorgehensweise, wenn Sie einen Alias-IP-Bereich aus einem sekundären Bereich des Subnetzes zuweisen möchten. Wenn Sie die Alias-IP-Bereiche vom primären Bereich des Subnetzes getrennt halten, können Sie Firewallregeln erstellen, die Zugriff auf die Dienste erlauben, die in einer VM ausgeführt werden, jedoch nicht auf die primäre IP-Adresse der VM.

Console

  1. Rufen Sie in der Google Cloud Console die Seite "VM-Instanzen" auf.
    Zur Seite "VM-Instanzen"
  2. Klicken Sie auf Instanz erstellen.
  3. Geben Sie einen Namen für die neue Instanz ein.
  4. Geben Sie eine Zone an.
  5. Klicken Sie auf Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten.
  6. Klicken Sie auf den Tab Netzwerk.
  7. Klicken Sie neben der primären Schnittstelle im Bereich Netzwerkschnittstellen auf die Schaltfläche zum Bearbeiten (Bleistiftsymbol).
  8. Klicken Sie auf Alias-IP-Bereiche einblenden.
  9. Wählen Sie das Subnetzwerk mit dem sekundären Bereich aus.
  10. Wählen Sie unter Subnetzbereich den sekundären IP-Bereich aus, den Sie verwenden möchten.
  11. Geben Sie einen Alias-IP-Bereich in der CIDR-Schreibweise ein. Dies muss ein ungenutzter Teilbereich des sekundären IP-Bereichs sein.
  12. Klicken Sie auf Erstellen.

gcloud

    gcloud compute instances create vm3 \
        --zone ZONE \
        --network-interface subnet=SUBNET_NAME,aliases=RANGE_NAME:RANGE_CIDR
     

Dabei gilt:

  • ZONE ist die Zone, die die Instanz enthält.
  • SUBNET_NAME ist der Name des Subnetzes, das die Instanz enthält.
  • RANGE_NAME ist der Name des sekundären Subnetzbereichs, aus dem der Alias-IP-Bereich bezogen werden soll.
  • RANGE_CIDR ist der IP-Bereich, der der Schnittstelle zugewiesen werden soll. Der Bereich kann ein bestimmter Bereich sein (192.168.100.0/24), eine einzelne IP-Adresse (192.168.100.1) oder eine Netzmaske im CIDR-Format (/24). Wenn der IP-Bereich nur durch eine Netzmaske angegeben wird, wählt die IP-Zuweisung einen verfügbaren Bereich mit der angegebenen Netzmaske aus und weist ihn der Netzwerkschnittstelle zu.

Die vollständige Syntax finden Sie in der gcloud-Dokumentation.

API

Erstellen Sie eine Instanz mit einer Alias-IP-Adresse aus dem sekundären IP-Adressbereich des Subnetzes der Instanz.

    POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    {
      "networkInterfaces": [
        {
          "aliasIpRanges": [
            {
              "ipCidrRange": "SECONDARY_CIDR_RANGE",
              "subnetworkRangeName": "SECONDARY_RANGE_NAME"
            }
          ]
        },
        ...
      ],
      ...
    }
    

Ersetzen Sie die Platzhalter durch gültige Werte:

  • PROJECT_ID ist die ID des Projekts, in dem Sie die Instanz erstellen.
  • SECONDARY_CIDR_RANGE ist der IP-Bereich, der der Schnittstelle zugewiesen werden soll. Der Bereich kann ein bestimmter Bereich sein (192.168.100.0/24), eine einzelne IP-Adresse (192.168.100.1) oder eine Netzmaske im CIDR-Format (/24). Wenn Sie den IP-Bereich nur als Netzmaske angeben, wählt die IP-Adressenzuweisung einen verfügbaren Bereich mit der angegebenen Netzmaske aus und weist ihn der Netzwerkschnittstelle zu.
  • SECONDARY_RANGE_NAME ist der Name des sekundären Subnetzbereichs, aus dem der Alias-IP-Bereich bezogen werden soll.
  • ZONE ist die Google Cloud-Zone, in der die Instanz erstellt wird.

Weitere Informationen finden Sie im Abschnitt zur Methode instance.insert.

VM mit mehreren Schnittstellen und Alias-IP-Adressen erstellen

In diesem Beispiel werden zwei Netzwerke mit je einem Subnetz erstellt. Für die verwendete VM gibt es in beiden Netzwerken Schnittstellen. Wenn Sie bereits zwei VPC-Netzwerke haben, können Sie mit dem Erstellen der VM-Instanz fortfahren.

Console

Erstellen Sie das erste Netzwerk und Subnetz:

  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 unter Name my-network1 ein.
  4. Legen Sie als Modus für Subnetzerstellung die Option Custom fest und geben Sie als Namen des Subnetzes my-subnet1 an.
  5. Geben Sie eine Region an.
  6. Legen Sie den IP-Adressbereich als 172.16.1.0/24 fest.
  7. Klicken Sie auf Sekundären IP-Bereich erstellen.
  8. Name des Subnetzbereichs auf range1 setzen
  9. Setzen Sie Sekundärer IP-Bereich auf 10.1.0.0/16.
  10. Klicken Sie auf Fertig.
  11. Klicken Sie auf Erstellen.

Erstellen Sie das zweite Netzwerk und Subnetz:

  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 unter Name my-network2 ein.
  4. Legen Sie als Modus für Subnetzerstellung die Option Custom fest und geben Sie als Namen des Subnetzes my-subnet2 an.
  5. Geben Sie dieselbe Region wie für das erste Netzwerk und das erste Subnetz an.
  6. Legen Sie den IP-Adressbereich als 172.16.2.0/24 fest.
  7. Klicken Sie auf Sekundären IP-Bereich erstellen.
  8. Legen Sie Name des Subnetzbereichs auf range2 fest.
  9. Setzen Sie Sekundärer IP-Bereich auf 10.2.0.0/16.
  10. Klicken Sie auf Fertig.
  11. Klicken Sie auf Erstellen.

Erstellen Sie eine VM mit Schnittstellen in beiden Netzwerken:

  1. Rufen Sie in der Google Cloud Console die Seite "VM-Instanzen" auf.
    Zur Seite "VM-Instanzen"
  2. Klicken Sie auf Instanz erstellen.
  3. Legen Sie als Zone die Region fest, in der Sie die Subnetze erstellt haben.
  4. Klicken Sie auf Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten.
  5. Klicken Sie auf Netzwerk.
  6. Klicken Sie auf die erste Netzwerkschnittstelle.
  7. Legen Sie für Netzwerk my-network1 fest.
  8. Legen Sie für Subnetzwerk my-subnet1 fest.
  9. Klicken Sie auf Alias-IP-Bereiche einblenden.
  10. Klicken Sie auf Alias-IP-Bereich hinzufügen.
  11. Legen Sie Subnetzbereich auf Primary fest.
  12. Setzen Sie Alias-IP-Bereich auf /32.
  13. Klicken Sie auf IP-Bereich hinzufügen.
  14. Legen Sie Subnetzbereich auf range1 fest.
  15. Setzen Sie Alias-IP-Bereich auf /24.
  16. Klicken Sie auf Fertig.
  17. Klicken Sie auf Netzwerkschnittstelle hinzufügen.
  18. Wählen Sie my-network2 aus.
  19. Subnetzwerk auf my-subnet2 setzen.
  20. Klicken Sie auf Alias-IP-Bereiche einblenden.
  21. Klicken Sie auf Alias-IP-Bereich hinzufügen.
  22. Legen Sie Subnetzbereich auf Primary fest.
  23. Setzen Sie Alias-IP-Bereich auf /32.
  24. Klicken Sie auf IP-Bereich hinzufügen.
  25. Legen Sie Subnetzbereich auf range2 fest.
  26. Setzen Sie Alias-IP-Bereich auf /24.
  27. Klicken Sie auf Fertig.
  28. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie das erste Netzwerk:

        gcloud compute networks create my-network1 --subnet-mode CUSTOM
        
  2. Fügen Sie ein Subnetz hinzu:

        gcloud compute networks subnets create my-subnet1 \
            --network my-network1 \
            --range 172.16.1.0/24 \
            --secondary-range range1=10.1.0.0/16
        
  3. Erstellen Sie ein zweites Netzwerk:

        gcloud compute networks create my-network2 --subnet-mode CUSTOM
        
  4. Fügen Sie ein Subnetz hinzu:

        gcloud compute networks subnets create my-subnet2 \
            --network my-network2 \
            --range 172.16.2.0/24 \
            --secondary-range range2=10.2.0.0/16
        
  5. Erstellen Sie eine VM mit Schnittstellen in beiden Netzwerken. Die erste unter my-subnet1 aufgeführte Netzwerkschnittstelle ist die primäre Schnittstelle:

        gcloud compute instances create multi-nic-alias-vm \
            --machine-type f1-micro \
            --network-interface "subnet=my-subnet1,aliases=/32;range1:/24" \
            --network-interface "subnet=my-subnet2,aliases=/32;range2:/24"
        
  6. Blenden Sie mit dem Anzeigebefehl die Schnittstellen und ihre Adressen ein:

        gcloud compute instances describe multi-nic-alias-vm
        
        ...
        networkInterfaces:
        - ...
          aliasIpRanges:
          - ipCidrRange: 172.16.1.2/32
          - ipCidrRange: 10.1.0.0/24
            subnetworkRangeName: range1
          name: nic0
          network: .../networks/my-network1
          networkIP: 172.16.1.3
          subnetwork: .../subnetworks/my-subnet1
          ...
        - ...
          aliasIpRanges:
          - ipCidrRange: 172.16.2.2/32
          - ipCidrRange: 10.2.0.0/24
            subnetworkRangeName: range2
          name: nic1
          network: .../networks/my-network2
          networkIP: 172.16.2.3
          subnetwork: .../subnetworks/my-subnet2
          

API

  1. Erstellen Sie zwei VPC-Netzwerke im benutzerdefinierten Modus mit den Namen my-network1 und my-network2. Weitere Informationen finden Sie unter Erstellen eines Netzwerks im benutzerdefinierten Modus.

  2. Fügen Sie den VPC-Netzwerken Subnetze hinzu. Weitere Informationen finden Sie unter Subnetze hinzufügen.

    1. Fügen Sie my-network1 ein Subnetz mit dem Namen my-subnet1 hinzu. Geben Sie für den Namen range1 für den primären Bereich 172.16.1.0/24 und für den sekundären Bereich 10.1.0.0/16 an.

    2. Fügen Sie my-network2 ein Subnetz mit dem Namen my-subnet2 hinzu. Geben Sie für den Namen range2 für den primären Bereich 172.16.2.0/24 und für den sekundären Bereich 10.2.0.0/16 an.

  3. Erstellen Sie eine VM-Instanz mit Schnittstellen in beiden Netzwerken.

        POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
        {
          "networkInterfaces": [
            {
              "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/my-subnet1",
              "aliasIpRanges": [
                {
                  "ipCidrRange": "/32",
                },
                {
                  "subnetworkRangeName": "range1",
                  "ipCidrRange": "/24"
                }
              ]
            },
            {
              "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/my-subnet2",
              "aliasIpRanges": [
                {
                  "ipCidrRange": "/32",
                },
                {
                  "subnetworkRangeName": "range2",
                  "ipCidrRange": "/24"
                }
              ]
            }
          ],
          ...
        }
        

    Ersetzen Sie die Platzhalter durch gültige Werte:

    • PROJECT_ID ist die ID des Projekts, in dem Sie die Instanz erstellen.
    • REGION ist die Google Cloud-Region, in der sich das Subnetz befindet. Die Subnetze müssen sich in derselben Region wie die Instanz befinden.
    • ZONE ist die Google Cloud-Zone, in der die Instanz erstellt wird.

    Weitere Informationen finden Sie im Abschnitt zur Methode instance.insert.

Einer vorhandenen Instanz Alias-IP-Bereiche hinzufügen

Sie können einer laufenden Instanz einen Alias-IP-Bereich hinzufügen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite "VM-Instanzen" auf.
    Zur Seite "VM-Instanzen"
  2. Klicken Sie auf den Namen einer vorhandenen Instanz.
  3. Klicken Sie auf Bearbeiten.
  4. Klicken Sie auf die Netzwerkschnittstelle nic0 oder die Netzwerkschnittstelle, der Sie einen Alias-IP-Bereich hinzufügen.
  5. Klicken Sie auf Alias-IP-Bereiche einblenden.
  6. Klicken Sie auf IP-Bereich hinzufügen.
  7. Wählen Sie einen Subnetzbereich aus.
  8. Geben Sie einen Alias-IP-Bereich ein.
  9. Klicken Sie auf Fertig.
  10. Klicken Sie auf Speichern.

gcloud

    gcloud compute instances network-interfaces update INSTANCE_NAME \
        --zone ZONE \
        [--network-interface NETWORK_INTERFACE; default="nic0"]
        --aliases "RANGE_NAME:RANGE_CIDR,RANGE_NAME:RANGE_CIDR,..."
    
  • ZONE ist die Zone, die die Instanz enthält.
  • NETWORK_INTERFACE ist der Name der Netzwerkschnittstelle, zu der Sie einen Alias-IP-Adressbereich hinzufügen.
  • RANGE_NAME ist der Name des sekundären Subnetzbereichs, aus dem der Alias-IP-Bereich bezogen werden soll. Wenn Sie Bereiche aus dem primären Bereich des Subnetzes zuweisen, lassen Sie diesen Wert weg.
  • RANGE_CIDR ist der IP-Bereich, der der Schnittstelle zugewiesen werden soll. Der Bereich kann ein bestimmter Bereich sein (192.168.100.0/24), eine einzelne IP-Adresse (192.168.100.1) oder eine Netzmaske im CIDR-Format (/24). Wenn der IP-Bereich nur durch eine Netzmaske angegeben wird, wählt die IP-Zuweisung einen verfügbaren Bereich mit der angegebenen Netzmaske aus und weist ihn der Netzwerkschnittstelle zu.

Die vollständige Syntax finden Sie in der gcloud-Dokumentation.

API

Fügen Sie einer vorhandenen Instanz Alias-IP-Bereiche hinzu.

    PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/multinic/updateNetworkInterface?networkInterface=NETWORK_INTERFACE_NAME
    {
      "aliasIpRanges": [
        {
          "ipCidrRange": "SECONDARY_IP_RANGE",
          "subnetworkRangeName": "SECONDARY_RANGE_NAME"
        },
        existing ranges...
      ],
      "fingerprint": "INTERFACE_FINGERPRINT"
    }
    

Ersetzen Sie die Platzhalter durch gültige Werte:

  • PROJECT_ID ist die ID des Projekts, die die Instanz enthält, die geändert werden soll.
  • NETWORK_INTERFACE_NAME ist der Name der zu ändernden Netzwerkschnittstelle der Instanz.
  • INTERFACE_FINGERPRINT ist die Fingerabdruck-ID für die vorhandene Netzwerkschnittstelle, die beim Beschreiben einer Instanz angegeben wird.
  • SECONDARY_CIDR_RANGE ist der IP-Bereich, der der Schnittstelle zugewiesen werden soll. Der Bereich kann ein bestimmter Bereich sein (192.168.100.0/24), eine einzelne IP-Adresse (192.168.100.1) oder eine Netzmaske im CIDR-Format (/24). Wenn Sie den IP-Bereich nur als Netzmaske angeben, wählt die IP-Adressenzuweisung einen verfügbaren Bereich mit der angegebenen Netzmaske aus und weist ihn der Netzwerkschnittstelle zu.
  • SECONDARY_RANGE_NAME ist der Name des sekundären Subnetzbereichs, aus dem der Alias-IP-Bereich bezogen werden soll. Wenn Sie Bereiche aus dem primären Bereich des Subnetzes zuweisen, lassen Sie dieses Feld weg.
  • ZONE ist die Google Cloud-Zone, in der die Instanz erstellt wird.

Weitere Informationen finden Sie in der Methode instance.updateNetworkInterface.

Alias-IP-Bereiche für eine vorhandene Instanz ändern

Sie können einer vorhandenen Instanz weitere Alias-IP-Bereiche hinzufügen oder einen oder mehrere Bereiche entfernen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite "VM-Instanzen" auf.
    Zur Seite "VM-Instanzen"
  2. Klicken Sie auf den Namen einer vorhandenen Instanz.
  3. Klicken Sie auf Bearbeiten.
  4. Klicken Sie auf die Netzwerkschnittstelle nic0 oder die zu ändernde Netzwerkschnittstelle.
  5. Klicken Sie auf Alias-IP-Bereiche einblenden.
  6. Klicken Sie zum Hinzufügen eines Alias-IP-Bereichs auf Alias-IP-Bereich hinzufügen.
  7. Wenn Sie einen Alias-IP-Bereich entfernen möchten, klicken Sie neben dem Alias-IP-Bereich auf X.
  8. Klicken Sie auf Fertig.
  9. Klicken Sie auf Speichern.

gcloud

    gcloud compute instances network-interfaces update INSTANCE_NAME \
        --zone ZONE \
        [--network-interface NETWORK_INTERFACE; default="nic0"]
        --aliases "RANGES_TO_RETAIN;NEW_RANGE_NAME:NEW_RANGE_CIDR;..."
    
  • ZONE ist die Zone, die die Instanz enthält.
  • NETWORK_INTERFACE ist der Name der Netzwerkschnittstelle, die Sie ändern möchten.
  • RANGES_TO_RETAIN sind die bestehenden Bereiche im Format CURRENT_RANGE_NAME:CURRRENT_RANGE_CIDR, die Sie behalten möchten. Wenn Sie Bereiche einer Instanz hinzufügen, die keine enthält, sind diese Werte leer. Wenn Sie alle Bereiche aus der Instanz entfernen, ist das gesamte Feld --aliases leer.
  • NEW_RANGE_NAME ist der Name des sekundären Bereichs des Subnetzes, aus dem neue Alias-IP-Bereiche bezogen werden sollen. Wenn Sie Bereiche aus dem primären Bereich des Subnetzes zuweisen, lassen Sie diesen Wert weg.
  • NEW_RANGE_CIDR ist der IP-Bereich, der der Schnittstelle zugewiesen werden soll. Der Bereich kann ein bestimmter Bereich sein (192.168.100.0/24), eine einzelne IP-Adresse (192.168.100.1) oder eine Netzmaske im CIDR-Format (/24). Wenn der IP-Bereich nur durch eine Netzmaske angegeben wird, wählt die IP-Zuweisung einen verfügbaren Bereich mit der angegebenen Netzmaske aus und weist ihn der Netzwerkschnittstelle zu.

Wenn Sie Bereiche hinzufügen möchten, führen Sie den Befehl aus und geben Sie alle vorhandenen sowie alle neuen Alias-IP-Bereiche an. Paare werden durch Semikolons getrennt. Beispiel: --aliases "CURRENT_RANGE_NAME:CURRRENT_RANGE_CIDR;NEW_RANGE_NAME:NEW_RANGE_CIDR"

Wenn Sie Bereiche entfernen möchten, führen Sie den Befehl aus und geben Sie nur die Alias-IP-Bereiche an, die Sie behalten möchten. Wenn Sie Bereiche aus einem sekundären Bereich beibehalten, müssen Sie den Namen des sekundären Bereichs angeben. Ein CIDR-Bereich kann ein bestimmter Bereich sein (192.168.100.0/24) oder eine einzelne IP-Adresse (192.168.100.1). Beispiel: --aliases "RANGE_NAME:RANGE_CIDR;RANGE_CIDR".

Wenn Sie alle Bereiche entfernen möchten, führen Sie den Befehl aus und geben Sie das Flag --aliases an. Verwenden Sie für eine leere Eingabe Anführungszeichen. Beispiel: --aliases "".

Sie können nicht im selben gcloud-Befehl Bereiche hinzufügen und entfernen. Wenn Sie mit dem gcloud-Befehlszeilentool einige Bereiche entfernen und andere hinzuzufügen möchten, führen Sie zuerst den Befehl zum Entfernen nicht benötigter Bereiche aus und führen Sie dann den Befehl aus, um erforderliche Bereiche hinzuzufügen.

Die vollständige Syntax finden Sie in der gcloud-Dokumentation.

API

Fügen Sie einer Netzwerkschnittstelle einer vorhandenen Instanz Alias-IP-Adressbereiche hinzu oder entfernen Sie sie.

    PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/multinic/updateNetworkInterface?networkInterface=NETWORK_INTERFACE_NAME
    {
      "aliasIpRanges": [
        include new and existing ranges to add them...
        exclude existing ranges to remove them...
      ],
      "fingerprint": "INTERFACE_FINGERPRINT"
    }
    

Ersetzen Sie die Platzhalter durch gültige Werte:

  • PROJECT_ID ist die ID des Projekts, die die Instanz enthält, die geändert werden soll.
  • NETWORK_INTERFACE_NAME ist der Name der zu ändernden Netzwerkschnittstelle der Instanz.
  • INTERFACE_FINGERPRINT ist die Fingerabdruck-ID für die vorhandene Netzwerkschnittstelle, die beim Beschreiben einer Instanz angegeben wird.

Weitere Informationen finden Sie in der Methode instance.updateNetworkInterface.

Fehlerbehebung

VM-Instanz kann nicht mit Alias-IP-Adresse erstellt werden

  1. Überprüfen Sie, ob das Netzwerk ein VPC-Netzwerk ist. Alias-IP-Adressen werden in Legacy-Netzwerken nicht unterstützt.

        gcloud compute networks list --filter="name=NETWORK_NAME"
        

    Die Einstellung MODE für das Netzwerk sollte "auto" oder "custom" lauten.

  2. Prüfen Sie Folgendes, wenn ein Subnetzbereichsname angegeben ist:

        gcloud compute networks subnets describe SUBNET_NAME --region=REGION
        
    • Das Subnetz hat einen sekundären Bereich mit dem entsprechenden Namen.
    • Der angeforderte Alias-IP-Bereich liegt in diesem sekundären Bereich oder er ist kleiner als der primäre Bereich (bei Verwendung einer Netzmaske).
  3. Wenn kein Subnetzbereichsname angegeben ist, achten Sie darauf, dass der angeforderte Alias-IP-Bereich innerhalb des primären Subnetzbereichs liegt oder (bei Verwendung einer Netzmaske) kleiner als der Primärbereich ist.

Verbindung zur Alias-IP-Adresse nicht möglich

  1. Überprüfen Sie die Firewallregeln.

    1. Listen Sie alle Firewallregeln auf:

          gcloud compute firewall-rules list --format=json
          
    2. Prüfen Sie, ob Traffic von und zu der Alias-IP-Adresse zugelassen wird.

    3. Fügen Sie ggf. Firewallregeln hinzu, um das Pingen von Alias-IP-Adressen zu ermöglichen:

          gcloud compute firewall-rules create FIREWALL_NAME1 \
            --network NETWORK_NAME --priority 0 --source-ranges ALIAS_IP \
            --allow icmp
          
          gcloud compute firewall-rules create FIREWALL_NAME2 \
            --network NETWORK_NAME --priority 0 --direction out \
            --destination-ranges ALIAS_IP --allow icmp
          
  2. Stellen Sie sicher, dass die VM die IP-Aliasbereiche als lokal erkennt. Bei Linux-Distributionen wie Debian kann dies in der Regel so geschehen:

    1. Stellen Sie eine Verbindung zur Instanz her und führen Sie den folgenden Befehl aus:

          ip route show table local
          

      Die Ausgabe sollte Folgendes enthalten:

          local ALIAS_IP_RANGE dev eth0  proto 66  scope host
          
    2. ip_alias = true muss in /etc/default/instance_configs.cfg enthalten sein. Wenn Sie dies ändern müssen, müssen Sie auch den Routing-Daemon neu starten:

          service google-ip-forwarding-daemon restart
          
    3. Wenn keine lokale Route vorhanden ist, konfigurieren Sie sie mit diesem Befehl:

          ip route add to local ALIAS_IP_RANGE dev eth0 proto 66
          

Mein sekundärer IP-Bereich ist nicht aufgeführt

Sekundäre IP-Bereiche werden nicht als reguläre Subnetze aufgeführt. Um zu prüfen, ob der sekundäre IP-Bereich des Subnetzes erstellt wurde, verwenden Sie den Befehl gcloud compute networks subnets describe.

  1. Erstellen Sie ein Subnetz.

        gcloud compute networks subnets create my-subnet \
            --region us-central1 \
            --network my-network \
            --range 10.9.0.0/16 \
            --secondary-range secondaryrange1=172.16.0.0/12
        
        Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/regions/us-central1/subnetworks/my-subnet].
        NAME       REGION       NETWORK     RANGE
        my-subnet  us-central1  my-network  10.9.0.0/16
        
  2. Listen Sie Ihre Subnetze auf.

        gcloud compute networks subnets list
        
        NAME       REGION       NETWORK     RANGE
        my-subnet  us-central1  my-network  10.9.0.0/16
        
  3. Rufen Sie Details zu einem Subnetz ab, um die sekundären Bereiche anzuzeigen.

        gcloud compute networks subnets describe my-subnet --region us-central1
        
        ...
        ipCidrRange: 10.9.0.0/16
        ...
        secondaryIpRanges:
        - ipCidrRange: 172.16.0.0/12
          rangeName: secondaryrange1
        ...
        

Der angegebene sekundäre Bereich des Subnetzes existiert nicht

Wenn Sie beim Erstellen einer VM die Fehlermeldung erhalten, dass der sekundäre Bereich nicht existiert, prüfen Sie Folgendes:

  • Das Subnetz muss einen sekundären Bereich mit dem angegebenen Namen haben.
  • Sie müssen Ihre VM innerhalb des Subnetzes erstellen, in dem sich der sekundäre Bereich befindet.

Dieser Fehler wird angezeigt, wenn Sie die folgenden Befehle ausführen:

  1. Erstellen Sie ein Subnetz mit einem sekundären Bereich.

        gcloud compute networks subnets create my-subnet \
            --region us-central1 \
            --network my-network \
            --range 10.9.0.0/16 \
            --secondary-range secondaryrange1=172.16.0.0/12
        
        Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/regions/us-central1/subnetworks/my-subnet].
        NAME       REGION       NETWORK     RANGE
        my-subnet  us-central1  my-network  10.9.0.0/16
        
  2. Erstellen Sie eine Instanz in einem anderen Netzwerk, z. B. im Standardnetzwerk, und nicht im neu erstellten Subnetz.

        gcloud compute instances create instance-1 \
            --zone us-central1-a \
            --network default
        
        Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/zones/us-central1-a/instances/instance-1].
        NAME        ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
        instance-1  us-central1-a  n1-standard-1               10.128.0.2     47.82.96.9  RUNNING
        
  3. Versuchen Sie, einen Alias-IP-Bereich aus dem in Schritt 1 erstellten Subnetz zuzuweisen. Der Befehl schlägt fehl, da sich der sekundäre Bereich in einem anderen Subnetz befindet als die Instanz.

        gcloud compute instances network-interfaces update instance-1 \
            --zone us-central1-a \
            --aliases secondaryrange1:172.16.0.10/32
        
        ERROR: (gcloud.compute.instances.network-interfaces.update) HTTPError 400: Invalid value for field 'resource.aliasIpRanges[0].subnetworkRangeName': 'secondaryrange'. The specified subnetwork secondary range does not exist.
        
  4. Erstellen Sie eine andere Instanz. Die Schnittstelle dieser Instanz sollte in dem in Schritt 1 erstellten Subnetz enthalten sein.

        gcloud compute instances create instance-2 \
            --zone us-central1-a \
            --network-interface subnet=my-subnet
        
        Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/zones/us-central1-a/instances/instance-2].
        NAME        ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
        instance-2  us-central1-a  n1-standard-1               10.9.0.2     38.74.204.89  RUNNING
        
  5. Fügen Sie der Schnittstelle einen Alias-IP-Bereich hinzu. Dieses Mal ist der Befehl erfolgreich, da sich die Schnittstelle und der sekundäre Bereich im selben Subnetz befinden.

        gcloud compute instances network-interfaces update instance-2 \
            --zone us-central1-a \
            --aliases secondaryrange1:172.16.0.10/32
        
        Updating network interface [nic0] of instance [instance-2]...done.
        

Hinzufügen und Entfernen sekundärer IP-Bereiche in derselben Anfrage nicht möglich

Das Hinzufügen und Entfernen von sekundären IP-Bereichen des Subnetzes in demselben Befehl wird derzeit nicht unterstützt. Mit den gcloud-Befehlen zum Hinzufügen und Entfernen von sekundären Bereichen bleiben die vorhandenen Bereiche, die nicht geändert werden, erhalten.

Führen Sie zwei einzelne Befehle aus, um Bereiche hinzuzufügen bzw. zu entfernen.

    gcloud compute networks subnets update SUBNET_NAME \
        --add-secondary-ranges RANGE_NAME=RANGE_CIDR,RANGE_NAME=RANGE_CIDR,...
    
    gcloud compute networks subnets update  SUBNET_NAME \
        --remove-secondary-ranges RANGE_NAME,RANGE_NAME,...
    

Weitere Details zu diesem Befehl erhalten Sie über gcloud compute networks subnets update --help.

Gleichzeitiges Hinzufügen und Entfernen von Alias-IP-Bereichen nicht möglich

Das Hinzufügen und Entfernen von Alias-IP-Bereichen einer VM in derselben Anfrage wird derzeit nicht unterstützt.

Der gcloud-Befehl zum Aktualisieren von Alias-IP-Bereichen behält die vorhandenen Bereiche NICHT bei, daher wird das Auslassen eines Bereichs als Anfrage zum Löschen des Bereichs behandelt.

Wenn beispielsweise die aktuelle VM den Aliasbereich 10.9.27.0/24 hat und der neue angeforderte Bereich /24 ist, wird das Ausführen des Befehls zum Anfordern des Bereichs /24 zurückgewiesen, da dies als Entfernen des Bereichs 10.9.27.0/24 und Hinzufügen des Bereichs /24 interpretiert wird. Der vorhandene Bereich muss explizit entfernt werden, bevor Sie den neuen Bereich hinzufügen können.

Beispiel:

  1. Erstellen Sie einen Alias-IP-Bereich.

        gcloud compute instances create vm --network-interface "subnet=s1,aliases=10.9.27.0/24"
        
  2. Versuchen Sie, /24 hinzuzufügen, ohne den vorhandenen Bereich anzugeben. Ein Fehler wird angezeigt.

        gcloud compute instances network-interfaces update vm --aliases "/24"
        ERROR: (gcloud.compute.instances.network-interfaces.update) HTTPError 400: Invalid value for field 'resource.aliasIpRanges': ''. Cannot simultaneously add and remove alias IP ranges.
        
  3. Aktualisieren Sie die VM, um alle Alias-IP-Bereiche zu entfernen.

        gcloud compute instances network-interfaces update vm --aliases ""
        Updating network interface [nic0] of instance [vm]...done.
        
  4. Fügen Sie den neuen Alias-IP-Bereich hinzu.

        gcloud compute instances network-interfaces update vm --aliases "/24"
        Updating network interface [nic0] of instance [vm]...done.
        

Weitere Details zu diesem Befehl erhalten Sie über gcloud compute instances network-interfaces update --help.

Quelltags und Quelldienstkonten in Firewallregeln

Quelldienstkonten und Quelltags in Firewallregeln beziehen sich nur auf primäre Netzwerk-IP-Adressen der passenden Instanzen, nicht jedoch auf Alias-IP-Adressen. Eine Firewallregel mit Quelltags hat also keinen Einfluss auf den Traffic von einer Alias-IP-Adresse der Instanz. Alias-IP-Adressen können den Firewallregeln als Quell- oder Zielbereiche hinzugefügt werden.

Probleme mit VMs mit mehreren Schnittstellen und Alias-IP-Bereichen

Weitere Informationen erhalten Sie unter Fehlerbehebung für mehrere Schnittstellen.

Aktivieren von IP-Aliassen für GCP-Images deaktiviert cbr0 Bridge auf selbstverwalteten Kubernetes-Clustern

Auf Kubernetes-Clustern steht die lokale Route ALIAS_IP_RANGE in Konflikt mit cbr0 und deaktiviert die Brücke, wodurch die Netzwerkkonnektivität der Pods verloren geht.

Daher ist diese Route auf Container-Optimized OS-Images von GKE deaktiviert.

Nutzer, die Alias-IP-Adressen in selbstverwalteten Clustern mit von Google Cloud bereitgestellten Images verwenden möchten, müssen möglicherweise Maßnahmen zum Ausschließen dieser Route ergreifen.

Symptome:

  • Wenn dieser Konflikt auftritt, haben Kubernetes-Pods keinen Netzwerkzugriff

  • Ausführen einer Paketerfassung auf dem Linux-Bridge-Gerät (tcpdump -ni cbr arp), während die Pods versuchen, ausgehende Verbindungen zu erhöhen, zeigt Pods, die per ARP die MAC-Adresse ihres Gateways ermitteln möchten. Das Gateway cbr0 gibt keine ARP-Antwort zurück, obwohl es aktiv ist.

  • ip route show table local zeigt ALIAS_IP_RANGE für eth0

Behebung:

  • Legen Sie ip_forwarding_daemon = false in /etc/default/instance_configs.cfg der betroffenen Knoten fest. Dadurch wird verhindert, dass die Route nach dem Löschen neu installiert wird

  • Starten Sie den IP-Weiterleitungs-Daemon neu: service google-ip-forwarding-daemon restart

  • Löschen Sie vorhandene Routen manuell: sudo ip route del local ALIAS_IP_RANGE dev eth0

Weitere Informationen