Nimed lahendatakse aadressideks ja need aadressid võivad sattuda tulemüüri komplekti, mis hiljem marsruutimist mõjutab, tehes nimepõhise suunamise võimalikuks ilma puhverserverita. Konks on selles, et neli komponenti peavad õigesti üle andma: lahendaja, komplekt, uut voogu märkiv klassifitseerija ja seda kandev partner. Iga üleandmine ebaõnnestub erinevalt ja igaüks hoiab oma aega.

Käsitlege kujundust keti, mitte konfiguratsioonina. Küsimus igal sammul on, milline komponent omab otsust ja mis juhtub, kui selle sisend puudub.

Mida DNS-vastus suudab ja mida mitte

dnsmasq saab aadresse vastustest nftables-komplekti kopeerida, mis on toitmine, mitte marsruutimisotsus. See valik, dokumenteeritud dnsmasqi käsiraamatus, nimetab perekonna, tabeli ja komplekti ning selle algne 4# valib ainult A-kirjed, seega v6-sihtmärgid vajavad oma lahendust. Komplekt peab juba olemas olema, sest lahendaja lisab elemente millessegi, mille lõi tulemüüri omanik. Miski selles etapis ei vali liidest, tabelit ega partnerit.

Klient peab nime jaoks kasutama ka seda lahendajat. Rakendus oma krüpteeritud DNS-iga või enne poliitikat vahemällu salvestatud vastus ühendub ilma komplekti ühtegi kirjet loomata.

Komplekt on sisend, mitte marsruut

Element komplektis on vastavustingimus. Miski peab sellele vaatama, otsustama, et see pakett algatab uue voo, ja rakendama poliitika, mis saadab voo tunnelist läbi. Linuxis tähendab see tavaliselt marsruutimisvõimelist väljundteed, mis suudab märgi seada, reeglit, mis saadab märgitud paketid sihtotstarbelisse tabelisse, ja marsruuti selles tabelis WireGuardi seadmele. Üksnes liikmelisus ei paigalda neist ühtegi.

nft add set inet vpn_select office_v4 { type ipv4_addr\; }
ip rule add fwmark 0x40 table 200
ip route add default dev wg0 table 200
wg show wg0 allowed-ips

Partner rakendab teist katvuskontrolli, mille inimesed unustavad. WireGuard krüpteerib paketi ainult partnerile, mille lubatud aadressid sisaldavad sihtkohta, seega poliitikamarsruut liidesesse ei ole piisav, kui partneri nimekiri selle prefiksi välistab. Hoidke nimekiri marsruutimise omaniku kontrolli all, selle asemel et loota, millise marsruudi haldur juhtub looma.

Märgid, tabelid ja partneri katvus

Märgid on ühine nimeruum, seega tuleb nii väärtus kui mask kooskõlastada kõige muuga, mis neid kasutab. Reegel, mis saadab märgitud liikluse sihtotstarbelisse tabelisse, vajab määratletud tulemust, kui selles tabelis pole sobivat marsruuti, sest vastuseta otsing võib jätkuda järgmise reegliga ja saata paketi füüsilisest liidesest välja. Blackhole-vaikemarsruut sihtotstarbelise tabeli sees muudab selle vaikse põgenemise nähtavaks kõrvalejätmiseks. Mida kujundus veel ei suuda, on sulguda rikke korral sihtkoha jaoks, mis kunagi komplekti ei jõudnud.

Tunneli enda välised paketid peavad klassifitseerijast mööda pääsema. WireGuardi tööriistad pakuvad täpselt selleks soketi märki ja selle kasutamine hoiab ära kapselduse suunamise tagasi liidesesse, mida see ehitab.

Testige iga eluiga eraldi

Kolm salve vananevad kolme ajakava järgi: lahendaja vahemälu, komplekti elemendid ja jälgitud ühendus. Testige neid selles järjekorras ja vaadake, kas igaüks liigub, kui peaks. Allolevad käsud loevad lahendajat, komplekti, ühenduste tabelit ja poliitikareegleid midagi muutmata.

dig +short office.example
nft list set inet vpn_select office_v4
conntrack -L -d 10.60.8.15
ip rule show

Värske otsing, mis lisab elemendi, tõestab, et toitmine töötab, samal ajal kui oma vastust üle elav aegunud element on eluea lahknevus, mida tasub kirja panna. Uus ühendus ühenduste tabelis oodatud märgiga näitab, et klassifitseerija töötas, ja vana ühendus, mis hoiab oma algset märki, on õige käitumine, mitte viga. Reeglite loend vastab, kas poliitikaotsing üldse olemas on, mis on teine küsimus kui see, kas see sobis. Lugege neli väljundit selles järjekorras ja ebaõnnestunud üleandmine annab end ise teada.

Kui nõue on, et teatud nimi kasutab alati üht teed, ei suuda DNS-iga toidetud komplekt seda tõestada, sest jagatud aadressid kannavad ka teisi nimesid. Puhverserver või rakendustasandi mehhanism on selle garantii tööriist.

Seotud artiklid