Ich habe OpenVPN bei anderen VPS-Anbietern installiert und wollte Googles ausprobieren. Mir gefällt das Preis-Leistungs-Verhältnis von Google, vor allem, weil ich die Maschinen von meinem Telefon aus hochfahren kann, ohne mich jedes Mal anmelden zu müssen.
Ich habe es an einem Punkt geschafft, an dem der Client eine Verbindung herstellt, aber keinen Zugriff auf das Internet hat.
Ich habe die Firewall für den OpenVPN-Port geöffnet.
Ich habe die IP-Weiterleitung auf der virtuellen Maschine aktiviert.
Der Client erhält eine IP, ein Gateway, DNS – alles, was nötig ist – wenn er verbunden ist.
Ich vermute, ich muss einen Router und/oder eine Route erstellen, damit die Pakete von der OpenVPN-Instanz in die Welt gelangen. Ich habe die Dokumentation sehr gründlich gelesen, aber ich stecke fest – ich bin noch kein Netzwerkguru und lerne immer noch dazu. Durch das Lesen sieht es so aus, als könnte ich das Netzwerk in die sogenannte „Legacy“-Struktur umwandeln, aber ich möchte diese Herausforderung meistern und verstehen, was vor sich geht. Ich denke, es liegt daran, dass das Netzwerk in viele verschiedene Subnetze aufgeteilt ist; im Vergleich zu nur einem Netzwerk hinter der Firewall (also Legacy).
Wenn ich mir die Karte im Kopf anschaue, sendet mein OpenVPN die Daten an das Gateway seines Subnetzes, aber von dort aus gehen die Pakete meiner Meinung nach verloren. Ich brauche bestimmt eine Route vom Subnetz-Gateway zum Internet? Oder sogar einen vollständigen Router zwischen Subnetz und Internet?
Wie gesagt, ich habe schon früher virtuelle OpenVPN-Maschinen verwendet und hatte keine Probleme. Daher bin ich mir sehr sicher, dass das Problem bei der Konfiguration des Google Cloud-Netzwerks liegt.
Danke für alle Tipps.
Antwort1
Das hat das Problem behoben:
iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Ich bin immer noch nicht sicher, warum ich das tun musste. Vielleicht ist das Debian-Image von Google stärker gesperrt als die Standardinstanz von Diebian.
Es waren keine weiteren Änderungen am Google Cloud-Netzwerk erforderlich.
Antwort2
Sie müssen einige Dinge überprüfen.
Überprüfen Sie, ob Sie die folgende Anweisung in /etc/sysctl.conf haben
net.ipv4.ip_forward = 1
Stellen Sie sicher, dass die Firewall den von Clients empfangenen Datenverkehr über die VPN-Schnittstelle weiterleitet
#OpenVPN interface=tun0 iptables -A FORWARD -i tun0 -j ACCEPT
Stellen Sie sicher, dass Sie den ausgehenden Datenverkehr maskieren
#WAN Interface on OpenVPN server is eth1 iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE