bagaimana cara otomatis memulai openvpn (klien) di ubuntu cli?

16

Saya menggunakan Ubuntu 12.04 64bit. Saya memiliki *.ovpnfile yang berfungsi jika saya mengetik:

sudo openvpn client.ovpn

Sekarang saya ingin memulai openvpnketika saya mem-boot komputer.

Bagaimana saya bisa melakukan ini?

waspinator
sumber

Jawaban:

22
  1. Unduh OpenVPNConfigFile.ovpn. Perhatikan bahwa Anda dapat mengubah nama file menjadi apa pun yang Anda suka.

  2. Pindahkan file ovpn ke /etc/openvpn

  3. cd /etc/openvpn folder dan masuk sudo nano yourserver.txt

    your_server_user_name
    your_server_passowrd
    

    Simpan dan tutup

  4. sudo nano OpenVPNConfigFile.ovpn

    Temukan auth-user-passdan tambahkan di yourserver.txtsebelahnya sehingga menjadi

    auth-user-pass yourserver.txt
    

    Ini akan memungkinkan Anda untuk melewatkan memasukkan kredensial Anda setiap kali Anda memulai koneksi openvpn

  5. Ganti nama OpenVPNConfigFile.ovpnmenjadiOpenVPNConfigFile.conf

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

    Tanda komentar AUTOSTART="all"

  7. sudo service openvpn start

    Anda akan melihat pesan yang mengatakan bahwa Anda terhubung. Koneksi akan dibuat setiap kali Anda memulai komputer Anda.

Robert Polson
sumber
5
Jika Anda menjalankan systemd, Anda harus menjalankannya systemctl daemon-reloadsebelum memulai kembali layanan
Mario Campa
6

The openvpnpaket datang dengan skrip init /etc/init.d/openvpn. Script ini secara otomatis mengatur koneksi untuk setiap .conffile (mind the extension) di /etc/openvpn.

Menemukan ini berdasarkan informasi di sini: https://openvpn.net/index.php/open-source/documentation/howto.html#startup

Jika Anda menginstal OpenVPN melalui paket RPM atau DEB di Linux, penginstal akan menyiapkan skrip init. Ketika dijalankan, skrip init akan memindai file konfigurasi .conf di / etc / openvpn, dan jika ditemukan, akan memulai daemon OpenVPN yang terpisah untuk setiap file.

Vašek Purchart
sumber
2

Akan menyenangkan untuk memiliki cara un hacker untuk melakukannya, tetapi ini harus dilakukan untuk saat ini.

1) Buat file myopenvpn di /etc/init.d/

nano /etc/init.d/myopenvpn

2) Masukkan ke myopenvpn dan simpan:

# 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

SUMBER: http://www.hackerway.ch/2012/12/11/how-to-auto-start-openvpn-client-in-debian-6-and-ubuntu-12-04/#comment-79

waspinator
sumber
2

Saya agak terjebak pada ini dan akhirnya menulis semua instruksi untuk mengaturnya dengan systemd secara manual.

Ini bekerja untuk saya menggunakan Ubuntu 16.10 dan openvpn 2.3.11

Menyiapkan vpn Anda untuk dijalankan dari bash

Contoh-contoh ini menggunakan expressvpn tetapi kebanyakan akan bekerja dengan cara yang sama

Unduh file konfigurasi ovpn penyedia vpn Anda, mis . My_express_vpn_amsterdam_2 . ovpn

pindahkan itu ke /etc/openvpn/dan ganti namanya menjadi diakhiri .conf

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

Penyedia VPN Anda akan memberi Anda nama pengguna dan kata sandi untuk terhubung melalui openvpn. Simpan nama pengguna dan kata sandi masing-masing pada baris mereka sendiri

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

sekarang edit /etc/openvpn/amsterdam-2.conf cari baris yang mengatakan auth-user-passdan ganti dengan jalur ke file kredensial Anda

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

Uji konfigurasi Anda! Mulai openvpn seperti ini

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

openvpn harus terhubung tanpa meminta nama pengguna atau kata sandi

Hapus konfigurasi layanan (rusak) yang ada untuk openvpn

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

Setup openvpn untuk dijalankan sebagai layanan systemd

Konfigurasi yang datang dengan openvpn rusak jadi saya menghapusnya dan membuat yang baru berdasarkan jawaban ini

Buat layanan systemd untuk openvpn

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

tambahkan konfigurasi ini:

[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

yang %idigunakan sebagai wildcard sehingga layanan ini dapat digunakan untuk beberapa konfigurasi vpn. Atur untuk amsterdam-2.conffile yang kita buat sebelumnya

sudo systemctl start [email protected]

layanan systemd sekarang harus berjalan di amsterdam vpn. periksa statusnya seperti itu

sudo systemctl status [email protected]

Anda akan melihat beberapa baris keluaran berakhir Initialization Sequence Completeddan vpn Anda harus berjalan.

Semoga ini membantu! bacaan terkait:

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

Cara memulai layanan klien OpenVPN di Ubuntu 15.04

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

roo2
sumber