Я решил проблему с помощью скрипта в
/etc/NetworkManager/dispatcher.d
Эта папка содержит сценарии, которые вызываются администратором сети в алфавитном порядке каждый раз при изменении состояния сети. Это имеет преимущество (отличное от другого решения, которое я видел), что ваша VPN активируется не только при загрузке / запуске, но и при возобновлении после приостановки / сна.
Чтобы это работало, вам нужно VPN-соединение, которое уже установлено в вашем Network Manager, которое, как я полагаю, у вас есть, иначе вы бы не задали вопрос.
Первый шаг: я последовал совету этой (немецкой) страницы ( https://wiki.ubuntuusers.de/NetworkManager/Dispatcher/ ). Я открыл и назвал новый скрипт 02VPN1
sudo YOURTEXTEDITOR /etc/NetworkManager/dispatcher.d/02VPN1
и написал:
#!/bin/bash
VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
if [ "$2" = "up" ]; then
sleep "3s"
nmcli con up id "${VPN_CONNECTION_NAME}"
fi
NAME_OF_YOUR_VPN_CONNECTION - это имя файла подключения NAME_OF_YOUR_VPN_CONNECTION.conf, которое вы использовали для настройки подключения, к которому вы хотите подключиться автоматически.
Условие if ["$ 2" = "up"] означает, что VPN-соединение подключается только автоматически, когда вы запускаете сетевое соединение (ваше интернет-соединение); После запуска службы VPN вы можете отключить ее или выбрать другую VPN.
Если вы только и каждый раз хотите запустить этот VPN без возможности его отключить, вы можете написать скрипт без этого условия If:
#!/bin/bash
VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
sleep "3s"
nmcli con up id "${VPN_CONNECTION_NAME}"
Вы можете установить этот файл только как root, так что он принадлежит root без каких-либо дополнительных действий. Так и должно быть.
Наконец: сделайте этот файл исполняемым, иначе скрипт не запустится. В терминале:
sudo chmod +x /etc/NetworkManager/dispatcher.d/02VPN1
- Второй шаг (В отличие от инструкций в приведенной выше ссылке; я воспользовался советом отсюда:
https://ubuntuforums.org/showthread.php?t=2193559&p=12990193#post12990193
Этот процесс запускается пользователем root, и у root еще нет доступа к паролю, который вы используете для VPN. Сделайте следующее: Откройте файл NAME_OF_YOUR_VPN_CONNECTION в / etc / NetworkManager / system-connections от имени пользователя root. Откройте терминал и выполните:
sudo YOURTEXTEDITOR /etc/NetworkManager/system-connections/NAME_OF_YOUR_VPN_CONNECTION
а) сменить строку
password-flags=1
в
password-flags=0
б) внизу добавить
[vpn-secrets]
password=PASSWORDOFYOURCONNECTION
Сохраните и закройте файл.
Теперь перезапустите свой сетевой менеджер. Терминал:
systemctl restart NetworkManager
инициализировать новые настройки. Вы должны быть сделаны.
Я сделал это вчера, и, насколько я вижу, он работает нормально. Никаких гарантий!