Diiwaanka wax wax qaldan u muuqda ma jiraan: isku-xidhka wuu shaqaynayaa, xalliyaashu waxay soo sheegaan server-ka DNS ee VPN-ka, faylkana diskiga ku yaal wuu taxayaa. Si kastaba ha ahaatee magac mashiin gudaha ah ayaa wali lagu xalliyaa router-ka maxalliga ah. Saddexdan odhaah isma khilaafaan, sababtoo ah faylka, xaaladda isku-xidh kasta iyo wadada raadinta waa waxyaabo kala duwan oo si shil ah isku magac wadaaga. Waxa soo socda waa wadada ay weydiintu dhab ahaan marayso mashiin leh systemd-resolved.

Saddex waxyaabood oo la yiraahdo resolv.conf

Mashiin leh resolved, /etc/resolv.conf badanaa waa xidhiidh calaamadeed oo u socda /run/systemd/resolve/stub-resolv.conf. Bartilmaameedkaas waxa uu hayaa cinwaanka dhegeystaha stub maxalliga ah, 127.0.0.53, iyo domain-yada raadinta ee resolved xisaabiyay. Waa aragti xaaladda, ma aha xaaladda lafteeda.

Xaaladdu waxay ku nooshahay habaynta resolved ee isku-xidh kasta, taasina waa sababta resolvectl status uu faylka kaga duwanaan karo oo wali sax noqon karo. Isku-xidh kastaa waxa uu qaataa server-yadiisa iyo domain-yadiisa marin-u-jiid, stub-na waxa uu eegaa xogtaas marka weydiin timaado. Buugga systemd-resolved waxa uu sharraxayaa faylalka la abuuray iyo qaabka isku-xidh kasta; kala-soocidda aragtida iyo xaaladdu waa qaybta mudan in la xafido. Beddelidda bartilmaameedka xidhiidhka calaamadeed waxay beddelaysaa waxa macaamiisha caadiga ah akhriyaan, ma aha waxa xalliyuhu yaqaan.

Waxa saddexaad, /run/systemd/resolve/resolv.conf, waxa uu isku-xidh kasta u fidiyaa hal liis oo server ah. Barnaamij ku jeeda faylkaas waxa uu weydiimaha toos ugu diraa server-yada liiska ku qoran oo wuu dhaafi doonaa stub-ka, sidaas darteed siyaasadda isku-xidh kasta laguma dabaqayso isaga. Sidaas darteed laba barnaamij oo isku mashiin ah waxay uga jawaabi karaan isla magac si kala duwan, midkoodna ma jabin.

Raac hal raadin oo dhex mara NSS

glibc waxa uu akhriyaa /etc/nsswitch.conf si uu u go'aansado qofka magaca ka jawaaba. Sadarka hosts oo ay ku jirto resolve waxa uu su'aasha u jeediyaa nss-resolve, kaas oo resolved waydiiya D-Bus oo hela jawaabta isku-xidh kasta. Sadarka kaliya leh files dns waxa uu weydiinta u diraa cinwaanka uu /etc/resolv.conf hayo.

Hal sadarqtaas ayaa sharraxaysa inta badan khilaafaadka u dhexeeya browser-ka iyo dig. dig waxa uu toos u akhriyaa resolv.conf oo waligiis ma taabto NSS, sidaas darteed waxa uu tijaabiyaa stub-ka ama server sare halkii uu ka tijaabin lahaa wadada barnaamijku isticmaalo. getent hosts internal.example waxa uu dhex maraa NSS, iyo isbarbardhigga jawaabtiisa iyo tan dig waa cabbirka koowaad ee faa'iido leh.

Barnaamijyada wata xalliyahooda ama kala hadla DNS HTTPS dul mara barta ugu dambaysa ee go'an waxa ay dhaafaan labada wado. Waxba resolv.conf ama xaaladda resolved kuma xaddido iyaga.

Hubi yaa leh faylka iyo halka uu tilmaamayo

Akhri silsiladda xidhiidhka ka hor inta aadan wax beddelin, sababtoo ah lahaanshaha ayaa go'aamiya faylka awoodda leh. Amarkan kasta ee hoose waxa uu akhriyaa oo kaliya xaaladda.

