Memulai klien OpenVPN secara otomatis saat boot

34

Saya mencoba membuat OpenVPN untuk mulai secara otomatis saat boot. Hari ini saya harus mengetik secara manual

sudo openvpn --client --config $HOME/openvpn/anonine.ovpn --ca $HOME/openvpn/anonine.ca.crt 

diikuti oleh nama pengguna dan kata sandi. Apakah ada cara yang baik untuk membuat ini otomatis saat boot?

pengguna280409
sumber

Jawaban:

42

Edit /etc/default/openvpn. Cukup tekan Ctrl+ Alt+ Tdi keyboard Anda untuk membuka Terminal. Saat terbuka, jalankan perintah di bawah ini:

sudo gedit /etc/default/openvpn

Batalkan komentar pada AUTOSTART="all"garis. Simpan dan tutup. Mulai ulang sistem Anda.

gambar

Mitch
sumber
(i) Bagaimana seseorang dapat memulai VPN tertentu dengan cara itu? (ii) Siapa yang memasok otentikasi untuk koneksi yang dimulai dengan cara ini (dapatkah itu memulai koneksi tanpa kombinasi username-password disimpan dalam teks biasa)? (iii) Jika memungkinkan, metode cli lebih disukai (memungkinkan implementasi pada server tanpa kepala). Saya dapat menggantikan nanountuk gedit, tapi saya tidak dapat menggunakan nm-applet ke toko mandat dalam keyring.
Jonathan Y.
@ JonathanY. Lihatlah sumber daya yang tersedia, Di Sini , dan Di Sini . Anda mungkin juga ingin mempertimbangkan untuk mengajukan pertanyaan baru.
Mitch
6
Terima kasih banyak. Sejauh yang saya tahu jawabannya (i) (yang berada dalam ruang lingkup pertanyaan ini) adalah AUTOSTART="all"upaya untuk memulai setiap .conffile /etc/openvpn(walaupun saya ingin mendapat konfirmasi). Sebuah jawaban untuk (ii) juga masuk akal dengan pertanyaan ini - Anda tidak dapat secara otomatis memulai koneksi VPN kecuali jika rahasia tersedia tanpa input pengguna (gantungan kunci lebih disukai daripada teks biasa karena alasan yang jelas). Saya akui bahwa (iii) ekstrakurikuler dan mungkin patut mendapat pertanyaan baru. Tidak ada satu pun dari mereka yang dijawab di tautan ini, yang dapat saya lihat.
Jonathan Y.
Seperti komentar dalam gambar menyatakan, standar untuk AUTOSTART sebenarnya "semua". Hasil edit ini karenanya tidak diperlukan, menurut saya.
Yves B
1
@YvesB Default adalah "semua" hanya ketika AUTOSTART tidak
diomortasi
9

Jika Anda menggunakan systemd (16.04), konfigurasikan AUTOSTART = "semua" dan masih belum mulai memperhatikan ini:

> # If you're running systemd, changing this variable will
> # require running "systemctl daemon-reload" followed by
> # a restart of the openvpn service (if you removed entries
> # you may have to stop those manually)

Lakukan saja

systemctl daemon-reload

dan kemudian restart layanan

 sudo service openvpn restart
Erb
sumber
Sempurna, terima kasih banyak.
pylover
8

Anda dapat menempatkan auth-user-pass filenamedi anonine.ovpnmana filenamefile dengan nama pengguna / kata sandi pada 2 baris.

Pastikan itu filenamediamankan dengan benar, karena itu akan berisi nama pengguna / kata sandi biasa.

Ini dari openvpn --help:

Client options (when connecting to a multi-client server):

--auth-user-pass [up] : Authenticate with server using username/password.
                  up is a file containing username/password on 2 lines,
                  or omit to prompt from console.

Anda juga dapat menambahkan sertifikat Anda dengan anonine.ovpnmenambahkannya seperti ini:

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>
jstsmn
sumber
3

Jika nama pengguna / kata sandi tidak diperlukan untuk dapat terhubung, maka ganti nama file .ovpn untuk memiliki ekstensi .conf.

OpenVPN harus terhubung saat boot, bahkan tanpa autostart = all.

Jika nama pengguna / kata sandi diperlukan,

edit file .conf

edit auth-user-pass user-password-nama file

Buat file yang berisi:

username
password

Jika Anda ingin terhubung dengan Network Manager, pastikan Anda terlebih dahulu melakukannya:

sudo apt-get install network-manager-openvpn

Pastikan Ubuntu Anda setidaknya 14,04. Ini tidak berfungsi pada 12.04.

Jika Anda tidak memiliki ca.crt, client.crt, dll, ekstrak dari .conf.

Dengan Network Manager, buat koneksi VPN baru atau impor conf Anda.

Tambahkan sertifikat dan ta.key.

Rute, gunakan koneksi hanya untuk sumber daya di jaringannya.

Edit koneksi Internet Anda dengan manajer jaringan. Pilih terhubung dengan VPN , lalu pilih koneksi VPN Anda.

Yandi Ongkojoyo
sumber
0

Meskipun mungkin tidak menarik bagi OP, saya merasa frustrasi dengan layanan ini tidak mulai sampai masuk - baik grafis, atau salah satu dari Ctrl + Alt + F # TTYs. Saya akhirnya menyadari bahwa mesin saya hanya akan terhubung ke wifi ketika saya login. Menggabungkan jawaban lain di sini dengan saran standar untuk dijalankan sudo update-rc.d openvpn defaults, dan dengan jawaban pertama pada pertanyaan lain ini bekerja untuk saya. Mungkin ini dapat membantu Googler lain.

tsbertalan
sumber
0

Bagi saya itu

auth-user-pass filename

tidak bekerja

menggunakan

askpass /etc/openvpn/filename

Dan hanya memiliki kata sandi di baris paling atas

Ini berhasil dan sekarang openvpn dimulai saat boot

perintah untuk memeriksa apakah openvpn berfungsi:

systemctl status openvpn@"your vpn user name"

wget -qO- http://ipecho.net/plain ; echo

untuk memeriksa ip Anda (harus berbeda dari ip eksternal router Anda)

sudo service openvpn stop

sudo service openvpn start

untuk memeriksa konfigurasi Anda tanpa mem-boot ulang sepanjang waktu.

underpristof
sumber