выборочно маршрутизировать трафик в split-VPN 12.04

выборочно маршрутизировать трафик в split-VPN 12.04

Я часто работаю удаленно. Я использую Network Manager для настройки своего VPN-подключения, которое работает довольно хорошо. VPN, который я настроил в настоящее время, использует тип Password with Certificates (TLS). Я хочу направлять только определенный трафик через VPN, а весь остальной трафик — через обычное локальное интернет-подключение.
Возможно ли это?

Чтобы объяснить мою ситуацию, я приведу пример типа подключений, которые мне обычно приходится устанавливать с помощью сети VPN. У нас есть веб-сайт «интранет» в нашей рабочей сети, поэтому этот веб-сайт доступен мне только при использовании VPN, но доступ к нему осуществляется так же, как и к другим сайтам, таким как Google или askubuntu.com. Я часто подключаюсь к настольному компьютеру через VPN-подключение через удаленный рабочий стол, где я ввожу имя (IP-адрес) настольного компьютера, имя пользователя и пароль. Я подключаюсь к серверу MySQL с помощью MySQL Workbench, где вы вводите IP-адрес, имя пользователя и пароль. Я часто подключаюсь к серверам Linux с помощью SSH.

Для всех вышеперечисленных подключений мне нужен VPN. Однако я также занимаюсь обычным веб-серфингом, а также подключаюсь к ресурсам за пределами рабочей сети (Gmail, Stack Overflow, игры и т. д.). Для этих подключений я не хочу получать доступ через VPN-подключение, потому что этим подключениям не нужен мой VPN, VPN просто делает это намного медленнее.

Я попробовал технику, описанную по этой ссылке:http://darrenwatt.com/split-tunnel-ubuntu/

Похоже, это не сработало для меня. В частности, я не мог подключиться к сайту "intranet" после того, как поставил галочку "Использовать это подключение только для ресурса в его сети" и подключился к VPN.

Кто-нибудь знает, как можно выборочно направить трафик через VPN? Имеет ли это смысл?

Спасибо!!

решение1

Я не знаю, как это работает с NM, но я пишу сценарии.

#!/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

Использование:

sudo /path_to_script/vpn username password

примечание: установите разрешение на выполнение для скрипта

Трафик направляется через VPN только если вы добавляете маршрут, все остальное идет по умолчанию через gw.

Связанный контент