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

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

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

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

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

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

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

Спасибо !!

5
задан 19 February 2013 в 17:02

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

Примечание: установите для параметра execute permision значение script

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

0
ответ дан 19 February 2013 в 17:02

Другие вопросы по тегам:

Похожие вопросы: