Как соединиться или разъединиться с VPN через командную строку

Это руководство объяснит, как соединяться/разъединяться с VPN через командную строку

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

Вы можете вывести список всех соединений в NM, используя следующую команду

nmcli con

Вы можете запустить соединение (wifi, vpn и так далее), используя следующую команду:

nmcli con up id ConnectionName

Вы можете отсоединиться, используя следующую команду:

nmcli con down id ConnectionName

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

«Error: Connection activation failed: no valid VPN secrets.»

Причина этой ошибки: в большинстве типов соединений NM сам хранит пароли. Но в некоторых соединениях, например, в VPN, пароли обрабатываются как персональные и хранятся у пользователя (в «брелке»)

Так что, если вы настроили соединение my-openvpn для пользователя, но активируете его через root, вы не можете получить доступ к паролю у пользователя.

Чтобы исправить это, отредактируйте /etc/NetworkManager/system-connections/ConnectionName и в [vpn], смените линию с password-flags на такую:

password-flags=0

И добавьте следующие строчки:

[vpn-secrets]

password=YourPassword

После этого VPN-соединение через sudo nmcli con up id ConnectionName должно запускаться и работать без проблем.