Routen können mit VPN Client nicht geändert werden

10

Meine VPN-Verbindung erzwingt den gesamten Internetverkehr durch den Tunnel, und das ist sehr langsam. Ich möchte nur bestimmte IP-Adressen tunneln können und dies an meiner Seite (clientseitig) tun.

Ich verbinde mich mit FortiSSL Client mit einem VPN. Die Routentabelle sieht folgendermaßen aus, bevor eine Verbindung hergestellt wird:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.101     40
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.0.0    255.255.255.0         On-link     192.168.0.101    276
    192.168.0.101  255.255.255.255         On-link     192.168.0.101    276
    192.168.0.255  255.255.255.255         On-link     192.168.0.101    276
    192.168.119.0    255.255.255.0         On-link     192.168.119.1    276
    192.168.119.1  255.255.255.255         On-link     192.168.119.1    276
  192.168.119.255  255.255.255.255         On-link     192.168.119.1    276
    192.168.221.0    255.255.255.0         On-link     192.168.221.1    276
    192.168.221.1  255.255.255.255         On-link     192.168.221.1    276
  192.168.221.255  255.255.255.255         On-link     192.168.221.1    276
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.119.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.221.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.0.101    276
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.119.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.221.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.0.101    276

Nach dem Anschließen sieht es so aus:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.101   4265
          0.0.0.0          0.0.0.0         On-link        172.16.0.1     21
        127.0.0.0        255.0.0.0         On-link         127.0.0.1   4531
        127.0.0.1  255.255.255.255         On-link         127.0.0.1   4531
  127.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
       172.16.0.1  255.255.255.255         On-link        172.16.0.1    276
      192.168.0.0    255.255.255.0         On-link     192.168.0.101   4501
    192.168.0.101  255.255.255.255         On-link     192.168.0.101   4501
    192.168.0.255  255.255.255.255         On-link     192.168.0.101   4501
    192.168.119.0    255.255.255.0         On-link     192.168.119.1   4501
    192.168.119.1  255.255.255.255         On-link     192.168.119.1   4501
  192.168.119.255  255.255.255.255         On-link     192.168.119.1   4501
    192.168.221.0    255.255.255.0         On-link     192.168.221.1   4501
    192.168.221.1  255.255.255.255         On-link     192.168.221.1   4501
  192.168.221.255  255.255.255.255         On-link     192.168.221.1   4501
   200.250.246.74  255.255.255.255      192.168.0.1    192.168.0.101   4245
        224.0.0.0        240.0.0.0         On-link         127.0.0.1   4531
        224.0.0.0        240.0.0.0         On-link     192.168.119.1   4502
        224.0.0.0        240.0.0.0         On-link     192.168.221.1   4502
        224.0.0.0        240.0.0.0         On-link     192.168.0.101   4502
        224.0.0.0        240.0.0.0         On-link        172.16.0.1     21
  255.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
  255.255.255.255  255.255.255.255         On-link     192.168.119.1   4501
  255.255.255.255  255.255.255.255         On-link     192.168.221.1   4501
  255.255.255.255  255.255.255.255         On-link     192.168.0.101   4501
  255.255.255.255  255.255.255.255         On-link        172.16.0.1    276

Der VPN-Client legt eine Sammelroute mit einer niedrigeren Metrik als alle meine anderen Routen fest, die den gesamten Internetverkehr durch den Tunnel leitet. Ich habe versucht, die Metrik meiner Standard-Internetroute auf einen niedrigeren Wert zu ändern:

C:\Windows\system32>route change 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 10 if 13
OK!

Aber nichts hat sich geändert.

Dann habe ich versucht, die "Catch-All" -Route des VPN zu löschen, die mit der obigen Metrik 21:

C:\Windows\system32>route delete 0.0.0.0 mask 0.0.0.0 if 50
OK!

Und es hat alles kaputt gemacht:

C:\Windows\system32>ping 8.8.8.8

Pinging 8.8.8.8 with 32 bytes of data:
PING: transmit failed. General failure.

Ich habe versucht, die Metrik auch für die Adapter zu ändern, aber der FortiSSL-Client überschreibt alle Einstellungen, wenn eine Verbindung hergestellt wird, sodass dies nicht geholfen hat.

Die Lösung muss von meiner Seite kommen, da die Leute auf der anderen Seite Tage brauchen, um zu antworten.

Ich verwende Windows 7 x64, wenn das hilft.

