web-dev-qa-db-fra.com

routage sélective du trafic dans Split-VPN 12.04

Je travaille souvent à distance. J'utilise le gestionnaire de réseau pour configurer ma connexion VPN, qui a plutôt bien fonctionné. Le VPN que j'ai configuré utilise actuellement le type de mot de passe avec certificats (TLS). Ce que je veux faire, c'est uniquement acheminer un certain trafic via le VPN et tout autre trafic via la connexion Internet locale normale.
Est-ce possible?

Juste pour aider à expliquer ma situation, je vais donner un exemple du type de connexion que je dois généralement établir avec le réseau VPN. Nous avons un site Web "intranet" installé sur notre réseau de travail. Ce site Web ne m'est accessible que lorsque j'utilise un réseau privé virtuel (VPN), mais il est utilisé de la même manière que pour accéder à d'autres sites, tels que Google ou askubuntu.com. Je me connecte souvent à un ordinateur de bureau via une connexion VPN via un bureau distant, où je saisis le nom (adresse IP) de l'ordinateur de bureau, le nom d'utilisateur et le mot de passe. Je me connecte à un serveur MySQL à l'aide de MySQL Workbench, où vous entrez une adresse IP, un nom d'utilisateur et un mot de passe. Je me connecte souvent aux serveurs Linux à l'aide de SSH.

Pour toutes les connexions ci-dessus, j'ai besoin du VPN. Cependant, je navigue aussi normalement sur le Web et me connecte à des ressources extérieures au réseau de travail (Gmail, Stack Overflow, Gaming, etc.). Pour ces connexions, je souhaite ne pas accéder via la connexion VPN car ces connexions n’ont pas besoin de mon VPN, le VPN le ralentit beaucoup plus.

J'ai essayé la technique décrit dans ce lien: http://darrenwatt.com/split-tunnel-ubuntu/

Cela n'a pas semblé fonctionner pour moi. Plus précisément, je ne pouvais pas me connecter au site "intranet" après avoir coché la case "Utiliser cette connexion uniquement pour des ressources sur son réseau" et avoir connecté le VPN.

Est-ce que quelqu'un sait comment je peux sélectivement acheminer le trafic à travers le VPN? Est-ce que ça a du sens?

Merci!!

5
jeffery_the_wind

Je ne sais pas comment cela fonctionne avec NM mais j'écris un script

#!/bin/bash
function routeadd {
    route add -Host xxx.xxx.xxx.xxx dev ppp0
    route add -net xxx.xxx.xxx.xxx/xx dev ppp0
}
function makepptp {
   echo pty \"pptp xxx.xxx.xxx.xxx --nolaunchpppd\" >> /etc/ppp/peers/vpn;
   echo remotename PPTP >> /etc/ppp/peers/vpn;
   echo require-mppe-128 >> /etc/ppp/peers/vpn;
   echo file /etc/ppp/options.pptp >> /etc/ppp/peers/vpn;
   echo ipparam vpn >> /etc/ppp/peers/vpn;
pppd call vpn &
}
if [ -a /etc/ppp/chap-secrets ];
        then
        rm /etc/ppp/chap-secrets
    echo $1 PPTP $2 '*' >> /etc/ppp/chap-secrets;
else
    echo $1 PPTP $2 '*' >> /etc/ppp/chap-secrets;
fi

if [ -e /etc/ppp/peers/vpn ];
    then
    rm /etc/ppp/peers/vpn;
    echo name $1 >> /etc/ppp/peers/vpn;
    makepptp;
    sleep 8;
    routeadd;
else
    echo name $1 >> /etc/ppp/peers/vpn;
    makepptp;
    sleep 8;
    routeadd;
fi

Usage:

Sudo /path_to_script/vpn username password

note: définir la permission d'exécution au script

Le trafic est acheminé via vpn uniquement si vous ajoutez une route, tout le reste va par défaut gw.

2
2707974