Du peerai išvardija diapazonus, kurie liečiasi, ir srautas pasiekia netinkamą. Niekas nesugadinta: WireGuard pasirenka peerą, lygindamas paskirties vietą su sukonfigūruotais diapazonais, ir laimi tiksliausias atitikimas. Prieš ką nors plėsdami, nuspręskite, kuris peeras turi valdyti kurį prefiksą.

Ilgiausias prefiksas laimi WireGuard viduje

Kiekvienas peero įrašas turi paskirties prefiksų rinkinį. Kai paketas nukreipiamas į sąsają, implementacija ieško įrašo su tiksliausiu atitinkančiu prefiksu — ta pati taisyklė, kurią taiko maršrutizavimo lentelė. Todėl /24 nugali jį apimantį /16, o siauresnis peeras gauna srautą.

Road-warrior konfigūracijos tai naudoja sąmoningai. Vienas peeras valdo platų diapazoną svetainei, o atskiri hostai išskiriami /32 įrašais, kurie priklauso kitiems peerams. Šablonas veikia todėl, kad išskyrimai yra tikslesni, o ne dėl tvarkos.

Užrašykite nuosavybę kaip prefikso ir peero lentelę. Jei du įrašai aprašo tą patį prefiksą, konfigūracija nebeišreiškia ketinimo, ji išreiškia lenktynes.

Operacinė sistema pirmiausia parenka sąsają

WireGuard renkasi tik tarp vienos sąsajos peerų. Kuri sąsaja gaus paketą, sprendžiama anksčiau, hosto maršrutizavimo lentelėje, o antrasis numatytasis maršrutas ar pasenęs maršrutas gali nusiųsti srautą ten, kur peerų sąrašas jo niekada nemato. Štai kodėl peer lygio diagnozė gali būti teisinga ir vis tiek nepaaiškinti gedimo. Patikrinkite maršrutą iki paskirties vietos prieš skaitydami peero konfigūraciją, nes maršrutas, nurodantis į fizinę sąsają, apeina visą klausimą.

Įrankis paprastai įdiegia tuos maršrutus iš peerų diapazonų, o tai reiškia, kad vieno peero sąrašo pakeitimas gali tyliai peradresuoti srautą, kuris anksčiau priklausė kitam. Todėl peero redagavimas yra persirengęs maršrutizavimo pakeitimas. Peržiūrėkite abu iš karto, kitaip sutaisysite vieną ir sugadinsite kitą.

Gaunami paketai tikrinami pagal šaltinį

Diapazonų sąrašas atlieka dvejopą vaidmenį. Išeinančiam srautui jis parenka peerą pagal paskirtį, o įeinančiam srautui jis įgalioja šaltinio adresą. Paketas, atkeliavęs iš adreso, nepatenkančio į to peero diapazonus, atmetamas dar prieš jį pamatant bet kuriai užkardai.

Šį asimetriją lengva praleisti skaitant vieną konfigūracijos pusę. Peeras, galintis pasiekti potinklį, dėl to negauna leidimo siųsti iš to potinklio, ir abi kryptys užtikrinamos skirtingais patikrinimais.

Siaura šaltinio nuosavybė paverčia tai privalumu. Duokite kiekvienam peerui /32 jo paties adresui, ir žemiau esanti užkarda turės patikimą šaltinį, su kuriuo suderinti, o ne visos grupės diapazoną, kurį galėtų pretenduoti bet kuris narys.

Pasikartojantys diapazonai nėra failover

To paties prefikso priskyrimas dviem peerams nesukuria apkrovos balansavimo ar atsarginio kelio. Nėra būsenos patikrinimo ir nėra sesijos prisirišimo: laimintį įrašą lemia vidinė implementacijos tvarka, o tai nėra sutartis, pagal kurią reikėtų projektuoti. Jei reikia alternatyvių išėjimų, išreikškite juos ten, kur apibrėžiama atranka. Maršrutizavimo politika, metrika ar pora skirtingų prefiksų, kurių kiekvienas turi dokumentuotą savininką, sukuria elgseną, kurią galite numatyti ir išbandyti.

Diapazono išplėtimas siekiant ištaisyti nesusijusį gedimą yra kita dažna klaida. Tai nutolija srautą nuo peero, kuris veikė, ir naujas simptomas atsiranda anksčiau, nei suprantamas senasis.

Patikrinkite atranką prieš redaguodami

Trys komandos iš eilės atsako į tris klausimus. Pirmoji išvardija diapazonus, kurių reikalauja kiekvienas peeras. Antroji parodo, kurią sąsają hostas naudotų paskirčiai. Trečioji parodo gyvą peerų būseną po to, kai srautas praėjo.

wg show wg0 allowed-ips
ip route get 10.66.8.20
wg show wg0
ip rule show

Paleiskite jas prieš ir po pakeitimo ir palyginkite. Jei maršruto išvestis pasikeitė, bet srautas vis tiek patenka pas netinkamą peerą, prefiksų sąrašai persidengia taip, kaip dar neužrašėte. Jei maršruto išvestis nepasikeitė, peero konfigūracija niekada nebuvo tai, ko buvo klausiama.

Įrašykite į bilietą paskirties vietą, pasirinktą sąsają ir pasirinktą peerą. Būtent šis trejetas leidžia vėliau peržiūrėti persidengimą, ir jis daug naudingesnis už konfigūracijos ekrano nuotrauką.

Susiję straipsniai