Подключение / отключение от VPN из командной строки
У меня есть две настройки VPN на моей машине с Ubuntu, одна из которых использует vpnc, а другая - PPTP. Они оба были настроены с использованием интерфейса сетевого менеджера GNOME и отлично работали. Однако иногда мне нужно получить удаленный доступ к этой машине - есть ли способ подключиться или отключиться от этих VPN из командной строки?
2 ответа
Если вы хотите взаимодействовать с NetworkManager из командной строки, вы можете использовать команду "nmcli".
перечислить все соединения NM: nmcli con
начать соединение (wifi, vpn и т. д.): nmcli con up id ConnectionName
нисходящее соединение: nmcli con down id ConnectionName
(больше команд nmcli на справочной странице nmcli).
Также обратите внимание, что обычные пользователи обычно не имеют разрешения на управление сетью. Используя команды выше с sudo
должно работать для большинства соединений, но VPN может не работать с сообщением "Ошибка: сбой активации соединения: нет действительных секретов VPN".
Если это произойдет с вами, вероятно, пароль VPN хранится в gnome-keyring вашего пользователя, что делает его недоступным для пользователя root. Этот комментарий объясняет почему.
Чтобы это исправить, отредактируйте /etc/NetworkManager/system-connections/ConnectionName и в [vpn]
измените строку флагов паролей на:
password-flags=0
Если есть строка, начинающаяся с Xauth password-flags
измените это вместо этого.
Затем добавьте следующее ниже [vpn]
блок:
[vpn-secrets]
password=YourPassword
(Если на предыдущем шаге вы изменили строку Xauth password-flags
, добавлять Xauth password=...
вместо.)
Теперь перезапустите сетевой менеджер:
sudo service network-manager restart
Затем запуск VPN-соединения с sudo nmcli con up id ConnectionName
должно работать без проблем.
Ответ ihashacks с комментариями Мэтта сработал для меня... почти. Пришлось подправить одну строчку.
моя строка флага пароля фактически читается: "Xauth пароль-флаг". Принятый ответ не будет работать для меня, пока я не перейду на следующий
[vpn]
...
Xauth password-flag=0
IPSec secret-flags=0
[vpn-secrets]
Xauth password=<my pw> ## This is the one I changed.
IPSec secret=<group pw>
Не уверен, почему в моих соединениях vpn есть "Xauth" перед каждым упоминанием пароля.
(Извините, это новый ответ, пока не могу комментировать.)