Fehlerbehebung bei VMs mit mehreren Netzwerkschnittstellen
Auf dieser Seite finden Sie Schritte zur Fehlerbehebung bei häufigen Problemen, die beim Erstellen und Verwenden von VMs mit mehreren Netzwerkschnittstellen auftreten können.
Ich kann keine VM mit mehreren Schnittstellen erstellen
Möglicherweise wird eine der folgenden Fehlermeldungen angezeigt:
Invalid value for field 'resource': ''. Too many network interfaces. The maximum number of network interfaces allowed for this machine type is.Wenn Sie diese Fehlermeldung erhalten, versuchen Sie, mehr Schnittstellen als die vom Instanzmaschinentyp unterstützten maximalen Schnittstellen zu erstellen. Siehe die Tabelle zur maximalen Anzahl von Schnittstellen.
Subnetwork CIDR ranges must be non-overlapping for NICs attached to a VM.Wenn Sie diese Meldung erhalten, überschneiden sich die CIDR-Bereiche Ihrer VMs. Diese CIDR-Bereiche umfassen alle primären Bereiche von Subnetzen, die mit VM-Schnittstellen verknüpft sind, sowie sekundäre Bereiche, die verwendet werden für Alias-IP-Bereiche. Jede Schnittstelle ist mit einem Subnetz verbunden, das sich nicht mit Subnetzen anderer Schnittstellen überschneiden darf. Wenn Sie beispielsweise versuchen, Ihre Instanz in Region
REGION_Azu erstellen, können Sie die primären CIDR-Bereiche des Subnetzes mit dem folgenden Befehl oder der Google Cloud Console prüfen.gcloud compute networks subnets list --regions REGION_A NAME REGION NETWORK RANGE default REGION_A default 10.138.0.0/20 overlapping-subnet REGION_A test-network 10.138.8.0/24
Verwenden Sie den folgenden Befehl oder die Google Cloud Console, um die sekundären CIDR-Bereiche des Subnetzes zu prüfen.
gcloud compute networks subnets describe overlapping-subnet --region REGION_A
... ipCidrRange: 10.128.8.0/24 ... secondaryIpRanges: - ipCidrRange: 10.138.8.0/24 rangeName: conflicting-range
Multiple network interfaces are not supported on legacy networks.Wenn Sie diese Meldung erhalten, versuchen Sie, Ihre Instanz in einem älteren (Legacy-)Netzwerk zu erstellen. Instanzen mit mehreren Schnittstellen werden von älteren Netzwerken nicht unterstützt. Sie können mit einer der folgenden Methoden prüfen, ob ein Netzwerk ein älteres Netzwerk ist:
- Rufen Sie in der Google Cloud Console die VPC-Netzwerke Seite auf und prüfen Sie die Modus Spalte.
- Führen Sie den Befehl
gcloud compute networks listaus und prüfen Sie das FeldSUBNET_MODE.
Required 'compute.instances.create' permission for 'projects/PROJECT_ID/zones/ZONE/instances/test-inst'Wenn Sie diese Meldung erhalten, hat das Konto, mit dem Sie angemeldet sind, nicht die zum Erstellen einer Instanz nötigen IAM-Berechtigungen. Weitere Informationen zu den für das Erstellen von Instanzen erforderlichen Rollen finden Sie unter Berechtigungen, IAM und Instanzen mit mehreren Netzwerkschnittstellen. Sie können prüfen, ob die mit Ihrem Projekt verknüpfte IAM-Richtlinie Ihnen eine der folgenden Rollen gewährt:
OWNER,EDITORodercompute.instanceAdmin.v1. Zum Erstellen von Instanzen in freigegebene VPC benötigen Sie zusätzlich die Rollecompute.networkUser. Im folgenden Beispiel verfügt das Kontoemail2@gmail.comnicht über ausreichende IAM-Berechtigungen zum Erstellen einer Instanz. Eine detailliertere Anleitung finden Sie im IAM-Leitfaden Zugriff auf Ressourcen gewähren, ändern und entziehen.gcloud projects get-iam-policy PROJECT_ID bindings: - members: - user:email1@gmail.com role: roles/owner - members: - serviceAccount:our-project-123@ - serviceAccount:123456789012-compute@ role: roles/editor - members: - user:email2@gmail.com role: roles/viewer etag: BwUjMhXbSPU= version: 1Sie können den Inhaber oder Bearbeiter Ihres Projekts bitten, Ihnen eine der Rollen
OWNER,EDITORodercompute.instanceAdmin.v1zu erteilen. Wenn Sie eine Schnittstelle mit einem zu freigegebene VPC gehörenden Subnetz verbinden, benötigen Sie auch die Rollecompute.networkUser.gcloud projects set-iam_policy --member user:email2@gmail.com --role roles/editor
Ich kann keine Verbindung zur internen IP-Adresse einer sekundären Schnittstelle herstellen
Prüfen Sie die Firewallregeln, um zu bestätigen, dass sie Verbindungen zur sekundären VM-Schnittstelle zulassen. Sehen Sie sich dazu die Firewallregeln für das mit der sekundären Schnittstelle verbundene Netzwerk an. Sie können hierfür entweder Google Cloud die Console aufrufen und auf das entsprechende VPC-Netzwerk klicken oder folgenden
gcloudBefehl verwenden.gcloud compute firewall-rules list --filter='network:NETWORK_NAME'
Überprüfen Sie, ob Sie versuchen, eine Verbindung zu einer sekundären Schnittstelle von einer Internetadresse oder von außerhalb des Netzwerks der sekundären Schnittstelle herzustellen. Eine Verbindung zur internen IP-Adresse einer Schnittstelle ist nur innerhalb ihres Netzwerks möglich. Wenn Sie diese Schnittstelle von außerhalb des Netzwerks erreichen müssen, können Sie Ihrer sekundären Schnittstelle eine externe IP-Adresse zuweisen.
Überprüfen Sie, ob Sie versuchen, entweder von einem anderen Subnetz desselben Netzwerks oder von einem Peering-Netzwerk eine Verbindung zur internen IP-Adresse der sekundären Schnittstelle von außerhalb des Subnetzes herzustellen, mit dem die sekundäre Schnittstelle verbunden ist. In Mehrere Netzwerkschnittstellen pro Instanz wird das Zusammenspiel zwischen VPC-Peering und VM-Instanzen mit mehreren Schnittstellen beschrieben. Um sekundäre Schnittstellen außerhalb des Subnetzes der Schnittstelle zu erreichen, müssen Sie möglicherweise Routen auf der VM konfigurieren. Unter Spezifikationen finden Sie weitere Informationen dazu, wie DHCP Standardrouten in der VM programmiert.
Wenn Sie versuchen, auf eine IPv6-Adresse zuzugreifen, lesen Sie auch die Informationen unter Ich kann keine Verbindung zu einer sekundären Schnittstelle's IPv6-Adresse herstellen.
Ich kann über eine externe IP-Adresse keine Verbindung zu einer sekundären Schnittstelle herstellen
Der DHCP-Server programmiert nur auf der primären Netzwerkschnittstelle der VM eine Standardroute. Wenn Sie eine Verbindung über eine externe IP-Adresse zur sekundären Schnittstelle herstellen möchten, gibt es zwei Möglichkeiten. Wenn Sie über die sekundäre Netzwerkschnittstelle nur Verbindungen aus dem Netzwerk heraus herstellen müssen, können Sie auf dieser Netzwerkschnittstelle eine Standardroute einrichten. Andernfalls können Sie mit dem in der Anleitung Routing für eine zusätzliche Schnittstelle konfigurieren beschriebenen Ansatz eine separate Routingtabelle mit quellenbasiertem Richtlinienrouting in der VM konfigurieren.
Wenn Sie versuchen, auf eine IPv6-Adresse zuzugreifen, lesen Sie auch die Informationen unter Ich kann keine Verbindung zur IPv6-Adresse einer sekundären Schnittstelle herstellen.
Ich kann keine Verbindung zur IPv6-Adresse einer sekundären Schnittstelle herstellen
Wenn Sie versuchen, auf eine IPv6-Adresse zuzugreifen, prüfen Sie, ob auf der VM die google-guest-agent-Version 20220603.00 oder höher installiert ist. Weitere Informationen zum Verwalten von google-guest-agent-Versionen finden Sie unter Gastumgebung.
Wenn Sie eine ältere Version von google-guest-agent haben, erhalten die sekundären Schnittstellen keine IPv6-Subnetzroute. Wir empfehlen Ihnen, den Gast-Agent zu aktualisieren, damit die Routen korrekt konfiguriert sind.
Zur Umgehung dieses Problems können Sie stattdessen ein Startskript erstellen, um die folgende Konfigurationsänderung für jede sekundäre Schnittstelle vorzunehmen.
sudo sysctl -w net.ipv6.conf.INTERFACE_NAME.accept_ra_rt_info_max_plen=128
Ersetzen Sie INTERFACE_NAME durch den Namen der Schnittstelle, z. B. eth1 oder ens5.
Ich habe Verbindungsprobleme bei der Verwendung einer anderen Netzmaske als /32
Informationen zum Konfigurieren von Netzwerkschnittstellen mit anderen Netzmasken als
/32 finden Sie unter Netzmasken für Compute-Instanzen.
Ich kann den internen Hostnamen einer VM mit mehreren Netzwerkschnittstellen nicht auflösen
Wenn eine DNS-Abfrage mit einem internen Hostnamen ausgeführt wird, wird sie in die primäre Netzwerkschnittstelle (nic0) der Instanz aufgelöst.
Wenn nic0 mit einem VPC-Netzwerk verbunden ist, das sich vom VPC-Netzwerk der Instanz unterscheidet, die die DNS-Abfrage ausführt, schlägt die DNS-Abfrage fehl.
Internes DNS wird nur innerhalb eines bestimmten VPC-Netzwerk aufgelöst. Weitere
Informationen finden Sie unter
Internes DNS von Compute Engine.
Beim Löschen einer dynamischen Netzwerkschnittstelle durch Aktualisieren der Instanzeigenschaften wird ein Fehler angezeigt
In seltenen Fällen kann es vorkommen, dass die Aktualisierung fehlschlägt, wenn Sie beim Aktualisieren der Eigenschaften einer Instanz eine dynamische Netzwerkschnittstelle löschen. Nach dem Fehler wird die Instanz in ihren ursprünglichen Zustand zurückversetzt. In sehr seltenen Fällen kann es vorkommen, dass die Dynamic NIC gelöscht bleibt.
Wenn dieses Problem auftritt, gehen Sie so vor:
Problem beheben: Verwenden Sie denselben Befehl oder dieselbe Anfrage um die Instanzeigenschaften noch einmal zu aktualisieren. Durch erneutes Ausführen des Vorgangs wird sichergestellt, dass die Instanz den Zustand erreicht, den Sie in Ihrer ursprünglichen Anfrage angegeben haben.
Problem vermeiden: Löschen Sie dynamische Netzwerkschnittstellen nicht aus einer Instanz, indem Sie die Instanzeigenschaften aktualisieren. Löschen Sie dynamische Netzwerkschnittstellen stattdessen direkt, wie unter Dynamische Netzwerkschnittstellen löschen beschrieben.
Beim Löschen einer dynamischen Netzwerkschnittstelle durch Aktualisieren von MIG-Konfigurationen wird ein Fehler angezeigt
In seltenen Fällen kann es vorkommen, dass die Aktualisierung fehlschlägt, wenn Sie beim Aktualisieren von Instanzkonfigurationen in einer MIG eine dynamische Netzwerkschnittstelle löschen. Nach dem Fehler werden die Instanzen in ihren ursprünglichen Zustand zurückversetzt.
Compute Engine behebt dieses Problem automatisch, indem der Aktualisierungsvorgang so lange wiederholt wird, bis er erfolgreich ist. Sie können den Status der verwalteten Instanzen regelmäßig prüfen, bis der Fehler des letzten Versuchs behoben ist.
Fehlerbehebung mit serieller Konsole
Oft ist es ratsam, auf der VM die serielle Konsole zu aktivieren, um ein Debugging für Konfigurationsprobleme durchzuführen. Sie können die serielle Konsole für das interaktive Debugging auswählen. Befolgen Sie dazu die Schritte unter Fehlerbehebung mit der seriellen Konsole.