Frage Die Verbindung zum OpenVPN-Server wird stündlich getrennt


Ich habe ein ziemlich seltsames Problem mit meinem OpenVPN Aufbau. Ich verbinde von Windows 7 mit offiziellen neuesten OpenVPN Kunde zu meinem OpenVPN Server (OpenVPN 2.1.4 i386-redhat-linux-gnu).

Das Problem ist, dass ich von meinem Telefon getrennt werde OpenVPN Server genau nach 1 Stunde und ich kann nicht verstehen, welche Direktive / Option dafür verantwortlich ist. Vielleicht ist es ein Kundenproblem? Ich habe es anders versucht Windows Systeme und Windows VPN Kunden. Das Linux Clients arbeiten wie erwartet ohne Unterbrechungen.

Könnten Sie mir bitte helfen, dieses Problem zu lösen? Ich habe versucht, Bücher zu lesen und zu googeln, und einige Leute empfehlen, mit ihnen zu spielen keepalive und reneg-sec Richtlinien. Aber das scheint nicht zu helfen.

OpenVPN Serverkonfiguration

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"

Serverprotokoll (ist das Problem nicht in 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

Clientprotokoll

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

Vielen Dank.


8
2017-10-09 09:49


Ursprung




Antworten:


Der Übeltäter scheint Ihre Authentifizierungskonfiguration zu sein. Du benutzt plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login Dies würde erfordern, dass der Client eine gültige Benutzername / Passwort-Kombination für die Verbindung bereitstellt. Offensichtlich ist dies auch bei der erneuten Schlüsseleingabe erforderlich, und Ihr OpenVPN-Client scheint den Benutzernamen nicht abfragen zu können stdin (ERROR: could not read Auth username from stdin).

Der Grund, warum das Aufrichten von Reneg-Sec in Ihrer Serverkonfiguration nicht hilft, liegt daran, dass der Parameter in beiden angegeben werden muss - die Konfiguration des Servers und des Clients muss effektiv über den Standardwert von 3600 Sekunden angehoben werden verursache die eine Stunde - Trennung, die du siehst.

Also wären deine Optionen zu

  • Verwenden Sie eine Authentifizierungsmethode, die keine Benutzereingaben erfordert (Zertifikate fallen mir ein)
  • Problembehandlung, warum Ihr Client nach dem Verbindungsaufbau nicht zur Eingabe der Benutzernamen / Passwort-Kombination aufgefordert wird
  • Erhöhen Sie die Rekeying-Periode oder deaktivieren Sie die Rekeying-Funktion vollständig (was die Sicherheit Ihrer Verbindung schwächt, also ist dies sicherlich nur eine untergeordnete Lösung für Ihr Problem)

8
2017-10-09 14:57



Sie haben recht und setzen Reneg-Sec auf den Client.ovpn half, dieses Problem zu lösen. - Andrew


Du kannst es versuchen reneg-sec 0 in deiner server.conf:

https://duo.com/docs/openvpn

https://tldrify.com/m80

es ist wirklich ziemlich einfach. Da OpenVPN standardmäßig alle 3600 Sekunden versucht, eine neue TLS-Sitzung neu zu verknüpfen, müssen Sie sich jedes Mal erneut authentifizieren, indem Sie ein neues OTP verwenden. Um diese Art von Verhalten zu vermeiden, ist es nur eine Frage von openvpn, eine TLS-Sitzung nie wieder zu negoziieren und die existierende beizubehalten, wenn man sie kombiniert keepalive Richtlinie und reneg-sec 0, du wirst eine stabile Verbindung haben, ohne jegliche Wiedervereinigung.


3
2018-02-17 13:25





Ich hatte einen ähnlichen Effekt, als ich die Option 'auth-nocache' zu meiner Client-Konfiguration hinzufügte. Ich benutze Zertifikate und eine Kombination aus Benutzername und Passwort zur Authentifizierung.

Ein paar Mal bemerkte ich in den Verbindungsprotokollen, dass openvpn die folgende Warnung meldete:

WARNUNG: Diese Konfiguration kann Passwörter im Speicher zwischenspeichern - verwenden Sie die   auth-nocache-Option, um dies zu verhindern

Also dachte ich mir, ich werde einfach diese Option hinzufügen und sehen, was passiert. Nun, die obige Warnung verschwindet, aber nach einer Stunde tauchte ein Dialogfeld auf und fragte nach meinem Benutzernamen und meinem Passwort.

Ich habe bemerkt, dass die obige Konfiguration von Andrew diese Option nicht enthält, daher bin ich etwas verwirrt, warum das Passwort nicht zwischengespeichert wird. Vielleicht liegt das daran, dass ich eine neuere Version von openvpn verwende oder vielleicht kann es auf der Server-Konfiguration gesetzt werden, um diese Option auf den Client zu übertragen.

Dies war zu sehen auf: OpenVPN 2.2.1-8 + deb7u2 mit OpenVPN GUI v5 für Windows.


2
2017-07-10 01:27



Ich muss eine Datei mit openvpn erzeugen und dann die auth-nocache Option hinzufügen. Jetzt funktioniert es perfekt. Die erzeugte Datei kann als verwendet werden - crsuarezf
@ingcarlos Schön zu hören, dass es für dich funktioniert. Glücklich vpn-ing. - captcha
+1 Absolut, ich hatte das gleiche Problem nach dem Hinzufügen keine Cache-Direktive. - Mohammed Noureldin