Routing über VPN mit Standardgateway

570
Dave Martin

Ich habe eine kleine Ubuntu-Box, die einige Dienste ausführt, die in meinem lokalen Netzwerk und im Internet verwendet werden. Die Standardeinstellung für gw in dieser Box ist eindeutig mein Kabelmodem und alles funktioniert einwandfrei ... die entsprechenden Portweiterleitungseinträge befinden sich im Router für die externen Dienste.

Ich möchte jedoch mit dieser Box auch etwas Verkehr über VPN in ein anderes Land leiten (wie das Netflix-Szenario, aber in diesem Fall nicht). Ich habe openvpn eingerichtet und --route-noexec verwendet, da ich nichts von der Box über das VPN routen möchte. Daher ist meine VPN-Verbindung aktiv und meine Routing-Tabelle ist unverändert.

Bis jetzt alles Gute .. jetzt möchte ich die Gateway-Adresse auf anderen Hosts in meinem Netzwerk ändern, damit dieser Host openvpn ausführt und über den VPN-Tunnel routen lässt. Ich glaube, ich brauche eine separate Routing-Tabelle, um dies zu erreichen - also habe ich eine Dummy-virtuelle Schnittstelle auf der gleichen Ebene eingerichtet. Mit einer anderen MAC-Adresse und einer statischen IP zugewiesen. - Sagen wir 192.168.1.252 eth0: 1 (statt 192.168.1.200 eth0)

Ich habe eine neue Routing-Tabelle eingerichtet, wobei das Standard-Gateway die IP-Adresse der VPN-Tun0-Schnittstelle ist und IP Masquerade aktiviert hat.

Wenn ich eine Regel hinzufüge (sagen wir, ich möchte 192.168.1.61), lasse ich sie über VPN und nicht über mein Kabelmodem direkt weiterleiten .. es funktioniert, indem die Regel für die Quell-IP festgelegt wird, aber ich möchte dies nicht tun ..

IP-Regel hinzufügen aus 192.168.1.61 Tabelle 4 (wobei Tabelle 4 die Routingtabelle für die VPN-IP ist)

Und das Standardgateway von 192.168.1.61 auf 192.168.1.252 ändern

Ich möchte diese Regel nicht hinzufügen - ich möchte nur die Gateway-Adresse des Geräts in diese virtuelle Schnittstelle auf meinem Host ändern.

Die Frage ist also, wie erkenne ich bei Verwendung von iproute2 oder iptables Pakete, die an diese virtuelle Schnittstelle geroutet wurden? Es fühlt sich an, als hätte ich alles versucht, aber ich bin sicher, dass es eine Lösung für dieses Problem gibt.

1

0 Antworten auf die Frage