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

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

Ракувањето е настан на партнерот, а не настан на адресирање

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

Затоа wg show може да пријави ракување старо неколку секунди на интерфејс што не може да прими ниту еден пакет од апликација.

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

ObservationWhich layer it belongs toWrong conclusion it invites
Handshake a few seconds oldPeer and keysThe tunnel is usable for application traffic
Address present on wg0Interface configurationTraffic actually egresses through it
Route points at wg0Forwarding tableThe outer packet uses the intended uplink

Адресата на интерфејсот има свој сопственик

Адресата на тунелскиот уред може да дојде од Address редот на помошник, од DHCP клиент што работи на интерфејсот, или од демон за управување што ја создава при поврзување. Што и да е, таа компонента ја поседува адресата и ќе ја врати или не според сопствената логика. Читањето на адресата без да се именува нејзиниот сопственик ве остава без објаснување зошто исчезнала.

Два сопственици на еден интерфејс сѐ уште е класичниот дефект. Стартувањето на помошник и на десктоп мрежен менаџер над истиот уред создава трка во која едниот го отстранува тоа што другиот штотуку го конфигурирал, а крајната точка продолжува да одговара цело време.

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

Рутата избира горен канал, а не интерфејсот

Внатрешна рута што покажува на wg0 одлучува дека сообраќајот влегува во тунелот. Одделна одлука ги праќа шифрираните надворешни пакети кон партнерот, и на домаќин со неколку горни канали таа одлука доаѓа од табелата за препраќање и од правилата за политика. Wi-Fi роамингот може да го смени надворешниот пат без да ја допре внатрешната адреса.

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

Споредете ги трите состојби во еден премин

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

ip address show dev wg0
ip route get 10.80.0.1
wg show wg0 latest-handshakes transfer

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

Читајте ги бројачите, како и временската ознака. Ракување што постојано се обновува додека преносот стои рамно значи дека партнерот одговара, но ништо корисно не поминува, што упатува на рутирање или на ACL, а не на клучеви. Временска ознака што престанува да напредува додека има адреса упатува нагоре. Двете читања доаѓаат од истиот излезен ред, и ниту едно не се гледа ако само проверувате дали постои ракување.

Исправете ја конкретната состојба што е погрешна, потоа повторно тестирајте ја апликацијата, а не тунелот. Свежото ракување е доказ за партнерот, а доказот за партнерот не е доказ дека следното барање од вашиот прелистувач ќе најде адреса, рута и горен канал што работи. Прирачникот за wg-quick јасно кажува кое од тоа го поставува помошникот и кое му припаѓа на протоколот.

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