Macmiilka LAN si sax ah ayuu u gaaraa VPN-kiisa haddana weydiimihiisa DNS waxay ka muuqdaan xiriirka sare ee khaldan. Tani ma aha daadasho macneheeda caadiga ah; waa waxa dhaca marka router-ku joojiyo gudbinta weydiin oo isagu ka jawaabo. Dhexgalku wuxuu u beddelaa halka loo socdo socket gudaha ah, ka dibna resolver-ku wuxuu furaa wada-hadal labaad oo aan xiriir lahayn, isagoo wata cinwaankiisa isha iyo go'aankiisa marinka. Calaamadaha lagu dhejiyay qulqulka macmiilku waxay sharraxaan wada-hadalkii koowaad oo waxba kama sheegaan kan labaad.

Calaamaddu ma raacdo weydiinta

Calaamadaha baakaddu waxay ku nool yihiin gelitaanka conntrack iyo baakadda duulaysa. Qaanuunka REDIRECT wuxuu soo afjarayaa duulimaadkaas: culeyska waxaa la siiyaa socket gudaha ah, gelitaankii asalka ahaana wuu qabtay shaqadiisii. Waxa router-ka ka baxa ka dib waa socket cusub oo ay abuurtay habka resolver-ka, isagoo cinwaanka router-ka laftiisu yahay isha.

Taasi waa sababta marinka siyaasadda ee ku xiran cinwaanka macmiilka LAN uu waligiis uusan u ekaan weydiinta sare. Socket-ka cusub waxaa iska leh dnsmasq ee ma aha macmiilka, kernel-kuna wuxuu qiimeeyaa marinka taraafikada router-ka laftiisa. Qaanuunnada isha, qaanuunnada interface-ka iyo qaanuunnada calaamadaha dhamaantood waxay arkaan tuple kale. In la malo in calaamaddu faafto waa qaladka ugu badan ee habkan, oo kama muuqdo qabashada dhanka macmiilka.

Labada wada-hadal waxay dhab ahaan wadaagaan magac iyo waqti, taasina waa waxa ka dhigaya inay u muuqdaan hal qulqul markaad si degdeg ah u eegto qabashada.

Halka gudbintu u noqoto xallin gudaha ah

Ku bilow inaad ogaato haddii dekedda 53 la wareejinayo, loo tarjumayo martigeliyaha kale, ama sidaas looga tagayo, maxaa yeelay saddexda xaaladood si kala duwan ayay u dhaqmaan. Wareejinta deked gudaha ah waxay soo afjartaa gudbinta, halka tarjumaadda mishiin kale ay baakadda ku haysato dhaqdhaqaaq oo tuple-ka macmiilka macne ku hayso.

Eeg labada borotokool. Resolver-ka laga heli karo UDP iyo TCP labadaba waa lagu tijaabin doonaa, nidaam qaanuun oo kaliya UDP daboolaana wuxuu uga taga god aamusan jawaabaha waaweyn. Qaanuunnada uu abuuro maareeyaha habaynta router-ka laftiisa ayaa sidoo kale la tiriyaa, wax ka beddelka fayl la abuurayna inta badan wuu ka adkaadaa dib-u-shaqaynta xigta.

sudo nft list ruleset | grep -n -B2 -A4 'dport 53'
sudo iptables -t nat -L -n -v | grep -E ':53|dns'
sudo ss -lunp | grep ':53'

Wax soo saarkaas waxay si isku xigta uga jawaabaan saddex su'aalood: waxa dib u qora weydiinta, waxa qaata, iyo habka leh socket-ka dhageysanaya. Marka milkiilaha la ogaado, siyaasadda sare waxay haysataa meel ay ku noolaato.

Siin resolver-ka siyaasaddiisa bixitaan

Upstream-ka gaar u ah domain-ka waa qalabka ugu nadiifka badan marka kaliya magacyo qaar u baahan yihiin tunnel-ka. dnsmasq wuxuu aqbalaa sadarka server oo ku xaddidan domain, isagoo leh interface ama cinwaan isha ikhtiyaari ah oo weydiinta ka saara qalab la doortay. Hanuunintaas ayaa ka dhigta wada-hadalka labaad inuu raaco VPN-ka.

server=/corp.example/10.30.0.53@tun_work
log-queries

Domain-ka, cinwaanka iyo interface-ka sare waa meelo-bannaan oo loogu talagalay qiyamkaaga. Doorashada domain-ka iyo xakamaynta bixitaanku waxay ahaanayaan go'aamo gooni ah: marinku waa inuu jiraa, cinwaanka isha waa inuu oggolaado resolver-ka sare, iyo dab-demiska waa inuu oggolaado jawaabta. Hanuuninta interface-ka oo keliya ma aha fail-closed, maxaa yeelay tunnel-ka lumay wuxuu resolver-ka kaga tagi karaa inuu ku dhaco waddo kale. Ka fogee wax kasta oo beddel ah oo dadweyne ah meel magacyo ah oo ay tahay inay si gaar ah u sii ahaato.

Sadarka dhig milkiilaha habaynta ee router-ku taageero halkii aad ka dhigi lahayd fayl la abuuray, haddii kale dib-u-shaqaynta xigta waxay tirtiraysaa hagaajinta.

Waxa kaydka la wadaago aanu ilaalin karin

Hal gudbiye oo leh hal kayd ayaa u adeega macmiil kasta oo LAN ah, taasina waxay dumisaa kala-soocid ay qaar ka mid ah shabakadaha u baahan yihiin. Haddii laba macmiil ay tahay inay magac isku mid ah si kala duwan u xalliyaan, socket-ka la wadaago ma laha hab uu ku ogaado yaa weydiiyay. Siyaasadda macmiil kasta waa inay ku noolaataa nuqulada resolver-ka ee gooni ah ama sifo gudbin oo xafidta aqoonsiga.

Jawaab la kaydiyay sidoo kale ma aha caddayn ku saabsan waddada cusub. Jawaabtu waxay ka iman kartaa xusuusta inta marinka sare uu jaban yahay.

Qaanuunnada dekedda 53 waxba kama sheegaan barnaamijyada ku hadla DNS iyagoo isticmaalaya HTTPS ama TLS. Weydiimahaas weligood ma gaaraan wareejinta, marka siyaasad ku dhisan kaliya dekedda 53 waxay sharraxdaa qayb hoosaad ah taraafikada oo waa in loo diiwaangeliyaa qayb hoosaad ahaan.

Xaqiiji wada-hadalka labaad, ma aha kan koowaad

Ku tijaabi hal magac oo aad maamusho oo eeg labada dhinac. Qabashada dhanka macmiilka waxay caddaynaysaa in weydiintu ka baxday LAN-ka; dhanka router-ka oo keliya ayaa caddeeya halka ay u martay.

sudo tcpdump -ni tun_work udp port 53
ip route get 10.30.0.53
dig +short corp.example @10.30.0.53

Nadiifi kaydka ka hor isku day kasta, maxaa yeelay jawaab diiran waxay qarinaysaa upstream jaban. Ku celi TCP, ka dib ku celi iyadoo tunnel-ku xiran yahay si aad u aragto waxa resolver-ku sameeyo marka waddadiisa la doorbiday ay tagtay. Dhaqankaas ugu dambeeya ayaa go'aamiya haddii nashqaddu tahay fail-closed ama nasiib uun.

Maqaallo la xiriira