Линијата се повторува на неколку секунди и изгледа како причина за сè: пакет наречен control hard reset, што доаѓа од клиент што никаде не стигнува. Тоа не е грешка. Тоа е првата порака на нова сесија, а повторувањето е симптом на нешто друго што пропаѓа понатаму. Одделувањето на тоа што го вели етикетата од тоа што го направи врската потоа е целата дијагноза.

Опкодот означува позиција во протоколот

OpenVPN мултиплексира неколку видови пакети преку еден сокет, а опкодот му кажува на примачот кој вид го држи. Пакетите hard-reset отвораат сесија, контролните пакети носат материјал за ракување, потврдите го потврдуваат приемот, а податочните пакети го носат товарот на тунелот. Читањето на првиот бајт покажува каде припаѓа пакетот во таа размена, а дефинициите на пакетите во изворниот код го именуваат секое семејство експлицитно.

Тоа е сè што вели. Пакет означен како почетен ресет на клиентот докажува дека пакетот стигнал до вашата точка на набљудување и дека партнерот сака да започне сесија. Не докажува дека клиентот му верувал на вашиот сертификат, дека неговите акредитиви биле прифатени или дека податочниот канал некогаш станал употреблив.

Наставката V2 е ознака за генерација на протоколот за тоа семејство пакети, не верзија на производ и не поставка што ја инсталирате. Ништо во името не се однесува на ресетирање на тунел, рестартирање на услуга или чистење на кеш.

Што всушност прави клиентот во тој момент

Клиентот отвора идентификатор на сесија на кој двете страни ќе го прикачат следниот контролен сообраќај. Кога е конфигурирана заштита на контролниот канал, тој прв пакет веќе го носи HMAC-от што му овозможува на примачот да одлучи дали вреди да потроши труд на остатокот од размената. Примач што не може да го провери тивко го отфрла пакетот, и затоа погрешен заеднички клуч изгледа како клиент што зборува во празно.

Ништо видливо за корисникот сè уште не се случило. Ниту еден сертификат не е валидиран, ниту едно корисничко име не е понудено и ниту една адреса на тунел не е доделена. Ресетот е преамбула на ракувањето, па секоја проценка за врската во овој момент е предвремена.

За празна јамка за повторно поврзување, интересниот детаљ е интервалот. Клиент што повторно се обидува во фиксен циклус без напредок обично се одбива пред да може да напредува, а причината е во дневникот на партнерот, не во името на пакетот.

Каде се крие вистинската грешка по ресетот

Читајте ги двата дневника еден до друг и најдете го првиот настан што не е ресет. Кај клиентот, неуспехот при валидација на сертификатот се пријавува со конкретната причина: истечен сертификат, несовпаѓање на името или непознат издавач. Кај серверот, одбивањето на акредитивите се пријавува како неуспех при автентикација со сопствена причина. Двете се далеку поконкретни од повторениот поглед на серверот врз новите обиди.

Спојте еден обид по временска ознака наместо да го читате секој дневник изолирано, бидејќи истиот неуспех се појавува на двете места со различен зборовен израз и различен степен. Партнерот што се откажува обично кажува зошто.

Ако ниту една страна не пријавува одбивање, а размената сè уште застанува, границата е достапноста, а не довербата. Огноотпорен ѕид што го отфрла повратниот правец, уред за превод на мрежни адреси што ја истекува картата или проблем со MTU што ги убива поголемите пакети за ракување, сите создаваат застаната размена без воопшто грешка при автентикација.

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

Тоа пребарување не е дијагноза само по себе, но ве поместува од речникот на протоколот кон вистинска класа на дефект во еден чекор.

Зошто исклучувањето на проверката е погрешен рефлекс

Кога ресетот продолжува да се појавува, најбрзото решение по изглед е да ја исклучите валидацијата на сертификати или да се откажете од заштитата на контролниот канал за да се поврзе нешто. Тоа заменува дефект што може да се дијагностицира со таков што не може, и го остава распоредувањето да прифаќа партнери што било изградено да ги одбива.

Наместо тоа, сменете ја границата што навистина пропаднала. Проблемот со довербата им припаѓа на сертификатното тело и на профилот што го наведува. Проблемот со времето му припаѓа на часовникот. Проблемот со акредитивите му припаѓа на бекендот за автентикација што ги одбил, а недостапниот партнер му припаѓа на патот меѓу двата домаќини.

Опкодот е корисен во разговор со поддршката за една работа: ви кажува дека партнерот отишол доволно далеку за да се обиде. Што се случило потоа е она што треба да го знаете, и тоа е запишано во оној дневник што го бележи првото конкретно одбивање. Започнете од таму, и линијата за ресет престанува да изгледа како причина и почнува да изгледа како временска ознака.

Поврзани статии