- UPDATE (24.12.2013) -

Dank des Tippes von mbrownnyc habe ich das Problem mit Rohitab untersucht und herausgefunden, dass FortiSSL Client die Routentabelle mit dem NotifyRouteChangeIP Helper API-Aufruf überwacht .

Ich habe vor NotifyRouteChangeAnrufen einen Haltepunkt festgelegt und die Option "Anruf überspringen" verwendet, um erfolgreich zu verhindern, dass FortiSSL Routenmetriken zurücksetzt. Jetzt habe ich:

Routen mit Metriken, die meinen WLAN-Adapter bevorzugen

Wenn ich jedoch tracert starte, geht meine Route immer noch über das VPN:

C:\Windows\system32>tracert www.google.com

Tracing route to www.google.com [173.194.118.83]
over a maximum of 30 hops:

  1    45 ms    47 ms    45 ms  Jurema [172.16.0.1]

Gibt es einen Aspekt des Windows-Netzwerks, von dem ich nicht weiß, dass er eine bestimmte Route begünstigen kann, selbst wenn die Metriken des Routendrucks etwas anderes aussagen?

Juliano
quelle
Ist es nicht sinnvoll, dass Ihr VPN-Client diese Richtlinie durchsetzt? Das Unternehmen verfügt wahrscheinlich über eine Sicherheitsrichtlinie, nach der Sie kein Split-Tunneling verwenden müssen. Die Umgehung dieser Richtlinie wäre ein Sicherheitsrisiko.
Ryan Ries
Ganz im Gegenteil. Ich habe jetzt Zugriff auf die IP-beschränkten Webservices der Partner dieses Unternehmens, da mein Webdatenverkehr über deren Internet-IP-Adresse abläuft. Es ist eine sehr faule Konfiguration für sie, wie in "Ich werde alles durch das VPN tunneln, damit ich der Routentabelle nie eine andere IP oder ein anderes Subnetz hinzufügen muss".
@ Juliano Um Split-Tunneling zu vermeiden, müssen Benutzer daran gehindert werden, in einen Tunnel zu gelangen und dann auf die Daten im anderen Tunnel zuzugreifen. Ich würde erwarten, dass Sie denselben Zugriff auf das Netzwerk haben, zu dem Sie tunneln, wie Sie es hätten, wenn Sie im Netzwerk wären. Sie möchten jedoch keinen geteilten Tunnel verwenden, um diesen Zugriff auf die Welt zu gewähren.
BillThor
2
Wenn ich in diesem Netzwerk wäre, könnte ich meine Routen und Metriken so einrichten, dass die gewünschte Internetverbindung Vorrang hat (3 g / 4 g, dh). Ich hätte diese Option, weil ich keinem lächerlich restriktiven VPN-Client ausgesetzt wäre. Das Verhindern von Split-Tunneling klingt theoretisch in Ordnung, schränkt mich jedoch viel mehr ein, als wenn ich tatsächlich physisch in diesem Netzwerk wäre. Ihr rechtfertigt eine Sicherheitsimplementierung, die mich verletzt, anstatt mir zu helfen, einen Ausweg zu finden, was die Frage ist. Wie umgehe ich das?
Es gibt auch Schnittstellenmetriken: ncpa.cpl> NIC-Eigenschaften> IP v4-Stapeleintragseigenschaften> Registerkarte Allgemein / Erweitert> Automatische Metrik. Schauen Sie dort auf beiden Schnittstellen. Siehe auch diesen Blog-Beitrag über Multihomed Windows .
mbrownnyc

Antworten:

2

Beachten Sie, dass ich hier keine reguläre Netzwerknotation für die Adressierung verwende (z. B. CIDR oder sogar host/maskNotation, um den Fragesteller nicht zu verwirren).

0.0.0.0 mask 0.0.0.0Versuchen Sie, die Metrik der VPN-Route unter die Ihrer Standardroute zu erhöhen (in diesem Fall 4265), anstatt Ihre "Standard-Gateway" -Route ( ) zu löschen , damit Ihr Netzwerkstapel keine Ahnung hat, wohin die meisten Pakete gesendet werden sollen .

Nach dem Verbinden mit dem Fortigate-Client:

route change 0.0.0.0 mask 0.0.0.0 172.16.0.1 metric 4266 if N

Dabei ist N die Schnittstellennummer für die fortisslSchnittstelle, die zu Beginn von zurückgegeben wurde route print.

