Seti nftables i ushqyer nga DNS drejt WireGuard: si funksionon dorëzimi
Një përgjigje DNS mund të ushqejë një set nftables, por seti nuk rrugëton asgjë. Ndiqni katër dorëzimet dhe tre jetëgjatësitë që vendosin nëse drejtimi funksionon.
Emrat zgjidhen në adresa, dhe ato adresa mund të përfundojnë në një set të murit mbrojtës që më vonë ndikon në rrugëtim, gjë që e bën të mundur drejtimin bazuar në emër pa proxy. Kurthi është se katër komponentë duhet të dorëzojnë saktë: zgjidhësi, seti, klasifikuesi që shënon një rrjedhë të re dhe partneri që e transporton. Çdo dorëzim dështon ndryshe dhe secili mban kohën e vet.
Trajtojeni projektimin si zinxhir dhe jo si konfigurim. Pyetja në çdo hap është cili komponent zotëron vendimin dhe çfarë ndodh kur mungon hyrja e tij.
Çfarë mund dhe çfarë nuk mund të bëjë përgjigja DNS
dnsmasq mund të kopjojë adresa nga përgjigjet në një set nftables, që është ushqyerje dhe jo vendim rrugëtimi. Ai opsion, i dokumentuar në manualin e dnsmasq, përcakton familjen, tabelën dhe setin, dhe 4#-i i tij fillestar zgjedh vetëm regjistrime A, kështu që destinacionet v6 kërkojnë rregullimin e tyre. Seti duhet të ekzistojë tashmë, sepse zgjidhësi shton elemente në diçka që ka krijuar pronari i murit mbrojtës. Asgjë në atë hap nuk zgjedh një ndërfaqe, një tabelë ose një partner.
Klienti gjithashtu duhet të përdorë atë zgjidhës për emrin. Një aplikacion me DNS të vetë enkriptuar, ose një përgjigje e ruajtur nga koha përpara politikës, lidhet pa krijuar asnjë hyrje në set.
Seti është hyrje, jo rrugë
Një element në set është kusht përputhjeje. Diçka duhet ta shikojë, të vendosë se ky paketë fillon një rrjedhë të re dhe të zbatojë politikën që e dërgon rrjedhën përmes tunelit. Në Linux kjo zakonisht nënkupton një rrugë dalëse të aftë për rrugëtim që mund të vendosë një shenjë, një rregull që dërgon paketat e shënuara në një tabelë të dedikuar dhe një rrugë në atë tabelë drejt pajisjes WireGuard. Vetëm anëtarësimi nuk instalon asgjë nga këto.
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
Partneri zbaton një kontroll të dytë mbulimi që njerëzit e harrojnë. WireGuard enkripton një paketë vetëm për një partner adresat e lejuara të të cilit përfshijnë destinacionin, kështu që një rrugë politike në ndërfaqe nuk mjafton kur lista e partnerit e përjashton atë prefiks. Mbajeni listën nën kontrollin e pronarit të rrugëtimit, në vend që të mbështeteni në çfarë krijimi rrugësh bën rastësisht menaxheri.
Shenjat, tabelat dhe mbulimi i partnerit
Shenjat janë një hapësirë emrash e ndarë, kështu që edhe vlera edhe maska duhet të bien dakord me çdo gjë tjetër që i përdor. Një rregull që dërgon trafik të shënuar në një tabelë të dedikuar ka nevojë për një rezultat të përcaktuar kur ajo tabelë nuk ka rrugë përputhëse, sepse një kërkim pa përgjigje mund të vazhdojë te rregulli tjetër dhe ta nxjerrë paketën jashtë ndërfaqes fizike. Një rrugë e paracaktuar blackhole brenda tabelës së dedikuar e kthen atë ikje të qetë në një hedhje të dukshme. Ajo që projektimi ende nuk mund të bëjë është të mbyllet në dështim për një destinacion që nuk ka hyrë kurrë në set.
Paketat e jashtme të vetë tunelit duhet t'i shpëtojnë klasifikuesit. Mjetet e WireGuard ofrojnë një shenjë soketi pikërisht për këtë qëllim, dhe përdorimi i saj pengon që inkapsulimi të rrugëtohet përsëri në ndërfaqen që po ndërton.
Testoni secilën jetëgjatësi veçmas
Tre depo plaken sipas tre skedave: cache-i i zgjidhësit, elementet e setit dhe lidhja e gjurmuar. Testojini në atë rend dhe shikoni nëse secila lëviz kur duhet. Komandat më poshtë lexojnë zgjidhësin, setin, tabelën e lidhjeve dhe rregullat e politikës pa ndryshuar asgjë.
dig +short office.example
nft list set inet vpn_select office_v4
conntrack -L -d 10.60.8.15
ip rule show
Një kërkim i freskët që shton një element provon se ushqyerja funksionon, ndërsa një element i vjetër që i mbijeton përgjigjes së vet është një mospërputhje jetëgjatësie që ia vlen të shënohet. Një lidhje e re në tabelën e lidhjeve me shenjën e pritur tregon se klasifikuesi ka punuar, dhe një lidhje e vjetër që mban shenjën origjinale është sjellje e saktë dhe jo defekt. Lista e rregullave përgjigjet nëse kërkimi i politikës ekziston fare, që është një pyetje tjetër nga ajo nëse u përputh. Lexoni katër daljet në atë rend dhe dorëzimi që dështon do të zbulohet vetë.
Ku kërkesa është që një emër i caktuar të përdorë gjithmonë një rrugë, një set i ushqyer nga DNS nuk mund ta provojë atë, sepse adresat e ndara mbajnë edhe emra të tjerë. Një proxy ose një mekanizëm në nivel aplikacioni është mjeti për atë garanci.