DNSz elikatutako nftables multzoa WireGuardera: nola egiten da eskualdaketa
DNS erantzun batek nftables multzo bat elika dezake, baina multzo batek ez du ezer bideratzen. Jarraitu lau eskualdaketak eta bideratzeak funtzionatuko duen erabakitzen duten hiru bizitza.
Izenak helbide bihurtzen dira, eta helbide horiek suebakiko multzo batean sar daitezke, geroago bideratzean eragiten duena, eta horrek izenaren araberako bideratzea proxyrik gabe posible egiten du. Koska lau osagaik behar bezala eskualdatu behar dutela da: ebazlea, multzoa, fluxu berri bat markatzen duen sailkatzailea eta hura daraman bikotea. Eskualdaketa bakoitzak modu ezberdinean huts egiten du eta bakoitzak bere denbora gordetzen du.
Hartu diseinua kate gisa, ez konfigurazio gisa. Urrats bakoitzean galdera hauxe da: zein osagak du erabakia eta zer gertatzen da haren sarrera falta denean.
Zer egin dezakeen DNS erantzunak eta zer ez
dnsmasq-k erantzunetako helbideak nftables multzora kopia ditzake, eta hori elikatzea da, ez bideratze erabakia. Aukera horrek, dnsmasq eskuliburuan dokumentatuta, familia, taula eta multzoa izendatzen ditu, eta hasierako 4#-k A erregistroak soilik hautatzen ditu, beraz v6 helmugek beren antolaketa behar dute. Multzoak jada existitu behar du, ebazleak suebakiaren jabeak sortutako zerbaiti elementuak gehitzen baitizkio. Urrats hartan ezerk ez du interfaze, taula edo bikoterik aukeratzen.
Bezeroak ere ebazle hori erabili behar du izenerako. Bere DNS zifratua duen aplikazio batek, edo politikaren aurretik cachean gordetako erantzun batek, multzoan sarrerarik sortu gabe konektatzen du.
Multzoa sarrera da, ez ibilbidea
Multzoko elementu bat bat-etortze baldintza da. Zerbaitak hura begiratu, pakete honek fluxu berri bat hasten duela erabaki eta fluxua tunelen barrena bidaltzen duen politika aplikatu behar du. Linuxen horrek normalean esan nahi du marka ezar dezakeen irteera-bide bideragarria, markatutako paketeak taula dedikatu batera bidaltzen dituen araua eta taula horretan WireGuard gailura seinalatzen duen ibilbidea. Kidetasunak bakarrik ez du horietako ezer instalatzen.
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
Bikoteak jendeak ahazten duen bigarren estaldura-egiaztapen bat aplikatzen du. WireGuardek pakete bat bikote baten aldean soilik zifratzen du, haren baimendutako helbideek helmuga barne hartzen badute, beraz interfazera doan politika-ibilbidea ez da nahikoa bikotearen zerrendak aurrizki hori baztertzen duenean. Eutsi zerrendari bideratzearen jabearen kontrolpean, kudeatzaileak noizbehinka sortzen duen ibilbide-sorkuntzan fidatu beharrean.
Markak, taulak eta bikotearen estaldura
Markak izen-espazio partekatua dira, beraz bai balioa bai maskara haiek erabiltzen dituen beste edozerekin adostu behar dira. Markatutako trafikoa taula dedikatu batera bidaltzen duen arauak emaitza zehaztu bat behar du taula horrek bat datozen ibilbiderik ez duenean, erantzunik gabeko bilaketa hurrengo araura joan eta paketea interfaze fisikotik atera baitezake. Taula dedikatuaren barruko blackhole lehenetsitako ibilbideak isil-isileko ihes hori ikusgai den galera bihurtzen du. Diseinuak oraindik egin ezin duena multzora inoiz sartu ez den helmuga baterako hutsegitean ixtea da.
Tunelak berak dituen kanpoko paketeek sailkatzailetik ihes egin behar dute. WireGuard tresnek socket marka bat ematen dute horretarako berariaz, eta haren erabilerak enkapsulazioa eraikitzen ari den interfazera itzultzea eragozten du.
Egiaztatu bizitza bakoitza bereiz
Hiru biltegi hiru ordutegi ezberdinetan zahartzen dira: ebazlearen cachea, multzoko elementuak eta jarraitutako konexioa. Egiaztatu itzazu ordena horretan eta begiratu bakoitza noiz mugitu behar duen mugitzen den. Beheko komandoek ebazlea, multzoa, konexio-taula eta politika-arauak irakurtzen dituzte ezer aldatu gabe.
dig +short office.example
nft list set inet vpn_select office_v4
conntrack -L -d 10.60.8.15
ip rule show
Elementu bat gehitzen duen bilaketa berri batek elikatzeak funtzionatzen duela frogatzen du, eta bere erantzuna baino gehiago irauten duen elementu zaharkitua bizitza-desegokitasun bat da, idazteko modukoa. Konexio-taulan espero den markarekin konexio berri bat agertzeak sailkatzailea exekutatu zela erakusten du, eta konexio zahar batek bere jatorrizko marka mantentzea jokabide zuzena da, ez akatsa. Arauen zerrendak politika-bilaketa existitzen den ala ez erantzuten du, eta hori ezberdina da bat etorri zen ala ez galdetzea. Irakurri lau irteerak ordena horretan eta huts egiten duen eskualdaketak bere burua salatuko du.
Izen jakin batek beti bide bat erabili behar duela eskatzen denean, DNSz elikatutako multzoak ezin du hori frogatu, helbide partekatuek beste izen batzuk ere daramatzatelako. Proxy bat edo aplikazio-mailako mekanismo bat da berme horretarako tresna.