Ok, jadi saya sudah mencari di web untuk solusi untuk masalah ini tanpa jawaban yang sepertinya bekerja untuk saya. Semoga ada yang bisa membantu saya. Saya hanya mencoba mengkonfigurasi Klien OpenVPN.
Saya sedang menjalankan CrunchBang Linux 3.2.0-4-amd64 Debian 3.2.60-1+deb7u1 x86_64 GNU/Linux
dan saya baru saja beralih menggunakan systemd
. Pergantian berjalan cukup lancar tapi sekarang saya tidak bisa mendapatkan klien OpenVPN saya untuk datang menggunakan systemd Saya sudah mencoba mengikuti tutorial konfigurasi ini, tetapi tidak ada yang berhasil.
- http://fedoraproject.org/wiki/Openvpn
- http://d.stavrovski.net/blog/how-to-install-and-set-up-openvpn-in-debian-7-wheezy
- Dan melihat banyak panduan berbeda lainnya.
Saya dapat memunculkan terowongan dari baris perintah dengan openvpn /etc/openvpn/vpn.conf
. Jadi saya tahu file konfigurasi itu baik, itu bekerja dengan sysvinit baik-baik saja jadi saya tidak terkejut. Saya kemudian mencoba untuk melakukan status dengan systemctl status openvpn@vpn.service
menghasilkan:
$ sudo systemctl status openvpn@vpn.service
openvpn@vpn.service
Loaded: error (Reason: No such file or directory)
Active: inactive (dead)
Saya menyadari bahwa saya perlu melakukan beberapa pengaturan untuk layanan. Saya ingin diminta untuk password jadi saya mengikuti panduan ini untuk membuat openvpn@.service
di /etc/systemd/system/
. Tetapi memulai kembali layanan OpenVPN masih tidak meminta kata sandi.
$ sudo service openvpn restart
[ ok ] Restarting openvpn (via systemctl): openvpn.service.
Tutorial Fedora mengikuti langkah-langkah membuat tautan simbolis, tetapi jangan membuat file .service di walk-throughs.
Bagian apa yang saya lewatkan? Apakah saya perlu membuat openvpn@vpn.service? Jika demikian, di mana tepatnya saya meletakkannya? Saya merasa seharusnya tidak sesulit ini, tetapi sepertinya saya tidak dapat menemukan solusi yang cocok untuk saya. Saya senang memberikan informasi lebih lanjut yang dibutuhkan.
Larutan
-rw-r--r-- 1 root root 319 Aug 7 10:42 openvpn@.service
[Unit]
Description=OpenVPN connection to %i
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --config /etc/openvpn/%i.conf
ExecReload=/bin/kill -HUP $MAINPID
WorkingDirectory=/etc/openvpn
[Install]
WantedBy=multi-user.target
openvpn@.service (END)
Simbol:
lrwxrwxrwx 1 root root 36 Aug 7 10:47 openvpn@vpn.service -> /lib/systemd/system/openvpn@.service
Prompt Untuk Kata Sandi
Semuanya berfungsi sekarang, kecuali diminta kata sandi untuk terhubung. Saya sudah mencoba solusi ini . Saya tweak file dari atas hanya sedikit, dan menambahkan script Harapkan seperti dalam contoh. Bekerja seperti pesona! File saya di bawah.
Baris yang dimodifikasi dari atas /lib/systemd/system/openvpn@.service
ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --management localhost 5559 --management-query-passwords --management-forget-disconnect --config /etc/openvpn/%i.conf
ExecStartPost=/usr/bin/expect /lib/systemd/system/openvpn_pw.exp
Skrip yang diharapkan /lib/systemd/system/openvpn_pw.exp
. Pastikan untuk melakukan hal berikut:
chmod +x
pada naskah.- Telah
telnet
diinstal
Kode skrip harapan:
#!/usr/bin/expect
set pass [exec /bin/systemd-ask-password "Please insert Private Key password: "]
spawn telnet 127.0.0.1 5559
expect "Enter Private Key Password:"
send "password 'Private Key' $pass\r"
expect "SUCCESS: 'Private Key' password entered, but not yet verified"
send "exit\r"
expect eof
Perlu dicatat bahwa solusi di atas tidak mencatat kata sandi Anda yang dimasukkan dalam plaintext di log berikut /var/log/syslog
dan/var/log/daemon.log
journalctl -b -m
untuk mencari tahu mengapa OpenVPN keluar. Salah satu tempat itu harus mengandung pesan kesalahan nyata. (Atau bahkan journalctl -b -m _EXE=/usr/sbin/openvpn
harus memberikan pesan OpenVPN saja).
openvpn@.service
Seperti apa file itu?