Я вирішив проблему зі сценарієм в
/etc/NetworkManager/dispatcher.d
Ця папка містить скрипти, які викликаються в алфавітному порядку керівником мережі щоразу, коли відбувається зміна стану мережі. Це має перевагу (відмінне від іншого рішення, яке я бачив) у тому, що ваш VPN не тільки активується під час завантаження / запуску, але й при відновленні після призупинення / сну.
Для цього вам потрібно з’єднання VPN, яке вже налаштоване у вашому Менеджері мереж, яке, я вважаю, у вас є, інакше ви б не ставили запитання.
Перший крок: я дотримувався порад цієї (німецької) сторінки ( 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, який ви використовували для встановлення з'єднання, до якого потрібно автоматично підключитися.
Умова, якщо ["$ 2" = "вгору"] означає, що 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-connection як корінь. Відкрийте термінал і виконайте:
sudo YOURTEXTEDITOR /etc/NetworkManager/system-connections/NAME_OF_YOUR_VPN_CONNECTION
а) Змініть рядок
password-flags=1
до
password-flags=0
б) Внизу додайте
[vpn-secrets]
password=PASSWORDOFYOURCONNECTION
Збережіть і закрийте файл.
Тепер перезапустіть мережевий менеджер. Термінал:
systemctl restart NetworkManager
ініціалізувати нові налаштування. Вам слід зробити.
Я робив це вчора, і наскільки я бачу, це працює чудово. Ніяких гарантій!