Радок паўтараецца кожныя некалькі секунд і выглядае прычынай усяго: пакет з назвай control hard reset, які прыходзіць ад кліента, што нікуды не дабіраецца. Гэта не памылка. Гэта першае паведамленне новага сеансу, а паўтор — сімптом таго, што нешта іншае не спраўляецца далей. Аддзяленне таго, што кажа назва, ад таго, што зрабіла злучэнне пасля, і ёсць увесь дыягназ.

Код аперацыі пазначае месца ў пратаколе

OpenVPN мультыплексуе некалькі відаў пакетаў праз адзін сокет, і код аперацыі паведамляе атрымальніку, які від ён трымае. Пакеты hard-reset адкрываюць сеанс, кіравальныя пакеты нясуць матэрыял рукапаціскання, пацверджанні пацвярджаюць атрыманне, а пакеты даных нясуць карысную нагрузку тунеля. Чытанне першага байта паказвае, дзе ў гэтым абмене знаходзіцца пакет, а азначэнні пакетаў у зыходным кодзе называюць кожнае сямейства яўна.

Гэта ўсё, што ён кажа. Пакет, пазначаны як пачатковы скід кліента, даказвае, што пакет дайшоў да вашай кропкі назірання і што апанент хоча пачаць сеанс. Ён не даказвае, што кліент даверыўся вашаму сертыфікату, што яго ўліковыя даныя былі прынятыя ці што канал даных калі-небудзь стаў прыдатным.

Суфікс V2 — гэта маркер пакалення пратакола для гэтага сямейства пакетаў, а не версія прадукту і не налада, якую вы ўсталёўваеце. Нішто ў назве не адносіцца да скіду тунеля, перазапуску службы або ачысткі кэша.

Што кліент насамрэч робіць у гэты момант

Кліент адкрывае ідэнтыфікатар сеансу, да якога абодва бакі будуць далучаць наступны кіравальны трафік. Калі наладжаная ахова кіравальнага канала, першы пакет ужо нясе HMAC, які дазваляе атрымальніку вырашыць, ці варта марнаваць намаганні на рэшту абмену. Атрымальнік, які не можа яго праверыць, маўкліва адкідвае пакет, і таму няправільны агульны ключ выглядае як кліент, які гаворыць у пустату.

Нічога бачнага для карыстальніка яшчэ не адбылося. Ні адзін сертыфікат не быў правераны, ні адно імя карыстальніка не было прапанавана і ні адзін адрас тунеля не быў прызначаны. Скід — гэта прэамбула рукапаціскання, таму любое меркаванне пра злучэнне ў гэты момант заўчаснае.

Для пустой пятлі перападключэння цікавая дэталь — інтэрвал. Кліент, які паўтарае спробы з фіксаваным цыклам без прагрэсу, звычайна адхіляецца раней, чым можа прасунуцца, а прычына ў журнале апанента, а не ў назве пакета.

Дзе хаваецца сапраўдны збой пасля скіду

Чытайце два журналы побач і знайдзіце першую падзею, якая не з'яўляецца скідам. У кліента збой праверкі сертыфіката паведамляецца з канкрэтнай прычынай: скончаны сертыфікат, несупадзенне імені або невядомы выдавец. На серверы адмова ўліковых даных паведамляецца як збой аўтэнтыфікацыі з уласнай прычынай. Абодва значна канкрэтнейшыя за паўторны погляд сервера на новыя спробы.

Суппастаўце адну спробу па часе, а не чытайце кожны журнал асобна, бо той самы збой з'яўляецца ў абодвух месцах з рознымі фармулёўкамі і рознай сур'ёзнасцю. Апанент, які здаецца, звычайна называе прычыну.

Калі ні адзін бок не паведамляе пра адмову, а абмен усё яшчэ стаіць, мяжа — дасяжнасць, а не давер. Міжсеткавы экран, які адкідвае зваротны кірунак, прылада трансляцыі сеткавых адрасоў, якая сканчае адлюстраванне, або праблема MTU, якая забівае буйнейшыя пакеты рукапаціскання, — усё гэта дае спынены абмен без адзінай памылкі аўтэнтыфікацыі.

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

Гэты пошук сам па сабе не дыягназ, але ён за адзін крок пераносіць вас ад слоўніка пратакола да рэальнага класа збою.

Чаму адключэнне праверкі ахвяруе дыягназам

Калі скід працягвае з'яўляцца, самае хуткае на выгляд рашэнне — адключыць праверку сертыфіката або адмовіцца ад аховы кіравальнага канала, каб нешта падключылася. Гэта мяняе дыягнастуемы збой на недыягнастуемы і пакідае разгортванне прымаць тых апанентаў, якіх яно было пабудавана адхіляць.

Змяніце замест гэтага мяжу, якая сапраўды не спрацавала. Праблема даверу належыць цэнтру сертыфікацыі і профілю, які на яго спасылаецца. Праблема часу належыць гадзінніку. Праблема ўліковых даных належыць бэкенду аўтэнтыфікацыі, які іх адхіліў, а недасяжны апанент належыць шляху паміж двума хастамі.

Код аперацыі карысны ў размове з падтрымкай для аднаго: ён кажа, што апанент зайшоў дастаткова далёка, каб паспрабаваць. Што адбылося пасля — гэта тое, што вам трэба ведаць, і гэта запісана ў тым журнале, які фіксуе першую канкрэтную адмову. Пачніце адтуль, і радок скіду перастане выглядаць прычынай і пачне выглядаць адзнакай часу.

Падобныя артыкулы