Grundsätzlich möchte ich die öffentliche IP der Google Cloud-VM verwenden, um auf meinen lokalen Webserver zuzugreifen. Auf meiner lokalen Seite habe ich keine öffentliche IP.
Wenn ichgcloud_public_ip:80In der URL-Leiste meines Browsers möchte ich statt auf das Web der Cloud-VM auf den Web-Port meines lokalen Servers zugreifen.
Ich habe Wireguard erfolgreich konfiguriert. WG0-Schnittstellen sowohl auf der GCloud-VM als auch auf dem lokalen Server sind aktiv und einsatzbereit. In meinem lokalen Router gibt es keine Portblockierung oder IP-Filterung. Ich habe auch die Web-Ports 80/443 UDP/TCP-Ingress in der Google Cloud Firewall sowie einige andere Ports für den Wireguard-Tunnel geöffnet.
Ich habe gelesen, dass ich den Befehl iptables auf der Cloud-VM verwenden muss, um eingehenden Datenverkehr aus dem Internet auf den Webport 80/443 meines lokalen Servers umzuleiten, der sich auf der anderen Seite des Wireguard-Tunnels befindet. Ich bin damit nicht sehr vertraut, aber soweit ich weiß, muss ich zwei Befehle eingeben: einen für PREROUTING und einen für POSTROUTING.
Dies sind die Befehle, die ich ausgegeben habe, aber sie funktionieren nicht, oder zumindest glaube ich, dass mir noch etwas fehlt.
sudo iptables -t nat -A PREROUTING -i ens4 -p tcp --dports 80,443 -j DNAT --to-destination 10.0.3.2
sudo iptables -t nat -A POSTROUTING -p tcp -d 10.0.3.2 --dports 80,443 -j SNAT --to-source 10.140.0.2
ens4 ist die interne Schnittstelle einer Google Cloud-VM, der eine öffentliche IP zugeordnet ist.
10.0.3.2 ist die Tunnel-IP des lokalen Servers.
10.140.0.2 ist die IP von ens4, der eine öffentliche IP zugeordnet ist.
Antwort1
Sie haben auf Ihrem VPS-Server Regeln eingerichtet, damit dieser den Datenverkehr von/zu Ihrem Webserver ordnungsgemäß verarbeiten kann.
Sie müssen jedoch Regeln auf Ihrem Webserver einrichten, die den gesamten Datenverkehr über den Wireguard-Tunnel weiterleiten.
Sie müssen eine Standardroute über den Wireguard-Tunnel auf Ihrem Webserver einrichten. Es muss eine Hostroute zum VPS über die von Ihnen verwendete Internetverbindung geben.
Alle Details hängen von den genaueren Einzelheiten Ihrer Netzwerkkonfiguration ab.