Dva peera WireGuard si delita obseg: kdo dobi paket
Prekrivajoči se obsegi se razrešijo z najbolj specifično predpono, ne z vrstnim redom. Najprej preverite pot, nato seznam peerov, preden kar koli razširite.
Dva peera navajata obsege, ki se dotikajo, in promet prispe do napačnega. Nič ni poškodovano: WireGuard izbere peera tako, da cilj uskladi z nastavljenimi obsegi, in zmaga najbolj specifično ujemanje. Preden kar koli razširite, se odločite, kateri peer naj bi imel katero predpono.
Najdaljša predpona zmaga znotraj WireGuarda
Vsak vnos peera nosi nabor ciljnih predpon. Ko je paket usmerjen v vmesnik, izvedba išče vnos z najbolj specifično ujemajočo se predpono — isto pravilo, ki ga uporablja usmerjevalna tabela. Zato /24 premaga /16, ki ga vsebuje, in ožji peer prejme promet.
Nastavitve road-warrior to uporabljajo namerno. En peer ima širok obseg za lokacijo, posamezni gostitelji pa so izrezani z vnosi /32, ki pripadajo drugim peerom. Vzorec deluje zato, ker so izrezi bolj specifični, ne zaradi vrstnega reda.
Lastništvo zapišite kot tabelo predpone in peera. Če dva vnosa opisujeta isto predpono, konfiguracija ne izraža več namere, izraža tekmo.
Operacijski sistem najprej izbere vmesnik
WireGuard izbira le med peeri na enem vmesniku. Kateri vmesnik prejme paket, se odloči prej, z usmerjevalno tabelo gostitelja, in druga privzeta pot ali zastarela pot lahko pošlje promet tja, kamor ga seznam peerov nikoli ne vidi. Zato je lahko diagnoza na ravni peera pravilna in vseeno ne pojasni okvare. Preverite pot do cilja, preden preberete konfiguracijo peera, ker pot, ki kaže na fizični vmesnik, obide celotno vprašanje.
Orodje običajno namesti te poti iz obsegov peerov, kar pomeni, da lahko sprememba na seznamu enega peera tiho preusmeri promet, ki je prej pripadal drugemu. Urejanje peera je torej preoblečena sprememba usmerjanja. Preglejte oba hkrati, sicer boste enega popravili in drugega pokvarili.
Vhodni paketi se preverjajo po izvoru
Seznam obsegov opravlja dvojno vlogo. Za odhodni promet izbere peera po cilju, za vhodni promet pa odobri izvorni naslov. Paket, ki prispe z naslova zunaj obsegov tega peera, se zavrže, preden ga vidi katera koli požarna pregrada.
To asimetrijo je lahko spregledati, ko berete eno stran konfiguracije. Peer, ki lahko doseže podomrežje, s tem še ni pooblaščen za pošiljanje iz tega podomrežja, obe smeri pa uveljavljajo različna preverjanja.
Ozko izvorno lastništvo to spremeni v prednost. Vsakemu peeru dajte /32 za njegov lastni naslov in požarna pregrada nižje ima zanesljiv izvor za ujemanje, namesto obsega za celotno skupino, ki bi ga lahko zahteval kateri koli član.
Podvojeni obsegi niso failover
Dodelitev iste predpone dvema peeroma ne ustvari razporejevalnika obremenitve ali rezervne poti. Ni preverjanja stanja in ni pripadnosti seje: zmagovalni vnos določi notranji vrstni red izvedbe, kar ni pogodba, na katero bi morali načrtovati. Če potrebujete alternativne izhode, jih izrazite tam, kjer je izbira definirana. Usmerjevalna politika, metrika ali par različnih predpon z dokumentiranim lastnikom vsake dajejo vedenje, ki ga lahko predvidite in preizkusite.
Razširitev obsega za odpravo nepovezane okvare je druga pogosta napaka. Promet odmakne od peera, ki je deloval, in novi simptom prispe, preden je stari razumljen.
Pred urejanjem preverite izbiro
Trije ukazi po vrsti odgovorijo na tri vprašanja. Prvi našteje obsege, ki jih zahteva vsak peer. Drugi pokaže, kateri vmesnik bi gostitelj uporabil za cilj. Tretji pokaže živo stanje peerov, potem ko je promet stekel.
wg show wg0 allowed-ips ip route get 10.66.8.20 wg show wg0 ip rule show
Zaženite jih pred spremembo in po njej ter primerjajte. Če se je izhod poti spremenil, promet pa še vedno prispe do napačnega peera, se seznami predpon prekrivajo na način, ki ga še niste zapisali. Če se izhod poti ni spremenil, konfiguracija peera ni bila tisto, kar se je poizvedovalo.
V zahtevek zapišite cilj, izbrani vmesnik in izbranega peera. Prav ta trojica omogoči, da je prekrivanje pozneje pregledljivo, in je veliko bolj uporabna kot posnetek zaslona konfiguracije.