De rigel werhellet him elke pear sekonden en liket de oarsaak fan alles: in pakket mei de namme control hard reset, dat komt fan in klient dy't nearne komt. It is gjin flater. It is it earste berjocht fan in nije sesje, en de werhelling is in symptoom fan eat oars dat fierderop mislearret. It skieden fan wat it label seit fan wat de ferbining dêrnei die, is de hiele diagnoaze.

De opkoade neamt in posysje yn it protokol

OpenVPN multipliksearret ferskate soarten pakketten oer ien socket, en de opkoade fertelt de ûntfanger hokker soarte er yn 'e hân hat. Hard-reset-pakketten iepenje in sesje, kontrôlepakketten drage hânskútmateriaal, befêstigings befêstigje ûntfangst, en datapakketten drage de lading fan 'e tunnel. It lêzen fan 'e earste byte lit sjen wêr't it pakket yn dy útwikseling heart, en de pakketdefinysjes yn 'e boarnekoade neame elke famylje eksplisyt.

Dat is alles wat it seit. In pakket dat as inisjele klient-reset labelle is, bewiist dat it pakket jo observaasjepunt berikte en dat de peir in sesje begjinne wol. It bewiist net dat de klient jo sertifikaat fertroude, dat syn oanmeldgegevens akseptearre waarden of dat in datakanaal ea brûkber waard.

De efterheaksel V2 is in protokolgeneraasjemarker foar dy pakketfamylje, gjin produktferzje en gjin ynstelling dy't jo ynstallearje. Neat yn 'e namme ferwiist nei it resetten fan in tunnel, it opnij starten fan in tsjinst of it leegjen fan in cache.

Wat de klient op dat stuit eins docht

De klient iepent in sesje-identifikaasje dêr't beide kanten it folgjende kontrôleferkear oan fêstmeitsje. As de beskerming fan it kontrôlekanaal konfigurearre is, draacht dat earste pakket al de HMAC dy't de ûntfanger beslisse lit oft der muoite dien wurde moat oan 'e rest fan 'e útwikseling. In ûntfanger dy't it net ferifiearje kin, smyt it pakket stilwei fuort, en dêrom liket in ferkearde dielde kaai op in klient dy't yn 'e leechte praat.

Der is noch neat bard dat de brûker sjen kin. Gjin sertifikaat is falidearre, gjin brûkersnamme is oanbean en gjin tunneladres is tawiisd. De reset is de foarriede fan 'e hânskut, dus elk oardiel oer de ferbining is op dit punt foartiidich.

Foar in idle ferbiningwerhellingslus is it ynteressante detail it ynterval. In klient dy't op in fêste syklus opnij besiket sûnder foarút te kommen, wurdt meastentiids wegere foar't er foarút kin, en de reden stiet yn it log fan 'e peir, net yn 'e namme fan it pakket.

Wêr't de echte flater nei de reset ferskûlet

Lês de twa logs njonkeninoar en fyn it earste barren dat gjin reset is. By de klient wurdt in mislearring fan sertifikaatferifikaasje mei de krekte reden rapportearre: in ferrûn sertifikaat, in nammemiskwaad of in ûnbekende útjouwer. By de tsjinner wurdt in wegering fan oanmeldgegevens rapportearre as autentikaasjemislearring mei syn eigen reden. Beide binne folle krekter as de werhelle blik fan 'e tsjinner op nije besykjen.

Keppelje ien besykjen oan in tiidstimpel ynstee fan elk log apart te lêzen, want deselde mislearring ferskynt op beide plakken mei oare wurden en oare swierrichheid. De peir dy't opjout, seit meastentiids wêrom.

As gjin fan beide kanten in wegering rapportearret en de útwikseling dochs fêstrint, is de grins berikberens en net fertrouwen. In brânmuorre dy't de weromrjochting fuortsmyt, in apparaat foar netwurkadresfertaling dy't de mapping ferrinne lit, of in MTU-probleem dat gruttere hânskútpakketten deamelet, produsearje allegear in fêstrûne útwikseling sûnder ek mar ien autentikaasjeflater.

grep -nE 'VERIFY|AUTH_FAILED|TLS Error|SIGUSR1' /var/log/openvpn*.log

Dy syktocht is op himsels gjin diagnoaze, mar hy ferpleatst jo yn ien stap fan protokolwurdskat nei in echte flaterklasse.

Wêrom't it útskeakeljen fan ferifikaasje de ferkearde refleks is

As de reset hieltyd ferskynt, is de fluchste oplossing dy't sa liket it útskeakeljen fan sertifikaatferifikaasje of it loslitten fan 'e beskerming fan it kontrôlekanaal, sadat eat ferbynt. Dat ruilet in diagnoazeberbere flater foar in net-diagnoazeberbere, en lit de ynset akseptearje fan peiren dy't it boud wie om te wegerjen.

Feroarje ynstee de grins dy't echt mislearre. In fertrouwensprobleem heart by de sertifikaatautoriteit en it profyl dat dêrnei ferwiist. In tiidprobleem heart by de klok. In oanmeldprobleem heart by it autentikaasje-backend dat it wegere, en in net-berikbere peir heart by it paad tusken de twa hosts.

De opkoade is yn in stipepetear foar ien ding nuttich: hy fertelt jo dat de peir fier genôch kaam om it te besykjen. Wat dêrnei barde, is wat jo witte moatte, en dat stiet yn it log dat de earste konkrete wegering fêstleit. Begjin dêr, en de resetrigel hâldt op om op in oarsaak te lykjen en begjint op in tiidstimpel te lykjen.

Relatearre artikelen