Weiterleiten des Datenverkehrs zwischen zwei OpenVPN-Servern

Weiterleiten des Datenverkehrs zwischen zwei OpenVPN-Servern

Ich versuche, den Datenverkehr zwischen zwei OpenVPN-Servern weiterzuleiten. Ich hätte gern die folgende Verbindung:

Client --> OpenVPNServer1 --> OpenVPNServer2 --> Internet

Bei mir laufen beide Server separat und sie arbeiten auch separat, aber ich habe versucht, OpenVPNServer1 so zu konfigurieren, dass der gesamte Datenverkehr seiner Clients mithilfe von iptables an OpenVPNServer2 weitergeleitet wird, aber das hat nicht funktioniert.

OpenVpnServer1-Schnittstellen und -Konfigurationen:

eth0 – öffentliches Internet

tun0 – für Clients, die eine Verbindung zu diesem Server herstellen

tun1 – Verbindungsschnittstelle für zweiten Server (Aktiv bei Verbindung über OpenVPN-Client)

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.10.0.0/8 -o eth0 -j MASQUERADE
COMMIT

OpenVpnServer2-Schnittstellen und -Konfigurationen:

ens33 -- öffentliches Internet

tun0 – für Clients, die eine Verbindung zu diesem Server herstellen

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/8 -o ens33 -j MASQUERADE
COMMIT

Aktualisieren:

Ich habe die Verbindungen zwischen Server1 und Server2 getestet und Server1 kann Google von seinem Tun1-Adapter aus anpingen. Das Problem ist, dass ich nicht weiß, wie ich den Datenverkehr weiterleiten kann, ohne die Standardroute auf Server1 zu ändern. Wenn ich die Standardroute auf Tun1 ändere, können Clients keine Verbindung zu Server1 herstellen.

Antwort1

Okay, zuerst ein paar Grundlagen. Der Client öffnet eine VPN-Verbindung zu Server1. Der Server hat eine aktive Verbindung zu Server2 und diese Verbindung ist als Standardroute konfiguriert (das haben Sie gemacht, richtig?)

Zunächst würde ich diesen Tunnel zwischen Server1 und Server2 als Site-to-Site-VPN konfigurieren – aber das ist ein anderes Thema.

Auf Server1 ist Ihre iptables-Regel falsch. Die richtige Regel wäre:

iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE

Warum?

Wenn Sie möchten, dass dieses Setup funktioniert, müssen Sie so tun, als ob der gesamte Datenverkehr, der durch den VPN-Tunnel von Server1 zu Server2 geht, von Server1 initiiert wird, genauer gesagt, er hat die IP Ihrer Tun1-Schnittstelle, damit die Antwort Server1 erreicht und korrekt an den Client zurückgeleitet werden kann. Das ist es, was die Regel tut. Ihre Regel würde dagegen nur den gesamten Datenverkehr maskieren, der ins öffentliche Internet geht, nicht durch ein VPN.

verwandte Informationen