В Ubuntu 16.04 я использовал следующую команду, чтобы сеть Network Manager предоставляла L2TP в качестве опции при добавлении VPN-подключения:
sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp; sudo apt update ; sudo apt-get install -y network-manager-l2tp network-manager-l2tp-gnome strongswan
Вышеприведенное намеренно представляет собой несколько команд, объединенных в одну строку, так что настройку можно выполнить в одну строку на терминале.
После добавления L2TP VPN и успешного подключения я смог получить доступ ко всему, что мне нужно в удаленной сети, через межсетевой экран Meraki.
Однако, если я пойду смотреть видео 4K YouTube (или любую другую интернет-активность, интенсивно использующую пропускную способность) на своем локальном компьютере, я замечу, что я не получаю это видео напрямую из моего локального интернет-соединения; вместо этого он фактически загружается через VPN-туннель! Это нежелательно, поскольку в удаленной сети едва хватает полосы пропускания для загрузки, чтобы покрыть все VOIP-телефоны, которые там используются. Поэтому мне нужно, чтобы VPN-клиент использовал VPN-соединение только для ресурсов, которые фактически расположены в этой удаленной сети.
В прошлом, когда я использовал VPN vpnc или OpenVPN VPN, я мог установить этот флажок, чтобы локальная интернет-активность не использовала пропускную способность удаленной сети:
Однако, если я установлю этот же флажок с L2TP VPN, он действительно использует только локальные интернет-ресурсы, но я больше не могу получить доступ ни к одному из удаленных ресурсов в удаленной сети VPN. Например, я не могу даже пропинговать шлюз удаленной локальной сети во время VPN-подключения, если установлен этот флажок.
Как я могу:
Если вы посмотрите на таблицу маршрутизации перед подключением к VPN и последующими словами, вы заметите, что у вас есть не только дополнительные маршруты, но и Ваш маршрут по умолчанию был изменен. Ваш трафик идет по маршруту по умолчанию, если нет «лучшего», конкретного маршрута.
Чтобы увидеть таблицу маршрутизации, вы можете запустить ip route
. Раньше вы могли запускать route
, но большинство дистрибутивов больше не имеют этой команды.
ip route
С каждым типом VPN и каждым VPN-клиентом вы ограничены различными опциями и возможностями, но когда вы используете openconnect
, у вас есть возможность контролировать это и предотвращать изменение маршрута по умолчанию. [ 1116]
Для ясности предположим, что ваша сеть VPN 192.2.2.0/24
. Когда вы подключаетесь к VPN, вам нужен новый маршрут для маршрутизации этого трафика на шлюз. Вероятно, это будет выглядеть как 192.2.2.0/24 via 192.2.2.1 on tun0
, но IP-адрес шлюза может отличаться. При наличии этого маршрута любой трафик на 192.2.2.0 255.255.255.0
будет проходить через tun0
- 192.2.2.1
вместо eth0
/ wlan0
на ваш маршрутизатор. Вы просто не хотите, чтобы 192.2.2.1
стал вашим маршрутом по умолчанию .