Għaliex l-ismijiet tal-host interni jiġu riżolti f’dig iżda jfallu f’curl fuq VPN
dig iwieġeb, iżda curl jirrapporta li ma jistax jirriżolvi l-host. Qabbel iż-żewġ ktajjen tar-riżoluzzjoni, imbagħad sewwi nsswitch, id-DNS għal kull link jew suffiss tat-tfittxija żbaljat.
Il-laptop tiegħek qiegħed fuq il-VPN, dig service.internal.example iwieġeb b’indirizz 10.x, u curl xorta jispiċċa b’Could not resolve host. Il-mina mhijiex il-problema: ġarrbet it-talba ta’ dig mingħajr ilmenti. Dak li hu differenti huwa min jagħmel il-mistoqsija. dig jibgħat talba waħda lil server wieħed li tispeċifika int, filwaqt li curl jgħaddi mill-katina tar-riżoluzzjoni tas-sistema operattiva, u dik il-katina għandha r-regoli tagħha dwar liema server jiġi mistoqsi.
Żewġ riżoluzzjonijiet għall-istess isem
dig huwa stub resolver tiegħu nnifsu. Jaqra /etc/resolv.conf, jagħżel nameserver, jibgħat talba waħda A jew AAAA u jipprintja t-tweġiba. Jaqbeż nsswitch għal kollox u ma jafx xejn dwar l-istat għal kull link li systemd-resolved jew NetworkManager iżommu barra minn dak il-fajl, u għalhekk tweġiba ta’ dig tista’ tkun korretta u xorta ma tgħidlek xejn dwar dak li se jara l-applikazzjoni tiegħek.
L-applikazzjonijiet isejħu getaddrinfo, u getaddrinfo jimxi fuq katina itwal: l-ordni tal-modi ta’ nsswitch, imbagħad il-mod li jittratta l-isem, u mbagħad ir-resolver mibni mill-konfigurazzjoni tal-link attwali. Fuq magna systemd it-talba tmur lil 127.0.0.53 u systemd-resolved jagħżel server upstream għal kull link skont id-dominju tar-routing marbut mal-interface tun.
Żewġ kmandi jifirdu dawk is-saffi mingħajr ma jaqtgħu bl-addoċċ:
getent ahosts service.internal.example
resolvectl query service.internal.example
getent juża l-istess triq bħal curl, għalhekk falliment ta’ getent ħdejn dig li jaħdem jillokalizza l-ħsara fil-politika tar-riżoluzzjoni u mhux fir-routing tal-pakketti. resolvectl query jipprintja wkoll l-interface u l-upstream li pprovda t-tweġiba, li juri jekk il-link tal-mina jew il-link fiżiku rebaħ id-deċiżjoni.
Aqra r-resolver li l-applikazzjoni attwalment tuża
/etc/resolv.conf jiġi ġġenerat fuq il-biċċa l-kbira tad-desktops, u klijent VPN għandu tliet modi kif jinteraġixxi miegħu: iqiegħed nameserver quddiem, jikteb il-fajl mill-ġdid, jew jgħaddi s-server tiegħu lil NetworkManager u jħalli d-daemon jikteb mill-ġdid. It-tielet mudell biss iżomm id-DNS għal kull link, għax is-server jibqgħu marbutin ma’ interface minflok ma jiġu ċċattjati f’lista globali waħda.
Fuq sistemi NetworkManager ir-riżultat jiddependi mill-backend f’/etc/NetworkManager/NetworkManager.conf:
[main]
dns=systemd-resolved
B’dns=default is-server tal-klijent jingħaqdu f’resolv.conf fl-ordni li tirbaħ, u riżoluzzjoni privata xorta tista’ tintbagħat lir-resolver pubbliku. B’backend li jifhem il-links, systemd-resolved jew dnsmasq, is-server tal-mina jibqgħu limitati għall-mina u jinżlu hemm biss l-ismijiet li jaqblu mad-dominju tar-routing tagħha. Dik il-limitazzjoni hija dak li tfisser split DNS fil-prattika, u hija l-biċċa li l-aktar ta’ spiss tonqos meta klijent jgħid li jappoġġjaha.
Aqra l-istat qabel ma tibdel xejn:
resolvectl status
resolvectl dns tun0
Trid tara l-interface tun elenkata b’server DNS u dominju tar-routing għas-suffiss privat, murija bħala ~internal.example. L-ebda server fuq il-link ifisser li l-klijent ma bagħat xejn. Server mingħajr dominju ifisser li r-riżoluzzjonijiet kollha jmorru hemm jew l-ebda, skont il-klijent, u l-ebda wieħed minnhom mhu split DNS.
Fejn nsswitch itemm ir-riżoluzzjoni qabel iż-żmien
Linja standard tad-desktop tidher hekk:
hosts: files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns myhostname
mdns4_minimal jittratta d-DNS multicast u jitlob kull isem li jispiċċa f’.local. Servizz Kubernetes bħal api.infra.svc.cluster.local jispiċċa wkoll f’.local. Meta l-mod mDNS jirrapporta NOTFOUND, l-azzjoni [NOTFOUND=return] itemm ir-riżoluzzjoni kollha minflok tkompli lejn il-mod dns, għalhekk l-isem qatt ma jintbagħat lir-resolver tal-VPN. dig iwarrab il-fajl għal kollox, u huwa eżattament għalhekk li ż-żewġ għodod ma jaqblux.
Dak huwa l-aktar kuntrast qawwi f’dan il-problema, u jiddependi fuq kelma waħda f’fajl ta’ konfigurazzjoni eqdem mill-VPN tiegħek. Tibdil tal-azzjoni għal [NOTFOUND=continue] iżomm mDNS għall-printers u l-apparati lokali filwaqt li jħalli d-DNS jara l-isem. Issostitwixxi l-linja b’hosts: files dns jaħdem ukoll u huwa aktar goff: ineħħi r-riżoluzzjoni .local għall-printer li attwalment tuża.
Ismijiet li jgħixu f’netwerk wieħed biss
Iż-żoni privati huma awtorevoli f’post wieħed biss. Isem AWS bħal ip-10-0-4-31.eu-west-1.compute.internal jiġi mwieġeb mir-resolver tal-VPC ta’ dak ir-reġjun, u biss sakemm l-endpoint tal-VPN tiegħek ikun fl-istess reġjun tar-riżorsa. Qabbad ma’ endpoint fi Frankfurt, staqsi isem compute.internal mill-Irlanda, u l-ebda setting lokali ma jgħin: iż-żona li żżomm ir-rekord mhijiex aċċessibbli minn hemm.
Id-dominji tat-tfittxija jipproduċu l-immaġni mċaqilba. service nieqes jiġi komplut bis-suffiss li r-resolver jaħseb li japplika, u b’link VPN id-dominju lokali jista’ jirbaħ lil dak korporattiv. Staqsi b’punt fl-aħħar biex tneħħi l-preżunzjoni, getent ahosts service.internal.example., u jekk dan jaħdem filwaqt li l-isem qasir ifalli, is-sewwa hija d-dominju tat-tfittxija fuq il-mina, mhux l-indirizz tas-server.
Il-klijenti ġestiti jżidu t-tielet saff fuq ir-resolver tas-sistema. Profil VPN ta’ Windows jista’ jġorr il-politika tiegħu tar-riżoluzzjoni tal-ismijiet, regoli għal kull app u tabella NRPT li tapplika wkoll meta l-mina tkun waqfa. L-applikazzjonijiet biċ-cache DNS tagħhom, komuni fir-runtimes .NET u Java, iżommu falliment skadut ħafna wara li l-katina tiġi ssewwa. Il-klijenti Apple jikkonfiguraw is-split DNS permezz ta’ dominji ta’ tqabbil fis-settings tad-DNS minflok permezz ta’ resolv.conf, u Chromium jew Firefox fil-modalità secure-DNS jistgħu jaqbżu r-resolver tas-sistema għall-ismijiet pubbliċi. Ir-referenza ta’ Microsoft dwar ir-riżoluzzjoni tal-ismijiet tal-VPN tiddeskrivi n-naħa Windows ta’ dak is-saff ta’ politika.
Iddeċiedi liema saff għandu jiġi ssewwa
Aħdem mis-sintomu għas-saff minflok tipprova s-sewwiet fl-ordni:
| Symptom | What it means | Check first |
|---|---|---|
| dig answers, getent fails | lookup chain, not the packet path | nsswitch line and resolvectl status |
| Timeout rather than NXDOMAIN | private resolver unreachable through the tunnel | resolvectl dns tun0, route to that address |
| NXDOMAIN | an authority answered and does not know the name | zone owner, endpoint region |
| FQDN works, short name fails | search suffix mismatch | resolvectl domain on the tun link |
| getent works, app fails | app cache or its own resolver | restart the app, check secure DNS |
Żewġ ringieli jġorru l-biċċa l-kbira tal-piż. Timeout huwa problema ta’ aċċessibbiltà: ir-resolver privat mhux qiegħed iwieġeb mill-mina, għalhekk iċċekkja r-rotta lejn l-indirizz tiegħu u jekk is-server DNS fuq il-link huwiex dak li taħseb. NXDOMAIN hija problema ta’ awtorità: xi ħaġa wieġbet u ma tafx l-isem, li jwassal għaż-żona, għar-reġjun jew għal resolver li qatt ma kellu jirċievi t-talba.
L-aħħar ringiela hija dik li n-nies jaqbeżu għax iż-żewġ nofsijiet jidhru bħala suċċess. Isem qasir li jiġi riżolt b’mod differenti mill-FQDN huwa nuqqas ta’ qbil fis-suffiss, u li terġa’ tqabbad il-mina ma jbiddilx liema suffiss jibgħat il-klijent.
Aqbad l-istat qabel ma tibdel fajl ta’ konfigurazzjoni, biex tkun tista’ tgħid jekk il-bidla għamlitx xi ħaġa:
resolvectl status > before.txt
getent ahosts service.internal.example >> before.txt
Mexxi l-kontrolli f’din l-ordni u waqaf fl-ewwel waħda li tfalli. getent u resolvectl query għandhom jaqblu; jekk getent ifalli filwaqt li dig iwieġeb, ibqa’ fil-katina tar-riżoluzzjoni u tmissx ir-routing. resolvectl status għandu juri server DNS u dominju tar-routing fuq l-interface tun. nsswitch m’għandux jirritorna kmieni fuq NOTFOUND għas-suffiss li qed tittestja. L-isem għandu jkun awtorevoli fin-netwerk li miegħu huwa mqabbad l-endpoint tiegħek, ittestjat b’punt fl-aħħar. L-applikazzjoni m’għandhiex iżżomm cache tagħha jew override ta’ secure-DNS.
Sewwi biss l-ewwel saff li jfalli u mbagħad erġa’ mexzi l-istess kmandi. Żewġ bidliet f’daqqa jħalluk ma tistax tgħid liema waħda għamlet differenza, u l-ħsara li jmiss tibda l-investigazzjoni minn żero.