Я часто работаю удаленно. Я использую 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? Имеет ли это смысл?
Спасибо !!
Я не знаю, как это работает с 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.