2011-06-07 12:51:27 +0000 2011-06-07 12:51:27 +0000
44
44

Utiliser une connexion VPN uniquement pour les candidatures sélectionnées

J'ai accès à un VPN et je veux l'utiliser seulement pour certaines applications, pas toutes.

Par exemple : Si je me connecte à un VPN, je veux que seules les applications Opera et Newsbin utilisent cette connexion VPN. Toutes les autres applications, comme par exemple Outlook, doivent utiliser la connexion internet normale (pendant que le VPN est connecté/ouvert).

Afaik ce n'est pas possible, mais je n'en suis pas totalement sûr. D'où ma question : est-ce faisable ?

Respuestas (8)

37
37
37
2013-09-12 01:28:23 +0000

Il est possible d'y parvenir, au moins sous Linux (et je pense aussi à BSD et OS X). Vous pouvez le faire par :

  • Créer un utilisateur exra pour tout le trafic VPN.
  • Créer une table de routage supplémentaire avec 1 route par défaut via le VPN.
  • Configurer Netfilter via Iptables pour utiliser l'autre table de routage pour tout le trafic provenant d'un utilisateur spécifique.
  • Lancer les applications qui doivent utiliser le VPN sous leur propre utilisateur. Par exemple avec “sudo”.

Il existe des scripts pour réaliser les étapes ci-dessus ici ou il existe un autre guide ici .

Voici un guide ici détaillé pour le routage Transmission via un VPN (en utilisant un serveur VPN qui vous appartient.

14
14
14
2011-07-07 16:01:13 +0000

Vous pourriez utiliser le pare-feu Windows pour ce faire (à condition d'utiliser Win 7 ou Vista) - J'ai écrit un guide à ce sujet

  1. Connectez-vous à votre VPN comme vous le feriez normalement.

  2. Ouvrez le centre de réseau et de partage - cliquez avec le bouton droit de la souris sur l'icône de connexion Internet dans la barre des tâches et choisissez “Ouvrir le centre de réseau et de partage” (voir ci-dessous)

  3. Vous devriez voir (au moins) deux réseaux répertoriés sous “Voir vos réseaux actifs” - votre connexion VPN et un réseau appelé “Réseau” - alias votre connexion ISP. Assurez-vous que votre VPN est un “réseau public” et que votre connexion ISP est un “réseau domestique”. Si vous devez modifier l'une ou l'autre de ces connexions, cliquez dessus et une fenêtre d'option apparaîtra (voir ci-dessous).

  4. Allez dans le panneau de contrôle et cliquez sur Système et sécurité (voir ci-dessous).

  5. dans la fenêtre résultante, cliquez sur Pare-feu Windows (voir ci-dessous).

  6. Dans la fenêtre du Pare-feu Windows, cliquez sur Paramètres avancés dans le panneau de gauche (voir ci-dessous). Note : Vous devez être connecté en tant qu'administrateur pour pouvoir modifier les paramètres du pare-feu.

  7. Vous devriez voir une fenêtre intitulée Pare-feu Windows avec sécurité avancée. Dans cette fenêtre, cliquez sur Règles de réception (voir ci-dessous).

  8. Dans le volet de droite, vous verrez une option pour une nouvelle règle. Cliquez dessus (voir ci-dessous).

  9. Dans l'assistant de nouvelle règle entrante (qui devrait apparaître), faites ce qui suit :

  10. Répétez l'étape 9 pour les règles sortantes.

5
5
5
2017-05-29 07:03:30 +0000

Je l'ai fait sur Windows. L'idée est de lier les paquets réseau sortants à l'interface du VPN. Les gens suggèrent ForceBindIP pour cela, mais grâce à cette réponse j'ai une idée pour utiliser un proxy. L'inconvénient de cette méthode est que soit vos applications doivent être prises en charge par un proxy, soit vous devez utiliser un proxificateur (voir ici et ici ). L'avantage est que vous pourrez ainsi limiter l'utilisation du VPN dans le navigateur à des domaines spécifiques en utilisant FoxyProxy ou des modules complémentaires similaires.

J'utilise 3proxy en mode SOCKS et lie son interface externe à l'IP du VPN. OpenVPN est utilisé pour la connexion VPN.

Dans mon fichier .ovpn (client, dev tun), j'ai ajouté ces lignes :

route-nopull
route 0.0.0.0 0.0.0.0 vpn_gateway
pull-filter ignore "dhcp-option DNS "
script-security 2
up 'c:\path\to\up.cmd'
down 'c:\path\to\down.cmd'

route-nopull pour ignorer les routes poussées depuis le serveur. Dans votre cas, vous pourriez avoir besoin de commenter redirect-gateway à la place.

route pour ajouter une route pour cette interface, sans cette ligne elle ne sera pas utilisée même si l'application y est liée.

pull-filter pour préserver le DNS poussé qui sinon sera abandonné par route-nopull avec les routes poussées. Cette option est prise en charge à partir de la version 2.4 d'OpenVPN. Si vous devez conserver la version 2.3 (dernière version pour Windows XP), vous devrez ajouter deux lignes dhcp-option DNS x.x.x.x avec des adresses IP codées en dur à la place.

script-security 2 pour permettre le scripting.

up script :

cd %~dp0
echo auth none> 3proxy-openvpn.conf
echo internal 127.0.0.1>> 3proxy-openvpn.conf
echo external %4>> 3proxy-openvpn.conf
echo socks>> 3proxy-openvpn.conf
start /b 3proxy.exe 3proxy-openvpn.conf

down script :

taskkill /f /im 3proxy.exe

Ainsi, après vous être connecté au VPN en utilisant cette configuration, le processus 3proxy.exe sera lancé et un proxy SOCKS5 limité à l'hôte local avec une capacité de résolution DNS sera exécuté sur le port 1080, maintenant il suffit de configurer votre application pour utiliser le proxy localhost:1080 SOCKS.

4
4
4
2017-10-25 10:36:54 +0000

Vous pouvez le faire avec des espaces de noms de réseau sur GNU/Linux.

Voici comment faire fonctionner OpenVPN et une seule application dans un espace de noms distinct :

Créer l'espace de noms du réseau :

ip netns add myvpn

Démarrer l'interface de loopback dans l'espace de noms (sinon beaucoup de choses ne fonctionnent pas comme prévu…)

ip netns exec myvpn ip addr add 127.0.0.1/8 dev lo
ip netns exec myvpn ip link set lo up

Créer des interfaces réseau virtuelles qui permettront à OpenVPN (dans l'espace de noms) d'accéder au réseau réel, et configurer l'interface dans l'espace de noms (vpn1) pour utiliser l'interface hors de l'espace de noms (vpn0) comme sa passerelle par défaut

ip link add vpn0 type veth peer name vpn1
ip link set vpn0 up
ip link set vpn1 netns myvpn up
ip addr add 10.200.200.1/24 dev vpn0
ip netns exec myvpn ip addr add 10.200.200.2/24 dev vpn1
ip netns exec myvpn ip route add default via 10.200.200.1 dev vpn1

Activer le routage IPv4 et la NAT pour l'interface dans l'espace de noms. Comme mon interface par défaut est une interface sans fil, j'utilise wl+ (qui peut correspondre à wlan0, wlp3s0, etc. ) dans iptables pour l'interface de sortie ; si vous utilisez une interface filaire, vous devriez probablement utiliser en+ (ou br+ pour une interface pontée)

iptables -A INPUT \! -i vpn0 -s 10.200.200.0/24 -j DROP
iptables -t nat -A POSTROUTING -s 10.200.200.0/24 -o wl+ -j MASQUERADE
sysctl -q net.ipv4.ip_forward=1

Configurer le serveur de noms à utiliser dans l'espace de noms

mkdir -p /etc/netns/myvpn
echo 'nameserver 8.8.8.8' > /etc/netns/myvpn/resolv.conf

Presque terminé, Nous devrions maintenant avoir un accès complet au réseau dans l'espace de noms

ip netns exec myvpn ping www.google.com

Enfin, lancez OpenVPN dans l'espace de noms

ip netns exec myvpn openvpn --config /etc/openvpn/myvpn.conf

Une fois que tun0 est dans l'espace de noms, vous êtes prêt à lancer le programme que vous vouliez !

while ! ip netns exec myvpn ip a show dev tun0 up; do sleep .5; done
ip netns exec myvpn sudo -u $MYSELF popcorntime

article source.

Il y a aussi un script de wrapper dans l'article source que vous pouvez adapter à vos besoins.

1
1
1
2018-07-12 16:19:29 +0000

Si vous êtes sous linux, et que vous utilisez openVPN, VPNShift fonctionne à merveille.

0
0
0
2019-09-12 14:47:21 +0000

Je sais que c'est une réponse très tardive que je viens de recevoir, mais au cas où cela intéresserait quelqu'un, j'ai eu la même situation où je voulais faire passer mon trafic professionnel par le VPN mais ne voulais pas que mon trafic personnel soit acheminé par leurs serveurs proxy et autres. J'utilisais donc Win7 à l'époque, mais ils utilisaient toujours WinXP sur un grand nombre de leurs systèmes. Finalement, ils m'ont donné un deuxième PC pour travailler, ce qui a résolu le problème (une boîte de commutation connectée aux deux PC pouvait simplement faire des allers-retours), mais avant cela, j'ai utilisé un Virtual XP que j'ai configuré comme mon OS de travail… J'utilisais un VPN depuis cette VM pour me connecter au travail, ce qui libérait le trafic de mon OS personnel des restrictions de travail et de l'espionnage.

0
0
0
2018-01-16 01:54:06 +0000

Il suffit d'accéder au VPN par le biais d'une machine virtuelle.

  1. Créer une VM, puis à l'intérieur de la VM…
  2. Installez les applications “sélectionnées”
  3. Configurer le VPN

Utiliser les applications “sélectionnées” de la VM au lieu de les utiliser à partir de la machine hôte.

P.S. Vous devez bien sûr donner un accès réseau à la VM via la machine hôte.

-1
-1
-1
2011-06-10 22:32:46 +0000

Non, ce n'est pas le cas. Enfin, pas en utilisant les moyens normaux. Le routage est le routage. Le routage fonctionne plus bas dans le modèle OSI. Ce que vous devez faire, c'est qu'il soit conscient au niveau de l'application (plus haut) afin de pouvoir détecter quel programme vous utilisez, etc. Les routeurs NORMAUX ne vous permettent pas de configurer des itinéraires basés sur des applications ou des numéros de port.

Je pense que c'est possible cependant. Les routeurs peuvent voir les ports afin que vous puissiez les filtrer par numéro de port et envoyer le trafic vers différentes routes. Je suis sûr d'avoir lu quelque chose il y a quelque temps avec les routeurs Cisco qui peuvent faire cela. Mais ils ne sont pas bon marché et ce sont des routeurs professionnels qui nécessitent beaucoup de configuration et je suppose que vous voulez quelque chose de simple pour une utilisation domestique.

En résumé, c'est le routeur qui aurait besoin de cette fonctionnalité et vos routeurs standard pour l'usage domestique, même les entreprises ne supportent pas ces fonctionnalités. Seule la gamme avancée de Cisco et de Sonicwalls offre ces capacités.