Rozwiązałem problem ze skryptem w
/etc/NetworkManager/dispatcher.d
Ten folder zawiera skrypty wywoływane w kolejności alfabetycznej przez menedżera sieci za każdym razem, gdy następuje zmiana statusu sieci. Ma to tę zaletę (inną niż inne rozwiązanie, które widziałem), że twoja sieć VPN jest aktywowana nie tylko podczas rozruchu / uruchamiania, ale także podczas wznawiania po zawieszeniu / uśpieniu.
Aby to zadziałało, potrzebujesz połączenia VPN, które jest już skonfigurowane w Menedżerze sieci, co, jak zakładam, masz, inaczej nie zadałbyś tego pytania.
Pierwszy krok: poszedłem za radą tej (niemieckiej) strony ( https://wiki.ubuntuusers.de/NetworkManager/Dispatcher/ ). Otworzyłem i nadałem nowy skrypt 02VPN1
sudo YOURTEXTEDITOR /etc/NetworkManager/dispatcher.d/02VPN1
i napisał:
#!/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 to nazwa pliku połączenia NAME_OF_YOUR_VPN_CONNECTION.conf, którego użyto do skonfigurowania połączenia, z którym chcesz się automatycznie połączyć.
Warunek, jeśli [„$ 2” = „up”] oznacza, że połączenie VPN jest łączone automatycznie dopiero po uruchomieniu połączenia sieciowego (połączenie internetowe); po uruchomieniu usługi VPN możesz ją wyłączyć lub wybrać inną VPN.
Jeśli tylko i za każdym razem chcesz uruchomić tę sieć VPN bez możliwości jej wyłączenia, możesz napisać skrypt bez tego warunku If:
#!/bin/bash
VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
sleep "3s"
nmcli con up id "${VPN_CONNECTION_NAME}"
Możesz ustawić ten plik tylko jako root, więc jest on własnością root, ale nie musisz nic robić. Tak powinno być.
Wreszcie: uczyń ten plik wykonywalnym, w przeciwnym razie skrypt nie uruchomi się. W terminalu:
sudo chmod +x /etc/NetworkManager/dispatcher.d/02VPN1
- Drugi krok (RÓŻNY z instrukcji w powyższym linku; skorzystałem z porady tutaj:
https://ubuntuforums.org/showthread.php?t=2193559&p=12990193#post12990193
Ten proces jest uruchamiany przez użytkownika root, a użytkownik root nie ma jeszcze dostępu do hasła używanego w sieci VPN. Wykonaj następujące czynności: Otwórz plik NAME_OF_YOUR_VPN_CONNECTION w / etc / NetworkManager / system-connections jako root. Otwórz terminal i wykonaj:
sudo YOURTEXTEDITOR /etc/NetworkManager/system-connections/NAME_OF_YOUR_VPN_CONNECTION
a) Zmień linię
password-flags=1
do
password-flags=0
b) Na dole dodaj
[vpn-secrets]
password=PASSWORDOFYOURCONNECTION
Zapisz i zamknij plik.
Teraz uruchom ponownie Network Managera. Terminal:
systemctl restart NetworkManager
aby zainicjować nowe ustawienia. Powinieneś skończyć.
Zrobiłem to wczoraj i, o ile widzę, działa dobrze. Bez gwarancji!