stat -c '%N' /etc/resolv.conf
resolvectl status --no-pager
grep '^hosts' /etc/nsswitch.conf
ls -l /run/systemd/resolve/

Sadarka koowaad waxa uu wada daabacaa xidhiidhka iyo bartilmaameedkiisa, fayl caadi ah oo uu leeyahay script VPN-na waxa uu ka dhigan yahay in xalliyuhu waligiis uusan u qaadan qoraalkaas gelin. Natiijada xaaladdu waxa ay taxdaa server-yada isku-xidh kasta iyo domain-yada marin-u-jiid ee go'aamiya halka weydiin kastaa u socoto. Sadarka nsswitch waxa uu sheegaa haddii stub-ka gabi ahaanba la tashado, sidaas darteed cinwaan stub oo faylka ku jira isagoo resolve aan halkaas ku jirin waxa uu ka dhigan yahay in weydiimahu gaaraan dhegeystaha maxalliga ah halka aanay waxna maamulayn kala-qaybinta. Liiskaas ugu dambeeyana waa muhiim, sababtoo ah mashiin aan lahayn stub-resolv.conf ma shaqeeyo habka halkan lagu sharraxay.

Haddii silsiladdu ku dhammaato fayl uu maamulo xidhmo kale, macmiilka VPN iyo xidhmadaas waa labada milkiilaha ee la heshiin karo. Beddelidda xidhiidhka waxay tuurtaa shaqada milkiile keliya oo waxay ka tagtaa tan kale meesheeda.

Ku hagaaji milkiilaha xidhiidhka

Xidhiidhka VPN waa in uu server-yadiisa iyo domain-yadiisa ku diiwaangeliyaa xidhiidhkiisa, ka dibna uu ka noqdo marka la gooyo. Isku-dhafka resolved ee NetworkManager iyo caawiyaha macmiilka laftiisa labaduba sidaas ayay u shaqeeyaan; script kaliya dib u qora resolv.conf sidaas ma sameeyo.

Xidhiidh hore u jiray, dejinta waqtiga socodka ayaa muujinaya habka. resolvectl dns tun0 10.40.0.53 waxa uu ku lifaaqaa server, resolvectl domain tun0 '~corp.example' waxa uu ku lifaaqaa domain marin-u-jiid. Tilde (~) waa xarafka culayska qaada: waxa uu weydiimaha daba-galkaas ku xaddidaa xidhiidhkan oo waxa kale oo dhan u daayaa, halka isla qiimahaas isagoo aan lahayn uu noqdo domain raadin oo kala-qaybintu uumi doonto. Cinwaannadaas waa tusaalooyin shaybaadh, ma aha habayn joogto ah. Ku xaqiiji resolvectl query host.corp.example oo akhri xidhiidhkee jawaabay.

Server la diiwaangeliyay wali waxa uu u baahan yahay waddo. Marka weydiintu gaarto xidhiidhka saxda ah oo waqtigu dhamaado, cilladdu waxay ku jirtaa gaadhista tunnel-ka, ma aha lahaanshaha xalliyaha.

Xaalad shaqaynaysa sidee bay u eg tahay

Natiijo caafimaad qabta waa mid iswaafajisan saddexda aragti: server-yada isku-xidh kastaa waxa ay la mid yihiin wixii VPN-ku qaybiyay, domain-yada marin-u-jiidku waxa ay daboolaan oo kaliya daba-galyada gudaha, barnaamijka muhiimka ahuna waxa uu xalliyaa magac gudaha halka magac dadweyne uu wali raacayo wadada maxalliga ah. Hal weydiin oo guulaysatay waxa ay caddaynaysaa wax ka yar heshiiskaas.

Ka dib gooy oo labada weydiin ku celi. Macmiilka ka taga domain-yadiisa diiwaangashan ka dib burburka waxa uu soo saaraa mashiin fashilma raadinta gudaha saacado ka dib, isagoo aan lahayn tunnel furan iyo sabab cad.

Maqaallo la xiriira