Leiten Sie bestimmten Datenverkehr an ein anderes Gateway um

Leiten Sie bestimmten Datenverkehr an ein anderes Gateway um

Ich habe zwei Gateways mit unterschiedlichen ISPs, von denen einer als Standard für den LAN-Benutzer definiert ist und der andere ISP als Standard für den Server- und VPN-Verkehr verwendet wird. Dies geschieht mithilfe regulärer Routingtabellen, die mit DHCP konfiguriert werden.

Jetzt möchte ich, dass Google Drive und anderer Softwareverkehr, der auf den Laptops der LAN-Benutzer installiert ist und viele Uploads verwendet, immer den anderen ISP verwendet, der nicht als ihr Standard-GW definiert ist. Wie kann ich das erreichen??

Meine ersten Gedanken sind, IPTABLES oder Squid zu verwenden.

Ich habe versucht, mit diesem

iptables -t nat -A PREROUTING -d GOOGLE_IP -j DNAT --to-destination MY_SECOND_ISP
iptables -t nat -A POSTROUTING -s MY_SECOND_ISP -j SNAT --to-source GOOGLE_IP
iptables -t nat -A POSTROUTING -s MY_SECOND_ISP  -j MASQUERADE

aber es funktioniert nicht. Wenn ich es teste, geht der Verkehr zum Standard-GW

Irgendeine Idee, wie das mit iptables, Shorewall oder Squid geht?

Antwort1

Angenommen, die LAN-Standard-GW-LAN-IP (GW1) lautet 192.168.1.1 und die Server-Standard-GW-LAN-IP (GW2) lautet 192.168.1.2, d. h. das LAN sieht beide Router im selben Segment.

Sie können auf GW1 eine statische Route konfigurieren, die Datenverkehr, dessen Ziel GOOGLE_IP ist, zur LAN-IP-Adresse des nächsten Hops GW2 weiterleitet.

Wenn GW1 Cisco ist: IP-Route GOOGLE_IP 255.255.255.255 GW2_LAN_IP

Wenn GW1 Linux ist: ip route add GOOGLE_IP/32 gw GW2_LAN_IP

Wenn also ein beliebiger Host im LAN Datenverkehr an GOOGLE_IP sendet, wird der Datenverkehr an GW1 weitergeleitet.

Dann leitet die statische Route auf GW1 den Datenverkehr an GW2 weiter.

Anschließend leitet GW2 den Datenverkehr aus seiner WAN-Schnittstelle weiter.

Der vom Internet zu GW2 kommende Rückverkehr wird an das LAN weitergeleitet und erreicht die Hosts.

Auf diese Weise erstellen Sie die Route einmal auf GW1, sodass sie für alle LAN-Hosts funktioniert.

Antwort2

Da sich Dienste wie Google Drive in der Cloud befinden und ihre IPs sich jederzeit ändern können, glaube ich, dass Ihr Ansatz früher oder später nicht mehr funktionieren wird.

Es gibt eine weitere Methode, den Datenverkehr der gewünschten Anwendungen zu differenzieren, indem Sie eine DSCP-Markierung auf der Ebene des Gastbetriebssystems vornehmen.

Die DSCP-Markierungen werden an die Pakete selbst „angehängt“, sodass Sie diese Pakete dann mit iptables auf Ihrem Router abgleichen und sie über das VPN oder ein beliebiges anderes Gateway weiterleiten können.

Auf diese Weise sagen Sie, dass beispielsweise googledrive.exe (oder welche Anwendung auch immer Sie möchten) immer über das VPN geleitet wird, unabhängig davon, von wo aus es versucht, eine Verbindung herzustellen.

Hier finden Sie einige Anweisungen zum Festlegen benutzerdefinierter DSCP-Markierungen mithilfe von Windows https://support.timso.com/index.php?/Knowledgebase/Article/View/24/3/windows-7-and-implementing-qos

Sie können die DSCP-Markierungen mit der Match-Option --dscp von iptables abgleichen.
http://www.iptables.info/en/iptables-matches.html#DSCPMATCH

Natürlich beantwortet das alles oben Gesagte nicht Ihre ursprüngliche Frage. Sie müssen trotzdem dafür sorgen, dass das Policy-Routing funktioniert.

verwandte Informationen