WireGuard gali vienu metu turėti naują pasisveikinimą ir neturėti adreso, ir ši būsena yra nuosekli, o ne prieštaringa. Pasisveikinimas yra priešinės pusės įvykis, adresas priklauso sąsajai, o maršrutas nusprendžia, kuriuo viršutiniu kanalu paketas išeis. Trys sluoksniai, trys savininkai, ir kiekvienas gali sugesti, kol kiti du atrodo sveiki.

Jų skaitymas kaip vienos būsenos paverčia dviejų minučių diagnostiką visu popiete, praleistu perkraunant paslaugas.

Pasisveikinimas yra priešinės pusės įvykis, o ne adresavimo įvykis

WireGuard pasisveikinimas įrodo, kad sukonfigūruota priešinė pusė atsakė galiojančiu raktu ir kad sesijos raktai yra aktualūs. Jis nieko nesako apie vietinį sąsajos adresą, nei apie tai, ar koks nors maršrutas ten veda. Adresą priskiria pagalbinė priemonė arba tinklo tvarkyklė, o protokolo konfigūracija tik įvardija priešines puses ir raktus. Šių dviejų painiojimas yra priežastis, kodėl sveikas pasisveikinimas skaitomas kaip veikiantis tunelis.

Todėl wg show gali pranešti apie sekundžių senumo pasisveikinimą sąsajoje, kuri negali priimti nė vieno programos paketo.

Tvarkyklė, kuri iš naujo sukuria sąsają, gali numesti adresą neliesdama priešinės pusės konfigūracijos, ir kitas pasisveikinimas iš karto pavyksta, nes raktai niekada nepasikeitė. Žurnalo eilutė apie sėkmingą pasisveikinimą yra tiksli ir nesusijusi su gedimu.

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

Sąsajos adresas turi savo savininką

Tunelio įrenginio adresas gali ateiti iš pagalbinės priemonės Address eilutės, iš DHCP kliento, veikiančio sąsajoje, arba iš valdymo tarnybos, kuri jį sukuria prisijungimo metu. Kad ir kas tai būtų, tas komponentas valdo adresą ir jį atkurs arba ne pagal savo logiką. Adreso skaitymas neįvardijant jo savininko palieka jus be paaiškinimo, kodėl jis dingo.

Du savininkai vienoje sąsajoje yra klasikinis gedimas. Pagalbinės priemonės ir darbalaukio tinklo tvarkyklės paleidimas tame pačiame įrenginyje sukuria lenktynes, kuriose vienas pašalina tai, ką kitas ką tik sukonfigūravo, o galinis taškas visą laiką atsakinėja.

Pasirinkite vieną savininką ir leiskite kitai priemonei stebėti, o ne valdyti. Šį sprendimą verta užrašyti, nes simptomas pasirodo po savaičių ir atrodo kaip atsitiktinis adreso praradimas.

Maršrutas pasirenka viršutinį kanalą, o ne sąsaja

Vidinis maršrutas, nukreiptas į wg0, nusprendžia, kad srautas patenka į tunelį. Atskiras sprendimas siunčia užšifruotus išorinius paketus priešinės pusės link, o mazge su keliais viršutiniais kanalais tas sprendimas ateina iš perdavimo lentelės ir politikos taisyklių. Wi-Fi roamingas gali pakeisti išorinį kelią neliesdamas vidinio adreso.

Taigi veikiantis tunelis ir nepasiekiama priešinė pusė yra suderinamos būsenos, kaip ir teisinga priešinė pusė su sugedusiu vidiniu maršrutu. Trys stebėjimai turi būti imami kartu, tuo pačiu metu, kitaip palyginimas neturi prasmės.

Palyginkite tris būsenas vienu ėjimu

Trys tik skaitymo komandos atsako į tris klausimus ta tvarka, kuri gedimą išskiria greičiausiai. Vykdykite jas nieko tarp jų nekeisdami.

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

Pirmoji parodo, ar sąsaja apskritai turi adresą, o antroji parodo, kurį įrenginį konkretus tikslas naudotų dabar. Trečioji praneša paskutinio pasisveikinimo laiką ir baitų skaitiklius, ir ji vienintelė iš trijų apibūdina priešinę pusę, o ne vietinį mazgą.

Skaitykite skaitiklius ir laiko žymą. Pasisveikinimas, kuris nuolat atnaujinamas, kol perdavimas stovi vietoje, reiškia, kad priešinė pusė atsako, bet nieko naudingo nepereina, o tai rodo maršrutizavimą arba ACL, o ne raktus. Laiko žyma, kuri nustoja judėti į priekį esant adresui, rodo aukštyn. Abi išvados ateina iš tos pačios išvesties eilutės, ir nė viena nematoma, jei tik tikrinate, ar pasisveikinimas egzistuoja.

Ištaisykite konkrečią būseną, kuri yra neteisinga, tada išbandykite programą, o ne tunelį. Naujas pasisveikinimas yra įrodymas apie priešinę pusę, o įrodymas apie priešinę pusę nėra įrodymas, kad kitas jūsų naršyklės prašymas ras adresą, maršrutą ir veikiantį viršutinį kanalą. wg-quick vadovas aiškiai nurodo, kuriuos iš jų nustato pagalbinė priemonė, o kurie priklauso protokolui.

Susiję straipsniai