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.
Networks must be distinct for NICs attached to a VM.
Wenn Sie diese Nachricht erhalten, versuchen Sie, mehr als eine Schittstelle in demselben Netzwerk zu erstellen. Jede Netzwerkschnittstelle muss an ein anderes VPC-Netzwerk angeschlossen sein.
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 für Alias-IP-Bereiche verwendet werden. Jede Schnittstelle gehört zu einem Subnetz in jeweils einem anderen VPC-Netzwerk, das sich nicht mit Subnetzen anderer Schnittstellen überschneiden darf. Wenn Sie beispielsweise versuchen, Ihre Instanz in der Region
REGION_A
zu erstellen, können Sie mit dem folgenden Befehl oder der Google Cloud Console primäre Subnetz-CIDR-Bereiche 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 sekundäre Subnetz-CIDR-Bereiche 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 es sich bei einem Netzwerk um ein Legacy-Netzwerk handelt:
- Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf und sehen Sie sich die Spalte Modus an.
- Führen Sie den Befehl
gcloud compute networks list
aus 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, keine zum Erstellen einer Instanz nötigen IAM-Berechtigungen. Weitere Informationen zu den Rollen, die zum Erstellen von Instanzen erforderlich sind, finden Sie unter Berechtigungen, IAM und Instanzen mit mehreren Netzwerkschnittstellen. Sie können prüfen, ob Ihnen die IAM-Richtlinie für Ihr Projekt eine der folgenden Rollen gewährt:
OWNER
,EDITOR
odercompute.instanceAdmin.v1
. Zum Erstellen von Instanzen in freigegebenen VPC benötigen Sie zusätzlich die Rollecompute.networkUser
. Im folgenden Beispiel verfügt das Kontoemail2@gmail.com
nicht über ausreichende IAM-Berechtigungen zum Erstellen einer Instanz. Eine ausführlichere Anleitung finden Sie in der IAM-Dokumentation unter Zugriff auf Ressourcen erteilen, ändern und entziehen.gcloud projects get-iam-policy PROJECT_ID bindings: - members: - user:email1@gmail.com role: roles/owner - members: - serviceAccount:our-project-123@appspot.gserviceaccount.com - serviceAccount:123456789012-compute@developer.gserviceaccount.com role: roles/editor - members: - user:email2@gmail.com role: roles/viewer etag: BwUjMhXbSPU= version: 1
Sie können den Inhaber oder Bearbeiter Ihres Projekts bitten, Ihnen eine der Rollen
OWNER
,EDITOR
odercompute.instanceAdmin.v1
zu erteilen. Wenn Sie eine Schnittstelle mit einem zu freigegebenen 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 die Google Cloud Console aufrufen und auf das entsprechende VPC-Netzwerk klicken oder folgenden
gcloud
-Befehl 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 DHCP-Verhalten mit mehreren Netzwerkschnittstellen 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 zur IPv6-Adresse einer sekundären Schnittstelle 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
Standardmäßig antwortet der Metadatenserver der Instanz nur auf ARP-Anfragen für das Standardgateway.
Für die Konfiguration von Schnittstellen mit einer anderen Netzmaske als /32
müssen Sie ein Image mit dem Flag --guest-os-features MULTI_IP_SUBNET
und damit Ihre Instanz erstellen. Wenn Sie beispielsweise ein debian-9
-basiertes Image verwenden, können Sie ein Image mit dem folgenden Befehl erstellen:
gcloud compute images create debian-9-multi-ip-subnet \ --source-disk debian-9-disk \ --source-disk-zone ZONE_A \ --guest-os-features MULTI_IP_SUBNET
Um die auf dem Image konfigurierten Gastfeatures aufzurufen, führen Sie den Befehl gcloud compute
images describe
für das Gast-Image aus.
gcloud compute images describe debian-9-multi-ip-subnet
Weitere Informationen zum Erstellen benutzerdefinierter Images finden Sie unter Benutzerdefinierte Images erstellen, löschen und verwerfen.
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-Netzwerks aufgelöst. Weitere Informationen finden Sie unter DNS-Auflösung mit mehreren Netzwerkschnittstellen.
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.