Linija se ponavlja svakih nekoliko sekundi i izgleda kao uzrok svega: paket nazvan control hard reset, koji dolazi od klijenta koji nikamo ne stiže. To nije greška. To je prva poruka nove sesije, a ponavljanje je simptom nečeg drugog što kasnije pada. Razdvajanje onoga što oznaka kaže od onoga što je veza učinila poslije cijela je dijagnoza.

Opkod imenuje položaj u protokolu

OpenVPN multipleksira nekoliko vrsta paketa preko jednog socketa, a opkod govori primatelju koju vrstu drži. Hard-reset paketi otvaraju sesiju, kontrolni paketi nose materijal rukovanja, potvrde potvrđuju primitak, a podatkovni paketi nose teret tunela. Čitanje prvog bajta pokazuje gdje u toj razmjeni paket pripada, a definicije paketa u izvornom kodu imenuju svaku familiju izričito.

To je sve što govori. Paket označen kao početni reset klijenta dokazuje da je paket stigao do vaše točke promatranja i da druga strana želi započeti sesiju. Ne dokazuje da je klijent povjerovao vašem certifikatu, da su njegove vjerodajnice prihvaćene ili da je podatkovni kanal ikada postao upotrebljiv.

Sufiks V2 oznaka je generacije protokola za tu familiju paketa, a ne verzija proizvoda i ne postavka koju instalirate. Ništa u imenu ne odnosi se na resetiranje tunela, ponovno pokretanje servisa ili čišćenje predmemorije.

Što klijent zapravo radi u tom trenutku

Klijent otvara identifikator sesije na koji će obje strane prikačiti sljedeći kontrolni promet. Kada je konfigurirana zaštita kontrolnog kanala, taj prvi paket već nosi HMAC koji primatelju omogućuje da odluči hoće li uložiti trud u ostatak razmjene. Primatelj koji ga ne može provjeriti tiho odbacuje paket, zbog čega pogrešan zajednički ključ izgleda kao klijent koji govori u prazno.

Ništa vidljivo korisniku još se nije dogodilo. Nijedan certifikat nije validiran, nijedno korisničko ime nije ponuđeno i nijedna adresa tunela nije dodijeljena. Reset je preambula rukovanja, pa je svaka prosudba veze u ovom trenutku preuranjena.

Za praznu petlju ponovnog povezivanja zanimljiv je detalj interval. Klijent koji pokušava ponovno u fiksnom ciklusu bez napretka obično se odbija prije nego što može napredovati, a razlog je u dnevniku druge strane, a ne u imenu paketa.

Gdje se skriva pravi kvar nakon reseta

Pročitajte dva dnevnika jedan uz drugi i pronađite prvi događaj koji nije reset. Kod klijenta se neuspjeh validacije certifikata prijavljuje s konkretnim razlogom: istekao certifikat, nesklad imena ili nepoznat izdavatelj. Na poslužitelju se odbijanje vjerodajnica prijavljuje kao neuspjeh autentifikacije s vlastitim razlogom. Oba su daleko konkretnija od ponovljenog pogleda poslužitelja na nove pokušaje.

Uparite jedan pokušaj po vremenskoj oznaci umjesto čitanja svakog dnevnika izolirano, jer se isti neuspjeh pojavljuje na oba mjesta s različitom formulacijom i različitom težinom. Strana koja odustaje obično navede zašto.

Ako nijedna strana ne prijavljuje odbijanje, a razmjena i dalje staje, granica je dostupnost, a ne povjerenje. Vatrozid koji odbacuje povratni smjer, uređaj za prevođenje mrežnih adresa kojem ističe mapiranje ili problem s MTU-om koji ubija veće pakete rukovanja svi stvaraju zaglavljenu razmjenu bez ikakve greške autentifikacije.

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

Ta pretraga nije dijagnoza sama po sebi, ali vas u jednom koraku premješta iz protokolnog rječnika u stvarnu klasu kvara.

Zašto je ukidanje provjere pogrešan refleks

Kada se reset stalno pojavljuje, najbrže rješenje na izgled je isključiti validaciju certifikata ili odustati od zaštite kontrolnog kanala da se nešto poveže. To mijenja dijagnosticiran kvar za nedijagnosticiran i ostavlja implementaciju da prihvaća strane koje je napravljena da odbije.

Promijenite umjesto toga granicu koja je zaista pala. Problem povjerenja pripada certifikacijskom tijelu i profilu koji ga referencira. Problem vremena pripada satu. Problem vjerodajnica pripada autentifikacijskom backendu koji ih je odbio, a nedostupna strana pripada putu između dva hosta.

Opkod je u razgovoru s podrškom koristan za jednu stvar: govori vam da je druga strana otišla dovoljno daleko da pokuša. Ono što se dogodilo poslije trebate znati, i to je zapisano u onom dnevniku koji bilježi prvo konkretno odbijanje. Pođite odatle, i linija reseta prestaje izgledati kao uzrok i počinje izgledati kao vremenska oznaka.

Povezani članci