Der Netzwerkstapel sollte dies richtig behandeln:

  • Die Route, die "die Zieladressen enthält", verarbeitet die Pakete (die Route weist den Netzwerkstapel an, Pakete zu senden, die für this IPdas this gatewayweitere Routing bestimmt sind).
  • Alle Pakete mit einer Ziel-IP 172.16.*.*werden an das VPN gesendet. Da der Windows-Netzwerkstapel weiß, dass bei einer an eine Schnittstelle angehängten Adresse über diese Schnittstelle auf andere IP-Adressen in diesem Adressbereich zugegriffen wird. Ich kann mit dem Bereich expliziter werden, wenn Sie die "Subnetzmaske" für die 172.16.0.1.

Sie müssen die IP-Adressen der Ressourcen ermitteln, auf die Sie über das VPN zugreifen müssen. Sie können dies einfach tun, nslookup [hostname of resource]indem Sie eine Verbindung verwenden, ohne die Routen angepasst zu haben.

[schimpfen]

Ich habe kein Problem damit, Split-Tunneling über VPN zuzulassen, insbesondere aufgrund des von Ihnen genannten Nutzungsproblems. Wenn Ihre IT-Abteilung Split-Tunneling als Sicherheitsmechanismus betrachtet, müssen sie überdenken, was sie tun:

  • Der Zugriff von VPN-Clients auf Ressourcen sollte isoliert und stark eingeschränkt sein, als ob über das Internet auf sie zugegriffen wird (da Assets, bei denen Sie keine vollständige Kontrolle geltend machen, ein höheres Risiko darstellen als Assets, bei denen Sie einige geltend machen können).
  • Sie sollten einen Netzwerkzugriffskontrollmechanismus für VPN-Clients integrieren. Dies könnte es ihnen ermöglichen, einige Richtlinien auf den Client-Computern durchzusetzen (z. B. "Sind Antivirendefinitionen auf dem neuesten Stand?" Usw. usw.).
  • Erwägen Sie die Verwendung einer starren Lösung wie dem Fortigate SSL VPN Virtual Desktop (der mit der SSL VPN-Lizenz relativ einfach zu konfigurieren und freizugeben ist).

[/schimpfen]

mbrownnyc
quelle
Wenn ich versuche, die Routenmetrik 0.0.0.0 des VPN auf einen höheren Wert als die Internetroute zu ändern, setzt FortiSSL Client meine Internetroute auf eine noch höhere Metrik.
Juliano
Es gab zwei Standard-Gateway-Routen in der "After" -Tabelle. Das VPN ist 0.0.0.0 und die WLAN-Karte ist 0.0.0.0. Ich habe das Standard-Gateway des VPN gelöscht, aber das der WLAN-Karte belassen, wodurch es so aussehen sollte, wie es vorher war, aber es hat alles kaputt gemacht. Entweder macht fortissl etwas mit dem Stapel, um zu verhindern, dass Leute das tun, was ich versuche, oder ich mache es falsch.
Juliano
Da es sich um verschiedene Schnittstellen handelt, sollten Sie in der Lage sein, die Routenkosten der Routen separat anzupassen. Wenn der Client die Routing-Tabelle überwacht, hilft Ihnen dort nichts weiter. Der Cisco VPN-Client ist mit einer PRF-Datei konfiguriert, die auf dem System gesteuert werden kann. Der Fortigate SSL-Client ist wahrscheinlich derselbe, entweder die Registrierung oder die Datei. Ich bin mir nur nicht sicher, wo die Einstellung sein würde. Stöbern Sie ein bisschen herum und finden Sie möglicherweise etwas, mit dem Sie den Client konfigurieren können. Zusätzlich ist die "Unterstützung für Split-Tunneling" "serverseitig" / auf der Fortigate-Einheit konfiguriert.
mbrownnyc
Schauen Sie nach innen : HKEY_CURRENT_USER\Software\Fortinet\SslvpnClient. Tunnelsollte interessant sein. Bitte poste zurück, was du findest. Oder antworten Sie und markieren Sie als, community wikidamit Sie anderen helfen können.
mbrownnyc
1
Schade. Sie sind sich Ihrer Situation nicht sicher, aber lohnt es sich, einen Antrag auf Split-Tunneling zu stellen? Andernfalls müssen Sie einige API-Aufrufe mit etwas wie Rohitab oder MSFTs Umwegen entführen. Es könnte ein lustiges Wochenendprojekt sein!
mbrownnyc