Używam Ubuntu 13.04 z Gnome, a ja niedawno skonfigurowałem (otwartą) sieć VPN. Czy jest jakiś sposób, aby włączyć to domyślnie? Za każdym razem, gdy uruchamiam lub nawet tracę połączenie, muszę ręcznie włączyć VPN. Czy brakuje mi opcji?
Używam Ubuntu 13.04 z Gnome, a ja niedawno skonfigurowałem (otwartą) sieć VPN. Czy jest jakiś sposób, aby włączyć to domyślnie? Za każdym razem, gdy uruchamiam lub nawet tracę połączenie, muszę ręcznie włączyć VPN. Czy brakuje mi opcji?
Odpowiedzi:
Za pomocą wskaźnika menedżera sieci nm-aplet (domyślnie zainstalowany aplet zasobnika sieciowego GNOME lub Unity), możesz skonfigurować NetworkManager tak, aby automatycznie łączył się z VPN po podłączeniu sieci.
nm-connection-editor
.Gdy ta opcja jest włączona, w NetworkManager występuje błąd, który może przerwać funkcję „automatycznie łącz się z tą siecią”. ( Edycja : ten błąd został teraz oznaczony jako „poprawka wydana” w Ubuntu 16.04). Jeśli NetworkManager spróbuje automatycznie połączyć się i nie powiedzie się, zobaczysz następujący wiersz /var/log/syslog
:
<error> [1401130450.367538] [nm-vpn-connection.c:1374] get_secrets_cb(): Failed to request VPN secrets #2: (6) No agents were available for this request.
Wygląda na to, że NetworkManager nie może uzyskać hasła VPN użytkownika gnome-keyring-daemon
. Jednym z obejść jest zezwolenie NetworkManagerowi na przechowywanie hasła w postaci zwykłego tekstu w pliku konfiguracyjnym /etc/NetworkManager/system-connections/
. Aby to zrobić:
sudoedit /etc/NetworkManager/system-connections/<VPN>
, gdzie <VPN>
jest plik konfiguracyjny dla Twojej sieci VPN (nazwa pliku to zwykle nazwa przypisana do Twojej sieci VPN).password-flags=1
napassword-flags=0
NetworkManager będzie teraz przechowywał samo hasło VPN (zobacz man nm-settings
szczegóły), a automatyczne połączenie sieciowe będzie działać ponownie.
nm-connection-editor
można to znaleźć podczas edytowania połączenia na karcie ogólnej .
Spójrz na vpnautoconnect.
vpnautoconnect to demon, który pozwala na ponowne automatyczne połączenie (również podczas uruchamiania) tworzenia VPN z menedżerem sieci. Może bardzo szybko połączyć się ponownie i monitorować pasmo, Działa z połączeniem pptp i openvpn.
Aby uzyskać więcej informacji i pobrać, odwiedź stronę internetową .
Spróbuj również:
użyj funkcji AUTOSTART w /etc/default/openvpn
Lub
Sprawdź UUID swojego połączenia VPN.
nmcli con list | grep -i vpn
UUID to druga kolumna z literami, cyframi i myślnikami.
Rozpocznij połączenie w terminalu. Wystarczy nacisnąć Ctrl+ Alt+ Tna klawiaturze, aby otworzyć Terminal. Kiedy się otworzy, uruchom poniższe polecenia:
nmcli con up uuid <put you UUID here>
Ustaw tę opcję, aby działała przy uruchomieniu.
Przejdź do Dash, wpisz i wybierz Aplikacje startowe, kliknij Dodaj i dodaj powyższe polecenie nmcli (z UUID). Kliknij „Dodaj”. W nazwie wpisz dowolną nazwę, której chcesz użyć, aw wierszu polecenia umieść całą linię nmcli powyżej. Kliknij ponownie „Dodaj”. Teraz uruchom ponownie i spróbuj.
Źródło: SourceForge
vpnautoconnect
? Ich strona internetowa jest opuszczoną stroną projektu SourceForge, a pakiet nie zawiera stron podręcznika man. Trudne to brzmi obiecująco.
Polecam sprawdzenie skryptu w tym artykule :
#!/bin/bash
# YourVPN here is the name of desired vpn connection to monitor
# edit this line:
##################
VPNNAME=YourVPNUUID
# enter desired time between checks here (in seconds)
SLEEPTIME=15
##################
nice=0
for (( ; ; )); do
# creating infinite loop
tested=$(nmcli con status uuid $VPNNAME | grep -c UUID)
#possible results:
# 0 - no connection - need to start
# 1 - working connection, continue.
case $tested in
"0")
echo "Not connected - starting"
#increase nice counter
nice=$[nice+1]
#if "nice start" fails for 3 times
if [ $nice -ge 3 ];
then
#TRY to knock hard way, resetting the network-manager (sometimes it happens in my kubuntu 12.04).
echo "HARD RESTART!"
nmcli nm enable false
nmcli nm enable true
sleep 5
nmcli con up uuid $VPNNAME
nice=0
else
#not yet 3 falures - try starting normal way
echo "trying to enable."
nmcli con up uuid $VPNNAME
fi
;;
"1")
echo "VPN seems to work"
;;
esac
sleep $SLEEPTIME
done
Aby dowiedzieć się o wartości YourVPNUUID
$ VPNNAME, po prostu uruchom następujące polecenie;
nmcli con list | grep -i vpn
vpnautoconnect nie działało dla mnie w 12.04 LTS i nie wydaje mi się być jedynym.
Trochę go przestudiowałem i połączyłem istniejący kod, by stworzyć mój pierwszy skrypt bash. Sprawdza, czy dane połączenie VPN jest aktywne i nawiąże połączenie, jeśli nie. Jeśli jest podłączony, będzie spał przez określony czas, np. 1 minutę, i powtórzy proces w nieskończoność.
#! /bin/bash
while true
do
connection="Auto Ethernet"
vpn_connection="My VPN connection"
run_interval="60"
active_connection=$(nmcli dev status | grep "${connection}")
active_vpn=$(nmcli dev status | grep "${vpn_connection}")
if [ "${active_connection}" -a ! "${active_vpn}" ];
then
nmcli con up id "${vpn_connection}"
fi
sleep $run_interval
done
Instrukcje:
Utwórz pusty plik tekstowy o nazwie np. Vpn-auto-connector.sh (Zapisałem go w folderze domowym. Kliknij plik prawym przyciskiem myszy i wybierz Właściwości-> Uprawnienia i zaznacz „Zezwalaj na uruchamianie pliku jako programu”. (Może być konieczne zapisanie pliku gdzie indziej i / lub zmienić uprawnienia do odczytu / zapisu / wykładu, jeśli komputer ma wielu użytkowników).
Skopiuj kod z góry do utworzonego pliku. Zamień wartości następujących trzech zmiennych:
connection = „Auto Ethernet”
vpn_connection = "Moje połączenie VPN"
run_interval = "60"
Można je znaleźć, otwierając menedżera sieci. W moim przypadku połączenie = „Auto Ethernet” to moje aktywne połączenie przewodowe (nie testowałem z siecią bezprzewodową), a vpn_connection = „Moje połączenie VPN” to nazwa mojego połączenia VPN. run_interval = „60” to przedział czasu w sekundach określający, kiedy należy powtórzyć skrypt.
Otwórz Aplikacje-> Narzędzia systemowe-> Preferencje-> Aplikacje startowe. Dodaj odpowiednią nazwę, np. „VPN Auto Connector”, a dla polecenia wybierz wcześniej zapisany plik .sh. Teraz skrypt bash będzie uruchamiany podczas uruchamiania i będzie sprawdzał, czy połączenie VPN jest aktywne. Możesz go wypróbować, rozłączając połączenie VPN i powinno ono zostać ponownie aktywowane automatycznie.
Vpnautoconnect działa dobrze w Ubuntu 12.04, 13.04 i 13.10 (Myślę, że w 13.10 opcja „połącz automatycznie” w Menedżerze sieci została naprawiona i działa teraz)
Tak więc, jeśli masz problemy z instalacją lub uruchomieniem lub nie możesz znaleźć opcji „openvpn” w rozwijanym menu Network-Managera, aby utworzyć otwarte połączenie VPN, możesz postępować zgodnie z tym tuto, który daje Ci wszystko kroki, bardzo jasne i łatwe do zastosowania.
Spójrz TUTAJ
I daj mi znać :-)
Oto bardzo solidny i niezawodny skrypt, który:
Jest to szczególnie przydatne, jeśli rutynowo łączysz się z różnymi sieciami VPN, ponieważ nie musisz określać pojedynczego połączenia VPN, aby połączyć się ponownie.
#!/bin/bash
nmcli --mode multiline --fields uuid,vpn connection status | grep -qc "^VPN:.*yes" 1>/dev/null 2>&1
if [ $? -ne 0 ]; then
last_vpn_uuid=`nmcli --mode tabular --fields uuid,type,timestamp connection list | grep -E "\s+vpn\s+" | sort -k3 -nr | head -n1 | awk '{ print $1 }'`
nmcli connection up uuid "$last_vpn_uuid"
fi
Korzystam z Ubuntu 14.04 LTS na kilku komputerach. Ze względu na to, że mam specjalne wymagania wstępne:
Pracuję z tym sprawdzonym i niezawodnym skryptem:
Istnieją jednak pewne zastrzeżenia dotyczące apletu menedżera sieci, które mogłem tymczasowo rozwiązać (patrz sekcja Rozwiązywanie problemów w tym artykule).
vpnautoconnect nie działa dla mnie.
odpowiedź @vincentYo wygląda prosto, ale nie mogłem tego zrobić, więc zrobiłem to jak poniżej.
krok 1: utwórz skrypt powłoki i dodaj polecenie VPN
vim auto_vpn.sh
#!/bin/sh
vpnc --enable-1des
krok 2: otwórz plik sudoer i powiedz kernelowi, aby nie pytał o hasło do tego pliku.
sudo vim / etc / sudoers
większość rzeczy w tym pliku zostanie skomentowana, wystarczy dodać jak poniżej
nazwa użytkownika ALL = (root) NOPASSWD: twoja_shell_script.sh
przykład:
sharath ALL = (root) NOPASSWD: /home/sharath/workspace/work/src/auto_vpn.sh
krok 3: skonfiguruj zadanie crona, które uruchomi ten skrypt powłoki, poniżej zadania cron będzie uruchamiane co minutę (bcz mój internet ciągle się włącza i wyłącza, więc co minutę)
* * * * * sudo /home/sharath/workspace/work/src/auto_vpn.sh
Używam tego od wielu dni, dobrze działa w Ubuntu 16.04 LTS .. Słyszy !!