Impossible de modifier les itinéraires avec VPN Client

10

Ma connexion VPN force tout le trafic Internet à travers le tunnel, et c'est très lent. Je veux pouvoir tunneler uniquement certaines adresses IP et le faire à mes côtés (côté client).

Je me connecte à un VPN avec FortiSSL Client , la table de routage ressemble à ceci avant qu'une connexion soit établie:

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

Après la connexion, cela ressemble à ceci:

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

Le client VPN met une route fourre-tout avec une métrique inférieure à toutes mes autres routes et cela achemine tout le trafic Internet à travers le tunnel. J'ai essayé de changer la métrique de ma route Internet par défaut à une valeur inférieure:

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

Mais rien n'a changé.

Ensuite, j'ai essayé de supprimer l'itinéraire "fourre-tout" du VPN, celui avec la métrique 21 ci-dessus:

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

Et ça a tout cassé:

C:\Windows\system32>ping 8.8.8.8

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

J'ai également essayé de changer la métrique des adaptateurs, mais le client FortiSSL remplace tous les paramètres lors de la connexion, donc cela n'a pas aidé.

La solution doit venir de mon côté, car les gens de l'autre côté mettent des jours à répondre.

J'utilise Windows 7 x64 si cela aide.

- MISE À JOUR (24/12/2013) -

Grâce à l' astuce de mbrownnyc , j'ai examiné le problème avec Rohitab et j'ai découvert que FortiSSL Client surveille la table des routes avec l' NotifyRouteChangeappel API IP Helper.

J'ai défini un point d'arrêt avant les NotifyRouteChangeappels et utilisé l'option "Ignorer l'appel" pour empêcher avec succès FortiSSL de réinitialiser les métriques de l'itinéraire, et j'ai maintenant:

Itinéraires avec des métriques favorisant mon adaptateur Wifi

Pourtant, lorsque je lance tracert, mon itinéraire passe toujours par le 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]

Y a-t-il un aspect du réseau Windows que je ne connais pas qui peut favoriser un certain itinéraire même si les métriques de l'impression d'itinéraire disent le contraire?

Juliano
la source
N'est-ce pas un point important pour votre client VPN d'appliquer cette politique? La société a probablement une politique de sécurité qui vous oblige à ne pas utiliser le tunnelage partagé, et le contourner serait un risque pour la sécurité.
Ryan Ries
Bien au contraire. J'ai maintenant accès aux services Web restreints IP de ces partenaires de l'entreprise, car mon trafic Web passe par leur adresse IP Internet. C'est une configuration très paresseuse de leur part, comme dans "Je vais tout tunneler via le VPN donc je n'aurai jamais à ajouter une autre IP ou un sous-réseau à la table de routage".
@Juliano Le but d'éviter le tunneling fractionné est d'empêcher les utilisateurs d'entrer dans un tunnel et d'avoir ensuite accès aux données sur l'autre tunnel. Je m'attendrais à ce que vous ayez le même accès au réseau vers lequel vous effectuez un tunnel, que vous auriez si vous étiez sur le réseau. Cependant, vous ne voulez pas utiliser un tunnel divisé pour accorder cet accès au monde.
BillThor
2
En fait, si j'étais sur ce réseau, je serais en mesure de configurer mes itinéraires et mes mesures pour donner la priorité à la connexion Internet que je désirais (3g / 4g, par exemple). J'aurais cette option parce que je ne serais pas soumis à un client VPN ridiculement restrictif. Prévenir le tunneling fractionné semble bien en théorie, mais cela me limite beaucoup plus que si j'étais réellement physiquement sur ce réseau. Vous justifiez une implémentation de sécurité qui me fait mal au lieu de m'aider à trouver une issue, c'est la question à portée de main. Comment contourner cela?
Il existe également des métriques d'interface: ncpa.cpl> Propriétés NIC> Propriétés d'entrée de pile IP v4> onglet Général / Avancé> Métrique automatique. Regardez là-bas sur les deux interfaces. Consultez également cet article de blog sur Windows multi-hôte .
mbrownnyc

Réponses:

2

Notez que je n'utilise pas la notation de mise en réseau régulière pour l'adressage ici (comme la CIDR ou même la host/masknotation, pour ne pas confondre le demandeur).

