Kaks /1 prefiksit katavad täpselt samu IPv4-aadresse nagu üks /0, ja see võrdsus kehtib ainult partneri lubatud prefiksite loendi sees. See lakkab kehtimast hetkel, mil seadistustööriist otsustab, kuidas marsruudida, sest Linuxi wg-quick käsitleb vaikimisi prefiksit erijuhuna, mitte aritmeetikana. Eriharu paigaldab eraldi tabeli, kaks poliitikareeglit, pistikmärgise ja tagasitee seaded, mida poolikute marsruutide paar kunagi ei saa. Kui puhverserver või brauser pärast muudatust enam ei tööta, on prefiksid muudatuse kõige vähem huvitav osa.

Prefiksite loend ei ole kogu konfiguratsioon

AllowedIPs teeb korraga kahte tööd ja ainult üks neist puudutab katvust. WireGuardi enda jaoks on loend krüptovõtme-marsruutimine: see otsustab, millised sihtkohad krüpteeritakse partneri poole ja milliseid lähteaadresse see partner võib kasutada. wg-quick jaoks toimib sama loend ka marsruudispetsifikatsioonina ning loodav marsruut sõltub sellest, millise haruga loend juhtub sobima. Identne katvus kahe erineva loendikuju korral ei ütle seega identse hosti oleku kohta midagi.

Vaikimisi konfiguratsioon võtab selle otsuse teie käest, sest Table on vaikimisi automaatne ja tööriist valib, kuhu marsruudid maanduvad. Teine võrguhaldur, distributsiooni ümbris või kohandatud Table väärtus muudab tulemuse taas, mistõttu ühe hosti jaoks kirjutatud nõuanne võib järgmisel vale tunduda.

Mida vaikimisi haru lisab lisaks marsruudile

Kirje /0 saadab wg-quick oma vaikimisi marsruudi teele: eraldi marsruutimistabel saab vaikimisi marsruudi, üks poliitikareegel saadab märgistamata liikluse sinna, teine reegel hoiab põhitabeli täpsemad marsruudid volitatud, ja liidesele rakendatakse selle enda pistikule tulemüüri märgis. See märgis on ahela valvur. Tunneli liiklust kandvad krüpteeritud datagrammid väljuvad märgisega, et reegel, mis suunab kõik muu tunnelisse, ei neelaks tunneli enda transpordipakette.

Kirjete /1 paar läheb seevastu tavalisele marsruuditeele. Konfigureeritud tabelisse maandub kaks marsruuti ja ükski ümbritsev mehhanism ei ilmu, mitte sellepärast, et see oleks tarbetu, vaid sellepärast, et see kooditee jäi kunagi läbimata.

Kus kaks paigutust lahku lähevad

Lahknemine ilmneb kõigepealt rekursioonina. Kui poolikud marsruudid on põhitabelis, langeb partneri enda transpordiaadress tunneli prefiksi sisse, nii et pakett, mis peaks tunnelit kandma, vastab tunnelisse suunavale marsruudile. Miski peab selle vabastama: hosti marsruut praeguse lõpp-punkti jaoks, käsitsi rakendatud märgis või liidesespetsiifiline reegel. Hosti marsruut töötab seni, kuni lõpp-punkti aadress muutub, mis juhtub DNS-il põhinevate lõpp-punktide, rändklientide ja mitme partneriga konfiguratsioonide puhul.

Teiseks muudab käitumist kõik, mis märgistest järeldab. Kohapeal ühendusi ümber suunav läbipaistev puhverserver loob uued pistikud, mille märgised ja allikad erinevad kliendi algsest voolust, ning vaikimisi haru loodud poliitikareeglid olid osa sellest, mis need vood eraldas. Puhverserveri enda väljuva ühenduse lugemine on teine harjutus kui kontrollimine, kas algne sihtkoht on kättesaadav.

Lugege reeglid ja märgised enne muutmist läbi

Jäädvustage praegune olek, kui tunnel on terve, seejärel uuesti pärast muudatust, ja võrrelge kahte väljavõtet, selle asemel et konfiguratsioonifailist järeldada. Kaasake poliitikareeglid, iga tabel, liidese märgis ja salvestatud lõpp-punktid.

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

Kui väljundi esimene rida on kaotanud märgistamata liikluse reegli ja eraldi tabel on tühi, ei tööta vaikimisi haru ja ükski prefiksite aritmeetika ei taasta selle mõju. Nullmärgis liidesel, mis varem kandis märgist, on sama signaal, nähtav ühes väärtuses.

Harjutage tunneli kadumist enne kasutuselevõttu

Kui poolikute marsruutide paigutus on teadlik valik, peab see puuduvad osad selgesõnaliselt andma: aadressimuutustele vastu pidav lõpp-punkti tee, kavatsetud käitumine tunneli kadumisel ja samaväärne käsitlus IPv6 jaoks. Kirjutage need nõuetena üles, selle asemel et neid katkestuse ajal avastada. Seejärel harjutage tõrget, sest täistunnel, mis langeb vaikselt tagasi füüsilisele ühendusele, on halvem kui see, mis lihtsalt lakkab töötamast.

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

Marsruudiotsing peaks lahendama lõpp-punkti füüsilisest liidesest ilma tunnelit läbimata, ja liidese mahavõtmine peaks jätma hosti olekusse, mida disain lubas. Pärast asendust töötav puhverserver tõestab, et loodud hosti olek oli oluline; see ei tõesta, et ahela vältimine ja väljalülitatud oleku käitumine muudatuse üle elasid.

Seotud artiklid