Laptopi juaj e zgjidh intranet.corp përmes tunelit, ndërsa gitlab.com vazhdon të shkojë te zgjidhësi i ofruesit, dhe ky është rregullimi që funksionon siç është projektuar. Dy vendime të veçanta e krijuan: një rregull i përputhjes së emrit zgjodhi zgjidhësin, dhe një rrugë e ktheu përgjigjen. Thyeni cilindo prej tyre dhe shfletuesi tregon një dështim që nga jashtë duket i njëjtë. Shumica e raporteve për DNS të ndarë përshkruajnë dështimin e dytë, ndërsa citojnë prova për të parin.

Dy gjysmat jetojnë në vende të ndryshme dhe zakonisht redaktohen nga njerëz të ndryshëm. Njëra është politika DNS e lidhur me profilin VPN, tjetra është një rrugë që tuneli e instalon ose e mban. Diagnostikimi ngec kur askush nuk përcakton cila gjysmë lëvizi në të vërtetë.

Dy vendime të fshehura në një kërkesë

Gjysma e emrit është objekt politike, jo rrugë. Në Windows është politikë e zgjidhjes së emrave në profilin VPN; në platformat Apple një grup domenesh përputhjeje në një objekt cilësimesh DNS; në Linux një domen rrugëtimi, një rresht zgjidhësi të ndarë ose rendi i ndërprerësit të shërbimit të emrave. Gjysma e shtegut është rrugëtim i zakonshëm, i instaluar nga tuneli ose me dorë, dhe nuk e ka idenë se çfarë është emri i hostit. Një profil që lejon një prapashtesë vendos vetëm kush përgjigjet; nuk e bën kurrë përgjigjen të arritshme.

Një test i shpejtë simptomash i ndan: zëvendësoni emrin me një adresë. Nëse adresa funksionon, shtegu është në rregull dhe rregulli gabon. Nëse edhe adresa dështon, rregulli mund të jetë i saktë dhe shtegu mungon.

Si e shpreh secila platformë të njëjtin rregull emri

Qëllimi është identik dhe emrat e fushave nuk janë. Një shembull i kopjuar nga një klient në tjetrin analizohet pastër dhe nuk përputhet kurrë. Tre format duken kështu:

PlatformWhere the rule livesWhat usually breaks
Windowsname-resolution policy on the VPN profileprecedence against the interface suffix list
Apple platformsmatch domains on the DNS settings objectdomains attached to the wrong extension
Linuxrouting domain, split resolver, nsswitch orderthe suffix written the wrong way round

Një domen përputhjeje ose rrugëtimi është test prapashtese, prandaj intranet.corp mbulon git.intranet.corp dhe nuk mbulon corp.intranet, dhe përmbysja e kësaj është gabimi më i zakonshëm në të gjithë konfigurimin. Windows e mban hartëzimin si politikë të zgjidhjes së emrave të lidhur me profilin, me rendin e vet të përparësisë ndaj çdo liste prapashtesash që ndërfaqja kishte tashmë. Platformat Apple lidhin domenet e përputhjes me objektin e cilësimeve DNS të zgjerimit të rrjetit, dhe sistemi i zbaton ato për çdo zgjidhës të kufizuar. Asnjë nga këto forma nuk është rrugë, dhe asnjëra nuk mund ta bëjë një adresë të paarritshme të arritshme. Referenca politika e zgjidhjes së emrave në Windows rendit emrat e fushave dhe rregullat e përparësisë për atë platformë, dhe ato nuk janë ato që përdorin dokumentet e Apple ose systemd.

Një përgjigje e saktë ende ka nevojë për një shteg

Përgjigja e një zgjidhësi është vetëm një adresë, dhe aplikacioni duhet të arrijë akoma atje. Një projekt tuneli të ndarë shpesh shtyn 10.20.0.0/16 dhe mban rrugën e paracaktuar, kështu që emri i brendshëm zgjidhet dhe lidhja më pas varet. Rasti i kundërt është po aq i zakonshëm: rruga ekziston, një zgjidhës publik i përgjigjet emrit privat me NXDOMAIN, dhe dështimi regjistrohet si problem rrugëtimi. Testimi i shtegut së pari ju lë të shikoni rrugët për një emër që nuk do të zgjidhej kurrë.

Ekziston edhe një portë e tretë që asnjë gjysmë nuk e mbulon. Një ACL në portë, një rregull firewalls ose një politikë në anën e klientit mund ta hedhin lidhjen pasi të dy vendimet ishin të sakta. Kur emri zgjidhet, rruga ekziston dhe lidhja prapë skadon, ndaloni testimin e DNS.

Testimi i emrave dhe shtigjeve në një rend fiks

Zgjidhni një rend dhe mbani atë, përndryshe do të ndiqni hapin që dështoi i fundit. Zgjidhni emrin e plotë të brendshëm të dokumentuar, konfirmoni se përgjigja është një adresë që tabela e rrugëtimit mund ta mbajë, më pas përsëriteni me një emër publik për të provuar se tuneli nuk kapi gjithçka. Në një host systemd kërkesa dhe domeni i rrugëtimit të zgjidhësit janë një komandë larg njëri-tjetrit:

resolvectl query intranet.corp
resolvectl domain
ip route get 10.20.5.10

Një klient i Windows i bën të njëjtat dy pyetje me cmdlet të tjera. I dyti raporton ndërfaqen që sistemi do të përdorte në të vërtetë:

Resolve-DnsName intranet.corp -Type A
Find-NetRoute -RemoteIPAddress 10.20.5.10

Nëse kërkimi kthen një adresë dhe kontrolli i shtegut përmend ndërfaqen fizike, rregulli i emrit funksionoi dhe rruga jo. Nëse emri i shkurtër dështon ndërsa emri i plotë zgjidhet, lista e prapashtesave është e gabuar dhe jo zgjidhësi.

Ku shkon zakonisht keq krahasimi

Gabimi i parë është të pyesësh një zgjidhës publik të palidhur për një emër privat dhe ta lexosh refuzimin si provë për VPN. I dyti është të supozosh se një kërkim publik që funksionon provon shtegun e zgjidhësit të tunelit. I treti është ta trajtosh tunelizimin e ndarë dhe DNS të ndarë si një vendim të vetëm projekti, ndërsa një vendosje mund të jetë e saktë në njërin dhe e prishur në tjetrin. Çdo gabim prodhon përfundime të sigurta nga një test që nuk e ushtroi kurrë pjesën e akuzuar.

Një shfletues me DNS të vetë sigurt mund të anashkalojë rregullin e sistemit, prandaj fakti që një shfletues dështon ndërsa tjetri ka sukses nuk është kontradiktë. Krahasoni zgjidhësin që u përgjigj, jo shfletuesin që u ankuan.

Pasi të dyja gjysmat të jenë të dukshme, pyetja e mbetur është pyetje politike dhe jo teknike: cilat hapësira emrash i përkasin organizatës, kush zotëron çdo përgjigje dhe cilat prej tyre duhet ta lënë makinën fare. Shkruajeni këtë pranë profilit, sepse personi tjetër që prek rregullin do t'i duhet.

Artikuj të ngjashëm