OpenVPN probéiert no engem TLS-Fehler ëmmer erëm: wéi een et stoppt
En TLS-Fehler gëtt standardméisseg nei probéiert, dofir zykelt de Client a fir den éischte Fehler aus dem Bléck. tls-exit mécht datt en erausgeet; kontrolléiert wat en nei start.
De Client verbënnt, schléit während der TLS-Verhandlung fehl, waart a probéiert dee selwechte Server nach eng Kéier mat deem selwechte Resultat. Ënner engem Iwwerwaacher, deen e gescheiterten Prozess nei start, ginn déi Versich eng endlos Schlëff am Journal, a fir den éischten diagnosteschen Zeil geréit aus dem Bléck. OpenVPN huet eng Optioun, déi dee Verhandlungsfehler an en sichtbaren Erausgoen ëmwandelt amplaz nach en Versuch. Et ass eng Astellung fir Diagnos a Iwwerwaachung, keng Reparatur, also kombinéiert se mat enger Politik, déi de Prozess wierklech ënnen bleiwe léisst.
Den Zyklus, deen den éischte Fehler verstoppt
Wat Dir gesitt ass en erëmkommende Block an net een eenzegen Ausfall: e Verbindungsversuch, en TLS-Fehler, eng Paus an duerno déi selwecht Rei. All Erëmhuelung dréckt den ursprénglechen Zeil méi wäit erop am Journal. Wann d'Eenheet bei engem Ausfall nei start, kann den Zyklus Stonne laang weidergoen, ouni datt een d'Ursaach liest. D'Symptom ass d'Schläff, obwuel de Grondfehler ee eenzelt Verhandlungsproblem ass.
Interaktiv Sessiounen halen dat aus, well en temporäre Fehler beim nächsten Versuch ka fort sinn. Automatesch Verbindungen kënnen sech deen Optimismus net leeschten: de Prozess muss stoppen, fir datt en Mënsch oder en Monitor de Status gesäit.
Ier Dir eppes ännert, hält een ganze Zyklus fest. Notéiert d'Géigenadress, d'TLS-Stuf déi am Fehler genannt gëtt an ob de Prozess iwwerhaapt erausgeet.
D'Erëmversuch-Mechanik hannert der Schläff
Erëmprobéieren ass de Standard, well e puer onofhängeg Timeouts déiselwecht Mechanik deelen. connect-retry setzt den Ofstand tëscht Verbindungsversich, connect-retry-max kann begrenzen wéi dacks all entfernt Andrag probéiert gëtt, an resolv-retry regelt erëmhuelte Nummensich. En TLS-Verhandlungsfehler erreecht déi Mechanik als Transportevenement, dofir plangt de Client nach en Versuch amplaz ze mellen. Den Standard hëlleft bei enger onstabiler Verbindung a schuet engem Fehler, deen net ka heelen.
D'Optioun --tls-exit ännert just de Verhandlungsfall. D'Handbuch beschreift se als Erausgoen bei engem TLS-Verhandlungsfehler, wat méi enk ass wéi Erausgoen bei all Fehler. Timeouts, Resolver-Fehler an Authentifikatiouns-Oflehnungen behalen hiert eegent Verhalen.
De Client bei engem TLS-Fehler erausgoen loossen
Setzt tls-exit an de Profil, deen de Client wierklech lued, oder gitt --tls-exit beim Start, a fuert en eemol am Virdergrond. Liest den Eräusgo-Status souwéi déi lescht Logzeil, well et ass de Status op deen en Iwwerwaacher reagéiert. En Eräusgoen ongläich null no engem Verhandlungsfehler ass dat ugestriecht Resultat. Wann de Prozess weider probéiert amplaz ze schléissen, ass d'Optioun net an deem Profil deen de Client wierklech lued.
Den Iwwerwaacher decidéiert ob deen Eräusgo sichtbar ass. Eng systemd-Eenheet mat Restart=always oder Restart=on-failure start de Client nei, dofir geet d'Schläff weider an d'Optioun gesäit aus wéi wann se näischt mécht. Kontrolléiert d'Politik ier Dir de Client beschëllegt:
systemctl show -p Restart -p RestartSec openvpn-client@office
journalctl -u openvpn-client@office -n 40 --no-pager
Restart=no léisst de Prozess ënnen, an Restart=on-failure start trotzdem nei no engem Status ongläich null. Wann Dir wëllt datt de Fehler sichtbar ass, awer de Service sech vun onofhängege Crash erholt, setzt Restart=on-failure a benotzt StartLimitBurst an StartLimitIntervalSec fir de Neistart-Stuerm ze stoppen. Liest duerno den Status vun der Eenheet fir de leschte Eräusgo-Code ze bestätegen: systemctl status mellt en, an de Journal behält den éischte Fehler iwwer de Neistarts.
Schreift d'Entscheedung an d'Eenheet oder an d'Profilnotizen. E Profil deen bei engem TLS-Fehler erausgeet gesäit fir déi nächst Persoun aus wéi en Accident, ausser de Grond ass festgehalen. Gitt un wéi eng Fehler de Prozess solle stoppen a wéi eng nei probéiert solle ginn.
Beweist et mat engem temporären Endpunkt
Fir d'Verhalen ze gesinn ier Dir et vertraut, kopéiert de Profil an riicht d'Kopie op en Endpunkt deen eng TCP-Verbindung unhëlt awer ni OpenVPN schwätzt. Et duergt en Nolauschterer deen äntwert an da stëll bleift. Mat tls-exit sollt de Client schléissen wann den Handshake feelt; ouni et sollt dee selwechte Profil weider zykelen. Benotzt d'Kopie, ni de funktionéierende Profil.
Vergläicht déi zwee Lafen um Eräusgo-Status an um éischten Fehlerzeil, net dorun wéi laang jiddwereen gedauert huet. De Status seet ob d'Optioun ausgeléist huet, an den éischte Zeil seet wéi eng Stuf fehlgeschloen ass.
Entfernt de Testprofil wann Dir fäerdeg sidd. Eng Kopie mat engem bewosst falschen Endpunkt ass eng Fal fir jiddwereen dee méi spéit all Profil am Verzeechnis start.
Stufen déi dës Optioun ni erreecht
Eng Oflehnung vun der Authentifikatioun ass eng méi spéit Stuf. Wann de Server de Kont bewäert an ofleet, ass TLS schonn ausgemaach, dofir léist tls-exit net aus. D'Erëmversuch-Astellungen vun der Authentifikatioun sinn déi nächst Plaz ze kucken, an de Grond vum Server zielt méi wéi déi lescht Zeil vum Client. En falscht Passwuert an e fehlend Zertifikat kënne client säit ähnlech Message produzéieren.
Eng fehlend Route, en falsche Resolver oder en onereechbare Gateway sinn och ausserhalb vun der Optioun, well et keng Verhandlungsfehler sinn. Stille Paketverloscht ass dee mannst kloere Fall: jee no wéi wäit den Austausch komm ass, kann de Client e Verhandlungsfehler mellen oder einfach an en Timeout lafen.
Halt den Ënnerscheed an Ären Notizen. D'Astellung ass fir Diagnos an Iwwerwaachung an net fir Reparatur, dofir reparéiert se eng Cipher-Divergenz, e Zertifikatsproblem oder en falsche Port net. Reparéiert fir d'éischt d'Ursaach vun der gescheiterter Verhandlung, decidéiert dann ob en direkten Eräusgo nach an d'Ausrollung passt.