Подключение / отключение от VPN из командной строки

У меня есть две VPN, настроенные на моей машине Ubuntu, одна с использованием vpnc, а другая с использованием PPTP. Оба они были настроены с использованием интерфейса GNOME network manager и отлично работают. Однако иногда мне нужно получить удаленный доступ к этому компьютеру - есть ли способ подключиться или отключиться от этих VPN из командной строки?

Если вы хотите взаимодействовать с NetworkManager из командной строки, вы можете использовать команду "nmcli".

перечислите все соединения NM: nmcli con

начать подключение (Wi-Fi, vpn и т.д.): nmcli con up id ConnectionName

нисходящее соединение: nmcli con down id ConnectionName

(дополнительные команды nmcli в справочная страница nmcli).


Также обратите внимание, что обычные пользователи обычно не имеют разрешения на управление сетью. Используя приведенные выше команды с sudo должно работать для большинства подключений, но VPN, в частности, может выйти из строя при "Ошибка: не удалось активировать соединение: нет действительных секретов VPN".

Если это произойдет с вами, вполне вероятно, что пароль VPN хранится в связке ключей gnome вашего пользователя, что делает его недоступным для пользователя root. Этот комментарий объясняет почему.

Чтобы исправить это, отредактируйте /etc/NetworkManager/системные подключения/Имя подключения и под [vpn], изменить флаги паролей линия к:

password-flags=0

Если есть строка, начинающаяся с Xauth password-flags, вместо этого измените его.

Затем добавьте следующее ниже [vpn] блок:

[vpn-secrets]password=YourPassword

(Если на предыдущем шаге вы изменили строку Xauth password-flags, добавить Xauth password=... вместо этого.)

Теперь перезапустите network manager с помощью:

sudo service network-manager restart

Затем запустите VPN-соединение с помощью sudo nmcli con up id ConnectionName должно работать без проблем.

ответ ihashacks с Комментарии Мэтта сработало на меня... почти. Пришлось подправить одну строчку.

Моя строка с паролем-флагом на самом деле гласила: "Xauth password-flag". Принятый ответ не будет работать для меня, пока я не перейду к следующему

[vpn]...Xauth password-flag=0IPSec secret-flags=0[vpn-secrets]Xauth password=<my pw> ## This is the one I changed.IPSec secret=<group pw>

Не уверен, почему мои VPN-соединения имеют "Xauth"перед каждым упоминанием пароля.

Подробно ли описана команда vpnc здесь не работает на вас? Кроме того, есть инструкции по настройке и подключению к PPTP здесь. Разве они не работают?