Dva prefiksa /1 pokrivata natanko iste naslove IPv4 kot en sam /0, in ta enakost velja le znotraj seznama dovoljenih prefiksov partnerja. Neha veljati v trenutku, ko se orodje za nastavitev odloči, kako usmerjati, ker Linux wg-quick privzeti prefiks obravnava kot poseben primer in ne kot aritmetiko. Posebna veja namesti ločeno tabelo, dve pravili politike, oznako vtičnice in nastavitve povratne poti, ki jih par polovičnih poti nikoli ne prejme. Ko torej po spremembi proxy ali brskalnik preneha delovati, so prefiksi najmanj zanimiv del spremembe.

Seznam prefiksov ni celotna konfiguracija

AllowedIPs opravlja dve nalogi hkrati in le ena od njiju zadeva pokritost. Za sam WireGuard je seznam kriptoključno usmerjanje: odloča, katere destinacije se šifrirajo proti partnerju in katere naslove vira sme ta partner uporabljati. Za wg-quick isti seznam služi tudi kot specifikacija poti, ustvarjena pot pa je odvisna od tega, v katero vejo seznam slučajno pade. Identična pokritost pri dveh različnih oblikah seznama zato ne pove ničesar o identičnem stanju gostitelja.

Privzeta konfiguracija vam to odločitev vzame iz rok, ker je Table privzeto samodejen in orodje samo izbere, kam padejo poti. Drug upravitelj omrežja, ovoj distribucije ali lastna vrednost Table znova spremeni izid, zato lahko nasvet, napisan za enega gostitelja, na naslednjem izgleda napačen.

Kaj privzeta veja doda poleg poti

Vnos /0 pošlje wg-quick na pot privzete poti: ločena usmerjevalna tabela prejme privzeto pot, eno pravilo politike tja pošlje neoznačen promet, drugo pravilo ohranja bolj specifične poti glavne tabele kot merodajne, vmesnik pa prejme oznako požarnega zidu na svoji vtičnici. Ta oznaka je varuh zanke. Šifrirani datagrami, ki nosijo promet tunela, odidejo z nastavljeno oznako, da pravilo, ki vse ostalo usmerja v tunel, ne pogoltne lastnih transportnih paketov tunela.

Par vnosov /1 namesto tega ubere običajno pot. Dve poti pristaneta v konfigurirani tabeli in noben od okoliških mehanizmov se ne pojavi, ne zato ker bi bil nepotreben, ampak zato ker v to kodno pot nikoli ni bilo stopljeno.

Kje se obe ureditvi razideta

Razlika se najprej pokaže kot rekurzija. Ko so polovične poti v glavni tabeli, lastni transportni naslov partnerja pade znotraj prefiksa tunela, zato se paket, ki bi moral nositi tunel, ujema s potjo, ki kaže v notranjost tunela. Nekaj ga mora izvzeti: pot gostitelja za trenutno končno točko, ročno nameščena oznaka ali pravilo, specifično za vmesnik. Pot gostitelja deluje, dokler se naslov končne točke ne spremeni, kar se zgodi pri končnih točkah na osnovi DNS, gostujočih odjemalcih in konfiguracijah z več partnerji.

Drugič, vse, kar sklepa o oznakah, spremeni vedenje. Pregledni proxy, ki lokalno preusmerja povezave, ustvari nove vtičnice, katerih oznake in viri se razlikujejo od izvirnega toka odjemalca, pravila politike, ki jih ustvari privzeta veja, pa so bila del tega, kar je te tokove ločilo. Branje lastne odhodne povezave proxyja je druga vaja kot preizkušanje, ali je izvirni cilj dosegljiv.

Pred urejanjem preberite pravila in oznake

Zabeležite trenutno stanje, dokler je tunel zdrav, nato še enkrat po spremembi, in primerjajte oba izpisa, namesto da sklepate iz konfiguracijske datoteke. Vključite pravila politike, vsako tabelo, oznako vmesnika in zabeležene končne točke.

ip rule show
ip -4 route show table all | grep -E 'default|wg1'
wg show wg1 fwmark
wg show wg1 endpoints

Če je prva vrstica izpisa izgubila pravilo za neoznačen promet in je ločena tabela prazna, privzeta veja ne deluje in nobena aritmetika prefiksov ne bo obnovila njenih učinkov. Oznaka nič na vmesniku, ki je prej nosil eno, je isti signal, viden v eni sami vrednosti.

Pred objavo vadite izgubo tunela

Če je razporeditev s polovičnimi potmi zavestna izbira, mora manjkajoče dele zagotoviti izrecno: pot končne točke, ki preživi spremembe naslova, predvideno vedenje ob padcu tunela in enakovredno obravnavo za IPv6. Zapišite jih kot zahteve, namesto da jih odkrijete med izpadom. Nato vadite odpoved, ker je poln tunel, ki tiho pade nazaj na fizično povezavo, slabši od tistega, ki preneha delovati.

sudo ip -4 route add 198.51.100.20/32 via 192.0.2.1 dev eth0
ip -4 route get 198.51.100.20
sudo wg-quick down wg1

Iskanje poti bi moralo razrešiti končno točko iz fizičnega vmesnika brez prečkanja tunela, spust vmesnika pa bi moral gostitelja pustiti v stanju, ki ga je obljubila zasnova. Proxy, ki deluje po zamenjavi, dokazuje, da je ustvarjeno stanje gostitelja bilo pomembno; ne dokazuje, da sta preprečevanje zank in vedenje v izklopljenem stanju preživela urejanje.

Sorodni članki