Terputus dari server OpenVPN setiap jam

12

Saya mengalami masalah yang agak aneh dengan OpenVPNkonfigurasi saya . Saya terhubung dari Windows 7dengan OpenVPNklien terbaru resmi ke OpenVPNserver saya ( OpenVPN 2.1.4 i386-redhat-linux-gnu).

Masalahnya adalah saya mendapatkan terputus dari OpenVPNserver saya tepat setelah 1 jam dan saya tidak bisa mengerti arahan / opsi apa yang bertanggung jawab untuk ini. Mungkin itu masalah klien? Saya telah mencoba berbagai Windowssistem dan Windows VPNklien. Para Linuxklien bekerja seperti yang diharapkan tanpa pemutusan.

Bisakah Anda membantu saya memecahkan masalah ini? Saya telah mencoba membaca buku dan googling dan beberapa orang menyarankan untuk bermain keepalivedan mengikuti reneg-secarahan. Tapi itu sepertinya tidak membantu.

Konfigurasi server OpenVPN

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 192.168.2.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.0.0.0 255.0.0.0"
client-config-dir ccd
route 192.168.51.0 255.255.255.0
keepalive 60 600
reneg-sec 5000
hand-window 15
tls-auth ta.key 0
comp-lzo
max-clients 50
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 4
crl-verify crl.pem
management localhost 11111
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login
push "dhcp-option DNS 192.168.2.1"
push "dhcp-option DOMAIN example.com"
push "dhcp-option SEARCH example.com"

Log server (bukan masalah di reinit_src = 1?)

Oct  9 07:23:38 vpn openvpn[19495]: user/192.168.253.20:54568 TLS Error: TLS handshake failed
Oct  9 07:23:38 vpn openvpn[19495]: user/192.168.253.20:54568 TLS: move_session: dest=TM_LAME_DUCK src=TM_ACTIVE reinit_src=1
Oct  9 07:24:53 vpn openvpn[19495]: user/192.168.253.20:54568 TLS Error: TLS handshake failed
Oct  9 07:26:08 vpn openvpn[19495]: user/192.168.253.20:54568 TLS Error: TLS key negotiation failed to occur within 15 seconds (check your network connectivity)
Oct  9 07:26:08 vpn openvpn[19495]: user/192.168.253.20:54568 TLS Error: TLS handshake failed
Oct  9 07:26:39 vpn openvpn[19495]: user/192.168.253.20:54568 [UNDEF] Inactivity timeout (--ping-restart), restarting
Oct  9 07:26:39 vpn openvpn[19495]: user/192.168.253.20:54568 SIGUSR1[soft,ping-restart] received, client-instance restarting

Log klien

RwrWRwRwRwRwTue Oct 09 07:26:39 2012 us=796000 TLS: soft reset sec=0 bytes=7405621/0 pkts=9459/0
Tue Oct 09 07:26:39 2012 us=600000 ERROR: could not read Auth username from stdin
Tue Oct 09 07:26:39 2012 us=600000 Exiting
Tue Oct 09 07:26:39 2012 us=600000 C:\WINDOWS\system32\route.exe DELETE 192.168.2.1 MASK 255.255.255.255 192.168.100.150
Tue Oct 09 07:26:39 2012 us=600000 Route deletion via IPAPI succeeded [adaptive]
Tue Oct 09 07:26:39 2012 us=600000 C:\WINDOWS\system32\route.exe DELETE 10.0.0.0 MASK 255.0.0.0 192.168.100.150
Tue Oct 09 07:26:39 2012 us=600000 Route deletion via IPAPI succeeded [adaptive]
Tue Oct 09 07:26:39 2012 us=600000 Closing TUN/TAP interface

Terima kasih banyak.

Andrew
sumber

Jawaban:

11

Pelakunya tampaknya adalah konfigurasi otentikasi Anda. Anda menggunakan plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so loginyang akan mengharuskan klien untuk menyediakan kombinasi nama pengguna / kata sandi yang valid untuk terhubung. Rupanya, ini juga diperlukan saat merekam dan klien OpenVPN Anda tampaknya tidak dapat meminta nama pengguna dari stdin( ERROR: could not read Auth username from stdin).

Adapun alasan mengapa meningkatkan reneg-detik dalam konfigurasi server Anda tidak membantu, ini karena parameter harus ditentukan di keduanya - konfigurasi server dan klien untuk secara efektif dinaikkan di atas standar 3600 detik (yang terjadi pada menyebabkan satu jam - putuskan sambungan yang Anda lihat).

Jadi pilihan Anda adalah

  • menggunakan metode otentikasi yang tidak memerlukan input pengguna (sertifikat muncul di benak)
  • memecahkan masalah mengapa klien Anda tidak dapat meminta kombinasi nama pengguna / kata sandi setelah koneksi dibuat
  • naikkan periode rekeying atau nonaktifkan rekeying sepenuhnya (yang melemahkan keamanan koneksi Anda, jadi itu pasti hanya solusi yang lebih rendah untuk masalah Anda)
the-wabbit
sumber
Anda benar, menempatkan reneg-sec ke client.ovpn membantu menyelesaikan masalah ini.
Andrew
7

Anda dapat mencoba reneg-sec 0di server.conf:

https://duo.com/docs/openvpn

https://tldrify.com/m80

sebenarnya cukup sederhana. Karena OpenVPN mencoba untuk melepaskan kembali Sesi TLS baru setiap 3600 detik secara default, Anda harus mengautentikasi ulang setiap kali, menggunakan OTP baru. Untuk menghindari perilaku semacam ini, itu hanya masalah memberitahu openvpn untuk tidak pernah membatalkan sesi TLS dan menjaga yang ada tetap hidup, jika Anda menggabungkan keepalivearahan dan reneg-sec 0, Anda akan memiliki koneksi yang stabil, tanpa renegosiasi sama sekali.

Arnaud
sumber
3

Saya mengalami efek yang sama ketika saya menambahkan opsi 'auth-nocache' ke konfigurasi klien saya. Saya menggunakan sertifikat DAN kombinasi nama pengguna + kata sandi untuk otentikasi.

Beberapa kali saya perhatikan di log koneksi yang openvpn melaporkan peringatan berikut:

PERINGATAN: konfigurasi ini mungkin menyimpan kata sandi dalam memori - gunakan opsi auth-nocache untuk mencegahnya

Jadi saya pikir saya hanya akan menambahkan opsi ini dan melihat apa yang terjadi. Yah, peringatan di atas tidak hilang, tetapi setelah satu jam muncul kotak dialog, menanyakan nama pengguna dan kata sandi saya.

Saya perhatikan bahwa konfigurasi di atas oleh Andrew tidak mengandung opsi ini jadi saya agak bingung mengapa itu tidak menyimpan kata sandi. Mungkin ini karena saya menggunakan versi openvpn yang lebih baru atau mungkin dapat disetel pada konfigurasi server untuk mendorong opsi ini ke klien.

Ini terlihat pada: OpenVPN 2.2.1-8 + deb7u2 dengan OpenVPN GUI v5 untuk Windows.

captcha
sumber
Saya harus membuat file menggunakan openvpn dan kemudian menambahkan opsi auth-nocache. Sekarang bekerja dengan sempurna. File yang dihasilkan dapat digunakan sebagai
crsuarezf
@ingcarlos Senang mendengarnya bekerja untuk Anda. Selamat vpn-ing.
captcha
+1 Absolutley benar, saya menghadapi masalah yang sama setelah menambahkan tidak ada arahan cache.
Mohammed Noureldin