Teie sülearvuti lahendab intranet.corp tunneli kaudu, samal ajal kui gitlab.com läheb edasi teenusepakkuja lahendajasse, ja see ongi kavandatud viisil töötav lahendus. Selle tekitasid kaks eraldi otsust: nimevaste reegel valis lahendaja ja marsruut tõi vastuse tagasi. Katke kumb tahes ja brauser näitab tõrget, mis väljastpoolt vaadates näeb ühesugune välja. Enamik jagatud DNS-i aruandeid kirjeldab teist tõrget, tsiteerides samal ajal tõendeid esimese kohta.

Kaks poolt elavad eri kohtades ja neid muudavad tavaliselt eri inimesed. Üks on VPN-profiili külge kinnitatud DNS-poliitika, teine on marsruut, mille tunnel paigaldab või kinni hoiab. Silumine jääb seisma, kui keegi ei tee kindlaks, milline pool tegelikult liikus.

Kaks otsust ühes päringus peidus

Nimepool on poliitikaobjekt, mitte marsruut. Windowsis on see VPN-profiili nime lahendamise poliitika; Apple'i platvormidel vaste-domeenide hulk DNS-i seadete objektil; Linuxis marsruutimisdomeen, jagatud lahendaja rida või nimesideteenuse lüliti järjekord. Teepool on tavaline marsruutimine, mille paigaldab tunnel või käsitsi, ja sellel pole aimugi, mis on hostinimi. Profiil, mis lubab järelliidet, otsustab ainult, kes vastab; see ei tee vastust kunagi kättesaadavaks.

Kiire sümptomitest eraldab need: asendage nimi aadressiga. Kui aadress töötab, on tee korras ja reegel vale. Kui ka aadress ebaõnnestub, võib reegel olla õige ja tee puudu.

Kuidas iga platvorm sama nimireeglit väljendab

Kavatsus on identne ja väljade nimed ei ole. Ühest kliendist teise kopeeritud näide parsitakse puhtalt ja ei sobi kunagi. Kolm vormi näevad välja nii:

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

Vaste- või marsruutimisdomeen on järelliite test, seega intranet.corp katab git.intranet.corp ja ei kata corp.intranet, ning selle ümberpööramine on kogu seadistuse kõige levinum viga. Windows kannab vastendust profiili külge kinnitatud nime lahendamise poliitikana, millel on oma prioriteedijärjekord liidese juba olemasoleva järelliiteloendi suhtes. Apple'i platvormid kinnitavad vaste-domeenid võrgu laienduse DNS-i seadete objekti külge ja süsteem rakendab neid iga piiritletud lahendaja kohta. Ükski neist vormidest ei ole marsruut ja ükski ei suuda muuta kättesaamatut aadressi kättesaadavaks. Viide Windowsi nime lahendamise poliitika loetleb selle platvormi väljade nimed ja prioriteedireeglid ning need ei ole need, mida kasutavad Apple'i või systemdi dokumentatsioon.

Õige vastus vajab endiselt teed

Lahendaja vastus on ainult aadress ja rakendus peab ikkagi selleni jõudma. Jagatud tunneli lahendus lükkab tavaliselt 10.20.0.0/16 ja hoiab vaikimisi marsruudi kinni, nii et sisemine nimi lahendatakse ja ühendus jääb seejärel rippuma. Vastupidine juhtum on sama tavaline: marsruut on olemas, avalik lahendaja vastab privaatsele nimele NXDOMAIN-iga ja tõrge registreeritakse marsruutimisprobleemina. Tee testimine kõigepealt jätab teid vaatama marsruute nime jaoks, mida ei olnudki kunagi plaanis lahendada.

On ka kolmas värav, mida kumbki pool ei kata. ACL lüüsil, tulemüürireegel või kliendipoolne poliitika võivad ühenduse maha visata pärast seda, kui mõlemad otsused olid õiged. Kui nimi lahendatakse, marsruut on olemas ja ühendus aegub ikkagi, lõpetage DNS-i testimine.

Nimede ja teede testimine kindlas järjekorras

Valige järjekord ja hoidke sellest kinni, muidu jälitate sammu, mis ebaõnnestus kõige hiljem. Lahendage dokumenteeritud täielik sisemine nimi, kinnitage, et vastus on aadress, mida marsruutimistabel suudab kanda, seejärel korrake avaliku nimega, et tõestada, et tunnel ei haaranud kõike. systemd-hostis on päring ja lahendaja marsruutimisdomeen ühe käsu kaugusel:

resolvectl query intranet.corp
resolvectl domain
ip route get 10.20.5.10

Windowsi klient küsib samu kahte küsimust teiste cmdlet-idega. Teine teatab liidese, mida süsteem tegelikult kasutaks:

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

Kui otsing tagastab aadressi ja tee kontroll nimetab füüsilise liidese, siis nimireegel töötas ja marsruut mitte. Kui lühike nimi ebaõnnestub, samal ajal kui täielik nimi lahendatakse, on viga järelliiteloendis, mitte lahendajas.

Kus võrdlus tavaliselt untsu läheb

Esimene viga on küsida kõrvaliselt avalikult lahendajalt privaatse nime kohta ja lugeda keeldumist tõendiks VPN-i kohta. Teine on eeldada, et töötav avalik otsing tõestab tunneli lahendaja teed. Kolmas on käsitleda jagatud tunnelit ja jagatud DNS-i ühe kavandamisotsusena, kuigi juurutus võib olla ühes õige ja teises katki. Iga viga annab enesekindlad järeldused testist, mis ei harjutanud kunagi süüdistatavat osa.

Oma turvalise DNS-iga brauser võib samuti süsteemireeglist mööda minna, seetõttu ei ole see vastuolu, et üks brauser ebaõnnestub, samal ajal kui teine õnnestub. Võrrelge lahendajat, mis vastas, mitte brauserit, mis kaebas.

Kui mõlemad pooled on nähtavad, on järelejäänud küsimus poliitika, mitte tehniline: millised nimeruumid kuuluvad organisatsioonile, kes omab iga vastust ja millised neist peaksid masinast üldse lahkuma. Kirjutage see profiili kõrvale, sest järgmine inimene, kes reeglit puudutab, vajab seda.

Seotud artiklid