Rankos paspaudimo skaitiklis atsinaujina, sąsaja išlaiko savo adresą, o ping į kitą pusę niekur nenukeliauja. Šis derinys klaidina žmones, nes veikiantis rankos paspaudimas atrodo kaip įrodymas, kad tunelis paruoštas. Bet ne: tunelis gali būti visiškai suderėtas ir vis tiek neturėti nė vieno maršruto, kuris nukreiptų srautą į jį, ir tai yra du atskiri darbai, kuriuos atlieka dvi atskiros būsenos dalys. Pataisymas visiškai priklauso nuo to, kurios iš dviejų trūksta, todėl pirmas žingsnis yra tai išsiaiškinti.

wg-quick atlieka abu be prašymo. Įtaisytasis NetworkManager WireGuard palaikymas taip pat pagal numatytuosius nustatymus įdiegia peer maršrutus, o tai susiaurina įtariamuosius iki išjungtos parinkties, kitos maršrutizavimo lentelės arba konfigūracijos, importuotos per ką nors kita.

Patvirtinkite tunelį prieš persekiodami maršrutą

wg show išspausdina sąsają, peer, galinį tašką ir paskutinio rankos paspaudimo amžių, o ip addr show patvirtina, kad adresas yra. Neseniai įvykęs rankos paspaudimas reiškia, kad raktai, galinis taškas ir UDP kelias veikia. Viskas sugedę yra žemiau jų: maršrutizavimas, filtravimas arba vardų skyrimas.

Tada paklauskite branduolio, ką jis darytų su tikru tikslu, o ne hipotetiniu: ip route get 10.42.7.9. Atsakymas įvardija išeinančią sąsają ir šaltinio adresą, kurį paketas neštų. Kai jis įvardija fizinį adapterį, paketas niekada nepatenka į tunelį, kad ir kaip sveikai atrodytų rankos paspaudimas.

AllowedIPs yra filtras ir maršrutų sąrašas

AllowedIPs priešdėliai atlieka du darbus. Jie parenka, kuris peer neša išeinantį tikslą, ir patikrina gaunamų paketų šaltinio adresą, o tai yra šifruoto rakto maršrutizavimo riba. wg-quick jie taip pat valdo automatinį maršrutų diegimą, ir būtent šis papildomas elgesys yra priežastis, kodėl ta pati konfigūracija veikia iš terminalo, o ne iš darbalaukio kliento.

Straipsnio fone esančiu atveju profilis buvo importuotas per trečiosios šalies papildinį, o ne per įtaisytąjį palaikymą, ir sąsaja pakilo be priešdėlio maršruto. Lentelės išvardijimas tai parodo iš karto: ip route show turi tik prijungtą sąsajos adreso maršrutą ir nieko tolimam diapazonui.

Paklauskite, ar peer maršrutai apskritai įjungti

Perskaitykite nuostatą prieš ką nors keisdami: nmcli -f wireguard.peer-routes,ipv4.route-table connection show work-wg. Kai peer-routes rodo no, palaikomas taisymas yra nmcli connection modify work-wg wireguard.peer-routes yes, po kurio reikia prisijungti iš naujo. Vietoj to pridėjus statinį maršrutą, jis veikia iki kito aktyvavimo ir tada tyliai išnyksta. Tas išnykimas ir yra ženklas: maršrutą, kuris kiekvieną rytą grįžta kaip mįslė, įdiegia ne profilis.

Jei parinktis jau įjungta, patikrinkite, ar priešdėlis gyvena kitoje lentelėje, naudodami ip route show table all | grep 10. Maršrutas lentelėje, kuri nėra pagrindinė, nėra dingęs, jis tiesiog nematomas paieškai, kuri žiūri tik į pagrindinę lentelę. Taisykite politikos maršrutizavimą, o ne kraukite ant viršaus pasikartojantį įrašą.

Pridėkite priešdėlį prie ryšio, o ne prie veikiančios sistemos

Ryšių redaktoriuje WireGuard puslapis laiko peer ir jo AllowedIPs, o IPv4 puslapis laiko papildomus maršrutus. Ten pridėtas maršrutas išgyvena prisijungimus iš naujo, nes priklauso profiliui. Komandinėje eilutėje atitikmuo yra pridėti maršrutą prie ryšio tuščio šliuzo forma, o tada nuleisti ir pakelti ryšį, kad pakeitimas būtų pritaikytas.

Pasirinkite siauriausią priešdėlį, apimantį reikiamus mazgus. Tiekėjo pavyzdžio /8 kopijavimas gali praryti vietinius diapazonus, kurie atsitiktinai yra jo viduje, o atsiradę gedimai atrodo kaip sulaužytas tunelis, o ne kaip per platus maršrutas.

Skeltą tunelį nusprendžia priešdėlių sąrašas

Skalto tunelio jungiklio nėra; priešdėlių sąrašas yra sprendimas. Peer, turintis vieną diapazoną biuro LAN ir vieną laboratorijos tinklui, siunčia būtent tuos tikslus per tunelį ir palieka visa kita ramybėje. Vienam mazgui reikia /32, o dviejose vietose persidengiantys diapazonai turi mazgų priešdėlius, kol kas nors iš naujo sunumeruoja potinklį.

Pasirinkimas nieko nesiųsti per tunelį nuveda tą patį sprendimą iki ribos: minimalus sąrašas palieka jungtį pakeltą, o įprastas srautas laikosi savo įprasto kelio. Užsirašykite ketinimą, nes kitaip kitas skaitytojas trumpą sąrašą palaikys apsileidimu ir paslaugiai jį praplės.

Vienas savininkas maršrutų lentelei

wg-quick ir NetworkManager abu mano, kad jiems priklauso sąsajos maršrutai. Importuokite konfigūraciją, parašytą wg-quick, ir tada dar paleiskite wg-quick tarnybą, ir gausite dvigubus arba prieštaringus įrašus, kurių elgesys priklauso nuo to, kuri veikė paskutinė. Pasirinkite vieną savininką ir pašalinkite kitą: jei NetworkManager valdo ryšį, išjunkite tos sąsajos wg-quick bloką ir niekada nepridėkite antro profilio tam pačiam įrenginiui.

Kai skaidymas turi sekti fizinį adapterį, o ne tikslą, jūs perėjote prie politikos maršrutizavimo, o politikos maršrutizavimui taip pat reikia vieno autoriaus. Patikrinkite pakartodami ip route get, o tada pasiekdami mazgą tolimo priešdėlio viduje su kuo nors, kas išspausdina jo pasirinktą šaltinio adresą. Jei profilis turi bet kurį iš jų, patikrinkite IPv6 ir DNS atskirai.

Susiję straipsniai