
Ich versuche, die IP-Weiterleitung für eine Schnittstelle einer in Google Cloud gehosteten Instanz zu aktivieren.
- Ich habe eine F1-Micro-VM-Instanz auf Google Compute Engine.
- Ich habe erfolgreich eine IP-Weiterleitungsregel mit gcloud erstelltHier.
Der Befehlcompute forwarding-rules describe myrulenamehere
gibt eine Beschreibung der Regel aus. - Wenn ich die Detailseite der VM-Instanz öffne, ist die IP-Weiterleitung als AUS markiert und ich kann sie nicht über die Schaltfläche BEARBEITEN ändern.
Wie aktiviere ich die IP-Weiterleitung für die Schnittstelle, wenn bereits eine Weiterleitungsregel erstellt wurde?
Antwort1
Sie können diesen Wert nicht ändern, da es sich um einenschreibgeschütztWert für bereits erstellte Instanzen. Aus der offiziellen Google-Dokumentation, die Sie überprüfen könnenHier:
Sie können das Feld „canIpForward“ nur beim Erstellen der Instanz festlegen. Nachdem eine Instanz erstellt wurde, ist das Feld schreibgeschützt.
Daher denke ich, dass die einzige Möglichkeit, die Sie jetzt haben, darin besteht, die virtuelle Maschine, die Zielinstanz und die Weiterleitungsregel erneut zu erstellen. Sie können die IP-Weiterleitung beim Erstellen mit dem Flag aktivieren --can-ip-forward
, zum Beispiel:
gcloud compute instances create instance-name --can-ip-forward
Sie können es auch über die Konsole im Menü „Netzwerkschnittstelle“ bei der Erstellung der Instanz aktivieren.
Sie können auch die gleiche Weiterleitungsregel beibehalten undAktualisieren Sie die Zielinstanznur laufen:
gcloud compute forwarding-rules set-target ...
Antwort2
GCP hat die Option hinzugefügt, IP_FORWARDING zu aktualisieren, ohne die VM-Instanz neu zu erstellen.
gcloud compute instances update-from-file INSTANCE_NAME
Weitere Einzelheiten finden Sie unter Instanzeigenschaften aktualisieren.
Antwort3
Wie @Ivan sagte, ermöglicht GCP jetzt die Festlegung von canIpForward nach der Erstellung. Aber wenn Sie neu bei GCP sind, ist es nicht intuitiv, wie Sie dies über die Cloud-Shell/das Terminal tun.
Öffnen Sie die Konsole und geben Sie dann den folgenden Befehl ein:
gcloud compute instances export $myInstanceName --project $myProjectId --zone $instanceZone --destination=config_old.txt
Die Konfigurationsdatei endet im Speicher Ihrer Shell-Instanz, nicht auf Ihrer lokalen Arbeitsstation (unabhängig davon, was dieDokumentationsagt).
Klicken Sie auf die 3 vertikalen Punkte direkt über dem Terminal und dann auf „Herunterladen“. Entpacken Sie die ZIP-Datei und suchen Sie config_old.txt. Bearbeiten Sie die Attribute, die Sie ändern möchten (canIpForward: true) und speichern Sie die Datei als config_new.txt. Klicken Sie auf die 3 vertikalen Punkte und dann auf „Hochladen“ -> „Datei“ -> „Browser“ -> „Hochladen“.
Geben Sie nach dem Hochladen den folgenden Befehl ein:
gcloud compute instances update-from-file $myInstanceName --project $myProjectId --zone $instanceZone --source=/home/some_folder/config_new.txt --most-disruptive-allowed-action=REFRESH
Überprüfen Sie die Netzwerkschnittstellen für die Instanz: Die IP-Weiterleitung ist jetzt aktiviert
Beispiel mit Werten:
gcloud compute instances export server1-example-com --project example-project --zone us-west4-c --destination=config_old.txt
gcloud compute instances update-from-file server1-example-com --project example-project --zone us-west4-c --source=/home/some_folder/config_new.txt --most-disruptive-allowed-action=REFRESH