jak automatycznie uruchomić openvpn (klient) na ubuntu cli?


16

Używam Ubuntu 12.04 64bit. Mam *.ovpnplik, który działa, jeśli napiszę:

sudo openvpn client.ovpn

Teraz chciałbym uruchomić openvpnpo uruchomieniu komputera.

W jaki sposób mogę to zrobić?

Odpowiedzi:


22
  1. Pobierz OpenVPNConfigFile.ovpn. Pamiętaj, że możesz zmienić nazwę pliku na cokolwiek lubisz.

  2. Przenieś plik ovpn do /etc/openvpn

  3. cd /etc/openvpn folder i wprowadź sudo nano yourserver.txt

    your_server_user_name
    your_server_passowrd
    

    Zapisz i zamknij

  4. sudo nano OpenVPNConfigFile.ovpn

    Znajdź auth-user-passi dodaj yourserver.txtobok niego, aby stał się

    auth-user-pass yourserver.txt
    

    Umożliwi to pominięcie wprowadzania poświadczeń za każdym razem, gdy nawiążesz połączenie openvpn

  5. Zmień nazwę OpenVPNConfigFile.ovpnnaOpenVPNConfigFile.conf

    sudo mv OpenVPNConfigFile.ovpn OpenVPNConfigFile.conf
    
  6. sudo nano /etc/default/openvpn

    Brak komentarza AUTOSTART="all"

  7. sudo service openvpn start

    Powinieneś zobaczyć komunikat, że masz połączenie. Połączenie zostanie nawiązane przy każdym uruchomieniu komputera.


5
Jeśli używasz systemd, musisz uruchomić systemctl daemon-reloadprzed ponownym uruchomieniem usługi
Mario Campa

6

openvpnPakiet jest wyposażony w skrypcie /etc/init.d/openvpn. Ten skrypt automatycznie konfiguruje połączenie dla każdego .confpliku (z uwzględnieniem rozszerzenia) /etc/openvpn.

Znaleziono to na podstawie informacji tutaj: https://openvpn.net/index.php/open-source/documentation/howto.html#startup

Jeśli zainstalujesz OpenVPN za pomocą pakietu RPM lub DEB w systemie Linux, instalator skonfiguruje skrypt startowy. Po uruchomieniu initscript będzie skanować pliki konfiguracyjne .conf w / etc / openvpn, a jeśli zostanie znaleziony, uruchomi osobny demon OpenVPN dla każdego pliku.


2

Byłoby miło mieć sposób na hakera, ale na razie będzie trzeba.

1) Utwórz plik myopenvpn w /etc/init.d/

nano /etc/init.d/myopenvpn

2) Włóż do myopenvpn i zapisz:

# OpenVPN autostart on boot script

start on runlevel [2345]
stop on runlevel [!2345]

respawn

exec /usr/sbin/openvpn --status /var/run/openvpn.client.status 10 --cd /etc/openvpn --config /etc/openvpn/client.conf --syslog openvpn

ŹRÓDŁO: http://www.hackerway.ch/2012/12/11/how-to-auto-start-openvpn-client-in-debian-6-and-ubuntu-12-04/#comment-79


2

Trochę się w tym utknąłem i ostatecznie napisałem wszystkie instrukcje dotyczące ręcznego konfigurowania systemu.

Działa to dla mnie przy użyciu Ubuntu 16.10 i openvpn 2.3.11

Konfigurowanie VPN do uruchamiania z bash

Te przykłady używają expressvpn, ale większość działałaby w ten sam sposób

Pobierz plik konfiguracyjny ovpn swojego dostawcy VPN, np . My_express_vpn_amsterdam_2 . ovpn

przenieś go /etc/openvpn/i zmień jego nazwę, aby skończyć na .conf

sudo mv ~/Downloads/my_express_vpn_amsterdam_2.ovpn /etc/openvpn/amsterdam-2.conf

Twój dostawca VPN poda Ci nazwę użytkownika i hasło do połączenia przez openvpn. Zapisz nazwę użytkownika, a następnie hasło w osobnym wierszu

sudo vim /etc/openvpn/express-vpn-crednetials.txt
# add these lines
YOUR_VPN_USERNAME
YOUR_VPN_PASSWORD
# save the file

teraz edytuj, /etc/openvpn/amsterdam-2.conf wyszukaj wiersz, który mówi, auth-user-passi zastąp go ścieżką do pliku poświadczeń

auth-user-pass /etc/openvpn/express-vpn-crednetials.txt

Przetestuj swoją konfigurację! Uruchom openvpn w ten sposób

sudo openvpn --config /etc/openvpn/amsterdam-2.conf

openvpn powinien połączyć się bez pytania o nazwę użytkownika lub hasło

Usuń istniejącą (uszkodzoną) konfigurację usługi dla openvpn

sudo rm /etc/systemd/system/multi-user.target.wants/openvpn.service

Skonfiguruj openvpn, aby działał jako usługa systemowa

Konfiguracja dostarczona z openvpn została uszkodzona, więc usunąłem ją i stworzyłem nową na podstawie tej odpowiedzi

Utwórz usługę systemową dla openvpn

sudo vim /usr/lib/systemd/system/openvpn@service

dodaj tę konfigurację:

[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=syslog.target network.target

[Service]
PrivateTmp=true
Type=forking
PIDFile=/var/run/openvpn/%i.pid
ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf

[Install]
WantedBy=multi-user.target

%isłuży jako zamiennika tak, że ta usługa może być używany do wielu konfiguracjach VPN. Skonfiguruj go dla amsterdam-2.confpliku, który wcześniej utworzyliśmy

sudo systemctl start openvpn@amsterdam-2.service

usługa systemowa powinna teraz działać na VPN w Amsterdamie. sprawdź, czy tak jest

sudo systemctl status openvpn@amsterdam-2.service

powinieneś zobaczyć kilka linii wyjścia kończących się na Initialization Sequence Completedi twój VPN powinien być uruchomiony.

Mam nadzieję że to pomoże! powiązane czytanie:

/unix/206058/how-to-start-2fa-using-openvpn-with-systemd/206490#206490

Jak uruchomić usługę klienta OpenVPN na Ubuntu 15.04

/unix/148990/using-openvpn-with-systemd/149003#149003?newreg=53ca53879fcc489f94304f91bbc82ab3

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.