Au lieu de supprimer votre route "passerelle par défaut" ( 0.0.0.0 mask 0.0.0.0) afin que votre pile réseau ne sache pas où envoyer la plupart des paquets, essayez d'augmenter la métrique de la route VPN en dessous de celle de votre route par défaut (dans ce cas 4265).

Après la connexion avec le client Fortigate:

route change 0.0.0.0 mask 0.0.0.0 172.16.0.1 metric 4266 if N

Où N est le numéro d'interface de l' fortisslinterface renvoyée au début de route print.

La pile de mise en réseau doit traiter cela correctement:

  • La route qui "inclut les adresses de destination" gérera les paquets (la route indique à la pile réseau d'envoyer des paquets destinés this IPà this gatewayun routage ultérieur).
  • Tous les paquets avec une adresse IP de destination 172.16.*.*seront envoyés au VPN; parce que la pile réseau Windows sait que s'il y a une adresse attachée à une interface, alors cette interface est la façon dont vous accédez aux autres IP sur cette plage d'adresses. Je peux être plus explicite avec la plage si vous postez le "masque de sous-réseau" pour le 172.16.0.1.

Vous devez déterminer les adresses IP des ressources auxquelles vous devez accéder via le VPN. Vous pouvez le faire facilement en utilisant une nslookup [hostname of resource]fois connecté sans avoir ajusté les itinéraires.

[diatribe]

Je n'ai aucun problème à autoriser le split-tunneling sur VPN, en particulier en raison du problème d'utilisation que vous citez. Si votre service informatique considère le tunnel fractionné comme un mécanisme de sécurité, il doit repenser ce qu'il fait:

  • L'accès des clients VPN aux ressources doit être isolé et fortement restreint comme s'ils étaient accessibles via Internet (car les actifs dont vous ne contrôlez pas le contrôle total présentent un risque plus élevé que les actifs dont vous pouvez en affirmer certains).
  • Ils doivent intégrer un mécanisme de contrôle d'accès au réseau pour les clients VPN. Cela pourrait leur permettre d'appliquer certaines stratégies sur les machines clientes (telles que "les définitions antivirus sont-elles à jour?", Etc.).
  • Envisagez d'utiliser une solution rigide comme le Fortigate SSL VPN Virtual Desktop (qui est assez facile à configurer et gratuit [je pense] avec la licence SSL VPN).

[/ rant]

mbrownnyc
la source
Lorsque j'essaie de changer la métrique de l'itinéraire 0.0.0.0 du VPN à une valeur plus élevée que la route Internet, FortiSSL Client définit ma route Internet sur une métrique encore plus élevée.
Juliano
Il y avait deux routes de passerelle par défaut sur la table "après". 0.0.0.0 du VPN et 0.0.0.0 de la carte wifi. J'ai supprimé la passerelle par défaut du VPN mais j'ai laissé celle de la carte wifi, ce qui devrait la faire comme avant, mais elle a tout cassé. Soit fortissl fait quelque chose à la pile pour empêcher les gens de faire ce que j'essaie de faire, soit je le fais mal.
Juliano
Ce sont des interfaces différentes, vous devriez donc être en mesure d'ajuster les coûts de l'itinéraire des itinéraires séparément. Si le client regarde la table de routage, rien ne va vous y aider. Le client VPN Cisco est configuré avec un fichier PRF qui peut être contrôlé sur le système. Le client SSL Fortigate est probablement le même, qu'il s'agisse du registre ou du fichier. Je ne sais simplement pas où serait le réglage. Poke un peu et vous pourriez trouver quelque chose qui vous permet de configurer le client. De plus, la "prise en charge du tunneling fractionné" est configurée "côté serveur" / sur l'unité Fortigate.
mbrownnyc
Regardez à l' intérieur: HKEY_CURRENT_USER\Software\Fortinet\SslvpnClient. Tunneldevrait être intéressant. Veuillez poster ce que vous trouvez. Ou répondez et marquez comme un community wikiafin que vous puissiez aider les autres.
mbrownnyc
1
Dommage. Vous n'êtes pas sûr de votre situation, mais cela vaut-il la peine de soumettre une demande de tunneling fractionné? Sinon, il semble que vous devrez détourner certains appels d'API avec quelque chose comme rohitab ou les détours de MSFT. Ce pourrait être un projet de week-end amusant!
mbrownnyc