Għala resolv.conf juri d-DNS tal-VPN tiegħek iżda t-tfittxijiet jinjorawh
Fuq host b'resolved il-fajl huwa veduta, mhux l-istat. Segwi l-istub, is-servers ta' kull konnessjoni u l-linja nsswitch biex tara liema t-tfittxija tassew tuża.
Fil-logs xejn ma jidher ħażin: l-interfaċċa hija attiva, is-solver jirrapporta s-server DNS tal-VPN, u l-fajl fuq id-diska jelenkah. Madankollu isem ta' host intern għadu jiġi riżolt permezz tar-router lokali. Dawn it-tliet dikjarazzjonijiet ma jikkontradixxux lil xulxin, għax il-fajl, l-istat ta' kull konnessjoni u t-triq tat-tfittxija huma oġġetti differenti li b'kumbinazzjoni jaqsmu l-istess isem. Li ġej huwa t-triq li mistoqsija tassew tieħu fuq host b'systemd-resolved.
Tliet oġġetti bl-isem resolv.conf
Fuq host b'resolved, /etc/resolv.conf normalment huwa konnessjoni simbolika għal /run/systemd/resolve/stub-resolv.conf. Dak il-mira fih l-indirizz ta' semmiegħ stub lokali, 127.0.0.53, flimkien mad-dominji tat-tfittxija li kkalkula resolved. Hija veduta tal-istat, mhux l-istat innifsu.
L-istat jgħix fil-konfigurazzjoni ta' resolved għal kull konnessjoni, u għalhekk resolvectl status jista' ma jaqbilx mal-fajl u xorta jkun sewwa. Kull konnessjoni ġġorr is-servers tagħha u d-dominji tar-rotot tagħha, u l-istub jikkonsulta dak id-dejta meta tasal mistoqsija. Il-manwal ta' systemd-resolved jiddeskrivi l-fajls iġġenerati u l-mudell ta' kull konnessjoni; is-separazzjoni bejn veduta u stat hija l-parti li jiswa li tiftakar. Li tbiddel il-mira tal-konnessjoni simbolika jbiddel dak li jaqraw il-klijenti tradizzjonali, mhux dak li jaf is-solver.
It-tielet oġġett, /run/systemd/resolve/resolv.conf, iċċattja kull konnessjoni f'lista waħda ta' servers. Programm indirizzat lejn dak il-fajl jibgħat mistoqsijiet direttament lis-servers elenkati u jaqbeż l-istub, għalhekk il-politika ta' kull konnessjoni ma tibqax tapplika għalih. Għalhekk żewġ programmi fuq l-istess magna jistgħu jwieġbu l-istess isem b'mod differenti, u lanqas wieħed mhuwa miksura.
Segwi tfittxija waħda permezz ta' NSS
glibc jaqra /etc/nsswitch.conf biex jiddeċiedi min iwieġeb isem. Linja hosts li fiha resolve iddur il-mistoqsija lejn nss-resolve, li jistaqsi lil resolved permezz ta' D-Bus u jirċievi t-tweġiba ta' kull konnessjoni. Linja biss b'files dns tibgħat il-mistoqsija lejn l-indirizz li jżomm /etc/resolv.conf.
Dik il-linja waħda tispjega l-biċċa l-kbira tad-differenzi bejn browser u dig. dig jaqra resolv.conf direttament u qatt ma jmiss NSS, għalhekk jittestja l-istub jew server 'il fuq minflok it-triq li tuża l-applikazzjoni. getent hosts internal.example jgħaddi minn NSS, u li tqabbel it-tweġiba tiegħu ma' dik ta' dig hija l-ewwel kejl utli.
Applikazzjonijiet li jġorru solver tagħhom, jew li jkellmu DNS fuq HTTPS ma' punt finali fiss, jaqbżu ż-żewġ triqat. Xejn f'resolv.conf jew fl-istat ta' resolved ma jillimitahom.
Iċċekkja ta' min hu l-fajl u fejn jindika
Aqra l-katina tal-konnessjonijiet qabel tbiddel xi ħaġa, għax is-sjieda tiddeċiedi liema fajl huwa awtorevoli. Kull kmand hawn taħt jaqra biss l-istat.
stat -c '%N' /etc/resolv.conf
resolvectl status --no-pager
grep '^hosts' /etc/nsswitch.conf
ls -l /run/systemd/resolve/
L-ewwel linja tipprintja l-konnessjoni u l-mira tagħha flimkien, u fajl ordinarju proprjetà ta' skript VPN ifisser li s-solver qatt ma jqis dak il-kitba bħala input. Il-ħruġ tal-istat jelenka s-servers ta' kull konnessjoni flimkien mad-dominji tar-rotot li jiddeċiedu fejn tmur kull mistoqsija. Il-linja nsswitch tgħid jekk l-istub huwiex ikkonsultat xejn, għalhekk indirizz stub fil-fajl mingħajr resolve hemm ifisser li l-mistoqsijiet jaslu għand is-semmiegħ lokali waqt li xejn ma jamministra s-separazzjoni. Dik il-lista tal-aħħar hija importanti wkoll, għax host mingħajr stub-resolv.conf ma jħaddimx l-arranġament deskritt hawn.
Jekk il-katina tintemm f'fajl amministrat minn pakkett ieħor, il-klijent VPN u dak il-pakkett huma ż-żewġ sidien li għandhom jiġu rikonċiljati. Li tissostitwixxi l-konnessjoni tarmi x-xogħol ta' sid wieħed u tħalli dak tal-ieħor f'postu.
Sewwi għand is-sid tal-konnessjoni
Konnessjoni VPN għandha tirreġistra s-servers u d-dominji tagħha fuq il-konnessjoni tagħha stess, imbagħad tirtirhom meta tiskonnettja. L-integrazzjoni resolved ta' NetworkManager u l-għajnuna tal-klijent stess it-tnejn jaħdmu hekk; skript li jikteb mill-ġdid biss resolv.conf ma jagħmilx hekk.
Fuq konnessjoni li diġà teżisti, is-settings tal-ħin tal-eżekuzzjoni juru l-mekkaniżmu. resolvectl dns tun0 10.40.0.53 iżżid server, u resolvectl domain tun0 '~corp.example' iżżid dominju tar-rotot. It-tilde hija l-karattru li jġorr il-piż: tillimita l-mistoqsijiet għal dak is-suffiss għal din il-konnessjoni u tħalli kollox ieħor kwiet, filwaqt li l-istess valur mingħajrha jsir dominju tat-tfittxija u s-separazzjoni tevapora. Dawk l-indirizzi huma eżempji tal-laboratorju, mhux konfigurazzjoni permanenti. Ikkonferma b'resolvectl query host.corp.example u aqra liema konnessjoni wieġbet.
Server reġistrat xorta għandu bżonn rotta. Meta l-mistoqsija tasal għall-konnessjoni t-tajba u tagħti fil-waqt, il-ħsara hija fl-aċċessibbiltà permezz tal-mina, mhux fis-sjieda tas-solver.
Kif jidher stat li jaħdem
Riżultat f'saħħtu huwa konsistenti fit-tliet veduti: is-servers ta' kull konnessjoni jaqblu ma' dak li ta l-VPN, id-dominji tar-rotot ikopru biss suffissi interni, u l-applikazzjoni li tagħmel differenza ssolvi isem intern filwaqt li isem pubbliku xorta jimxi t-triq lokali. Mistoqsija waħda b'suċċess tipprova inqas minn dak il-qbil.
Imbagħad skonnettja u erġa' agħmel iż-żewġ mistoqsijiet. Klijent li jħalli d-dominji tiegħu reġistrati wara t-twaqqigħ jipproduċi magna li tonqos fit-tfittxijiet interni sigħat wara, mingħajr mina miftuħa u mingħajr kawża ovvja.