Klient ühendub, ebaõnnestub TLS-i läbirääkimiste ajal, ootab ja proovib sama serverit uuesti sama tulemusega. Järelvalvaja all, mis taaskäivitab ebaõnnestunud protsessi, muutuvad need katsed lõputuks tsükliks logis ja esimene diagnostikarida kaob silmist. OpenVPN-il on valik, mis muudab selle läbirääkimise tõrke nähtavaks väljumiseks, mitte veel üheks katseks. See on diagnostika- ja järelevalvesäte, mitte parandus, seega siduge see poliitikaga, mis tõesti laseb protsessil all jääda.

Tsükkel, mis peidab esimese vea

See, mida näete, on korduv plokk, mitte üks tõrge: ühenduskatse, TLS-viga, paus ja siis sama jada. Iga kordus lükkab algse rea logis üha kõrgemale. Kui üksus taaskäivitub tõrke korral, võib tsükkel jätkuda tunde, ilma et keegi põhjust loeks. Sümptom on tsükkel, kuigi tegelik viga on üksainus läbirääkimisprobleem.

Interaktiivsed sessioonid taluvad seda, sest mööduv tõrge võib järgmisel katsel kaduda. Automatiseeritud ühendused ei saa endale sama optimismi lubada: protsess peab peatuma, et inimene või monitor näeks olekut.

Enne kui midagi muudate, jäädvustage üks täielik tsükkel. Märkige üles kaugadress, veas nimetatud TLS-i etapp ja kas protsess üldse väljub.

Tsükli taga olev kordusmehhanism

Kordamine on vaikimisi, sest mitmed omavahel mitteseotud ajalõpud jagavad sama mehhanismi. connect-retry määrab ühenduskatsete vahelise vahe, connect-retry-max saab piirata, kui tihti iga kaugkirjet proovitakse, ja resolv-retry juhib korduvaid nimeotsinguid. TLS-i läbirääkimise tõrge jõuab selle mehhanismini transpordisündmusena, seega ajastab klient teatamise asemel veel ühe katse. Vaikeväärtus aitab ebakindla lingi puhul ja kahjustab vea puhul, mida ei saa parandada.

Valik --tls-exit muudab ainult läbirääkimise juhtu. Käsiraamat kirjeldab seda väljumisena TLS-i läbirääkimise tõrke korral, mis on kitsam kui igal veal väljumine. Ajalõpud, resolveri tõrked ja autentimisest keeldumised säilitavad oma käitumise.

Panna klient TLS-i tõrke korral väljuma

Pange tls-exit profiili, mille klient tegelikult laadib, või andke käivitamisel --tls-exit, ja käivitage see üks kord esiplaanil. Lugege väljumisolekut ja viimast logirida, sest olek on see, millele järelvalvaja reageerib. Nullist erinev väljumine läbirääkimise tõrke järel on soovitud tulemus. Kui protsess jätkab kordamist lõpetamise asemel, ei ole valik profiilis, mille klient tegelikult laadib.

Järelvalvaja otsustab, kas see väljumine on nähtav. systemd-üksus valikuga Restart=always või Restart=on-failure käivitab kliendi uuesti, seega tsükkel jätkub ja valik näib mitte midagi tegevat. Kontrollige poliitikat enne, kui klienti süüdistate:

systemctl show -p Restart -p RestartSec openvpn-client@office
journalctl -u openvpn-client@office -n 40 --no-pager

Restart=no laseb protsessil all jääda ja Restart=on-failure taaskäivitab siiski nullist erineva oleku järel. Kui soovite, et tõrge oleks nähtav, kuid teenus taastuks mitteseotud krahhidest, määrake Restart=on-failure ja kasutage taaskäivituste tormi peatamiseks StartLimitBurst ja StartLimitIntervalSec. Seejärel lugege üksuse olekut, et kinnitada viimane väljumiskood: systemctl status teatab selle ja logi hoiab esimest viga taaskäivituste kohal.

Kirjutage otsus üksusesse või profiili märkmetesse. Profiil, mis väljub TLS-i tõrke korral, tundub järgmisele inimesele õnnetusena, kui põhjus pole kirjas. Märkige, millised tõrked peaksid protsessi peatama ja milliseid tuleks korrata.

Tõestage seda ühekordse lõpp-punktiga

Käitumise nägemiseks enne selle usaldamist kopeerige profiil ja suunake koopia lõpp-punktile, mis võtab vastu TCP-ühenduse, kuid ei räägi kunagi OpenVPN-i. Piisab kuulajast, mis vastab ja jääb siis vait. Valikuga tls-exit peaks klient lõppema, kui käepigistus ebaõnnestub; ilma selleta peaks sama profiil edasi tsükleerima. Kasutage koopiat, mitte kunagi tööprofiili.

Võrrelge kahte käivitust väljumisoleku ja esimese vearea järgi, mitte selle järgi, kui kaua kumb kestis. Olek ütleb, kas valik rakendus, ja esimene rida ütleb, milline etapp ebaõnnestus.

Eemaldage testprofiil, kui olete valmis. Tahtlikult vale lõpp-punktiga koopia on lõks kõigile, kes hiljem iga profiili kataloogis käivitavad.

Etapid, milleni see valik kunagi ei jõua

Autentimisest keeldumine on hilisem etapp. Kui server hindab kontot ja keeldub sellest, on TLS juba läbi räägitud, seega tls-exit ei rakendu. Autentimise kordusseaded on järgmine koht, kuhu vaadata, ja serveri põhjus kaalub rohkem kui kliendi viimane rida. Vale parool ja puuduv sertifikaat võivad kliendi poolel anda sarnaseid teateid.

Puuduv marsruut, vale resolver või kättesaamatu lüüs on samuti valikust väljas, sest need ei ole läbirääkimise tõrked. Vaikne paketikaotus on kõige vähem ilmne juhtum: sõltuvalt sellest, kui kaugele vahetus jõudis, võib klient teatada läbirääkimise tõrkest või lihtsalt ajalõpu saada.

Hoidke eristus oma märkmetes. Säte on diagnostikaks ja järelevalveks, mitte paranduseks, seega see ei paranda šifri erinevust, sertifikaadiprobleemi ega valet porti. Parandage esmalt ebaõnnestunud läbirääkimise põhjus ja otsustage seejärel, kas kohene väljumine sobib juurutusele endiselt.

Seotud artiklid