Antwort1
Da Sie angeben, dass Sie den Server nicht ändern können, müssen Sie NAT verwenden. Das liegt daran, dass der Server wissen muss, wohin die Antwort gesendet werden soll, und er kennt nur den VPN-Client selbst, Ihren lokalen Server. Er kennt keine PCs, die über den VPN-Client erreichbar sind.
Auf Ihrem lokalen Server müssen Sie NAT auf der OpenVPN-Schnittstelle aktivieren. Dies kann mithilfe eines Skripts erreicht werden. Ein möglicher Hook ist --route-up
. Denken Sie daran, ihn --script-security
entsprechend zu ändern. Der Befehl, den Sie ausführen müssen, ist iptables -t nat -A POSTROUTING -o $THE_OPENVPN_INTERFACE -j MASQUERADE
. Da IPTables alles standardmäßig zulässt, ist die weitere Konfiguration optional. Sie sollten wahrscheinlich auch ein --route-pre-down
(oder ähnliches) Skript hinzufügen, um die IPTables-Regel wieder zu entfernen.
Das Routing kann durch Bearbeiten aktiviert werden /etc/sysctl.conf
, net.ipv4.ip_forward
muss sein 1
. echo 1 > /proc/sys/net/ipv4/ip_forward
Macht die Änderung sofort wirksam. sysctl.conf
dient der Persistenz über Neustarts hinweg.
Auf Ihrem Router müssen Sie eine statische Route zum Ziel (dem über VPN erreichbaren Netzwerk) einrichten, wobei das Gateway Ihr lokaler Server (der VPN-Client) ist. Beachten Sie: Da Sie sich im selben Netzwerk wie das Gateway befinden, sendet Ihr Router möglicherweise Weiterleitungen. Dieses Verhalten können Sie möglicherweise nicht ändern. Ihr Betriebssystem muss Weiterleitungen akzeptieren. Probieren Sie es aber zunächst ohne zusätzliche Einrichtung aus.
Möglicherweise möchten Sie Ihren lokalen Server mit einer geeigneten Firewall schützen, da sich andernfalls ein böswilliger Akteur mit Zugriff auf den VPN-Server Zugriff auf Ihr lokales Netzwerk verschaffen könnte.