Adresele de resolver care par străine apar constant în rezultatele testelor DNS, iar concluzia la care ajung oamenii este mereu aceeași: interogările trebuie să fi scăpat din tunel. Uneori chiar au scăpat. Mai des, raportul descrie ce serviciu recursiv a răspuns și unde crede o bază de date că se află acea adresă, iar aceasta este o afirmație despre infrastructură, nu despre pachetele tale. Separarea observației de inferență cere trei fapte: cine a răspuns, cum a călătorit numele și ce politică ai configurat de fapt.

Citește ce a observat de fapt testul

Majoritatea paginilor de test funcționează la fel: cer clientului să rezolve un nume de gazdă unic și apoi se uită la ce resolver l-a adus, sau pur și simplu returnează adresa de resolver pe care clientul o raportează. Asta identifică un serviciu recursiv și, dacă interogarea purta informații de subrețea ale clientului, o locație de rețea aproximativă. Nu dovedește că interogarea a părăsit dispozitivul în afara tunelului și cu siguranță nu dovedește că aceeași cale a fost folosită pentru fiecare nume. O singură observație a unei căutări este generalizată într-o afirmație despre tot traficul.

Un test care arată adresa resolverului este mai util decât o insignă de țară, pentru că adresa poate fi comparată cu lista de resolvere pe care clientul a primit-o efectiv.

Anycast și redirecționarea explică majoritatea surprizelor

Resolverele publice mari anunță aceeași adresă din multe locații, iar rețeaua direcționează fiecare interogare către locația cea mai apropiată din punct de vedere al rutării. O bază de date de geolocalizare asociază apoi acea adresă unei singure locații, care poate fi o adresă de înregistrare corporativă de pe alt continent sau un centru de date care nu este cel care răspunde. RFC 4786 acoperă practica operațională pentru serviciile anycast și dificultatea de a asocia o astfel de adresă cu un singur loc fizic. Harta este o simplificare a unei decizii de rutare și simplifică în direcția care produce rezultate alarmante.

Redirecționarea adaugă un al doilea strat. Un resolver stub local, un router sau resolverul furnizorului pot transmite interogările unui serviciu aflat mai sus, iar numele care apare în test reflectă ultimul operator din acel lanț, nu primul. Extensiile de subrețea ale clientului pot face un răspuns de sus potrivit pentru rețeaua ta, făcând în același timp locația raportată să pară un loc în care nu ai fost niciodată.

Un resolver configurat poate deci să fie corect și totuși să producă un rezultat cu aspect străin, iar un resolver din propria țară poate fi cel greșit pentru că aparține unei părți pe care nu ai ales-o.

Cine a primit numele și pe ce rută

La partea practică răspund două întrebări: ce server folosește clientul și dacă acel server este atins prin tunel. Compară lista de resolvere cu adresa din rezultatul testului înainte de a trage concluzii despre rutare, apoi verifică dacă interogarea către acea adresă iese prin interfața tunelului. Dacă cele două adrese diferă, descoperirea interesantă este că ceva a rescris sau a ocolit resolverul intenționat, iar asta merită o privire mai atentă decât numele țării.

resolvectl query example.com
resolvectl status | grep -A3 'DNS Servers'
dig +short TXT whoami.akamai.net

Prima comandă arată ce server a răspuns pentru un nume, a doua arată lista configurată și domeniul ei de aplicare, iar a treia raportează adresa resolverului așa cum o vede un serviciu public. Când toate trei sunt de acord, politica face ceea ce a fost configurată să facă, orice ar spune eticheta de țară.

Compară cu politica pe care ai ales-o

Un VPN care impune un resolver, un browser configurat să folosească propriul DNS criptat și un sistem de operare care preferă setările unei singure interfețe pot fi corecte separat în timp ce se contrazic împreună. Browserele moderne pot trimite interogări printr-un transport criptat către un furnizor ales în browser, ceea ce ocolește în mod deliberat lista de resolvere a sistemului. Nu este o scurgere în sensul unui tunel rupt; este o politică aleasă în altă parte, iar găsirea locului unde a fost aleasă este sarcina reală.

Dispozitivele de lucru adaugă reguli pe domenii: numele interne trebuie să meargă la resolverul organizației, în timp ce restul urmează valoarea implicită. Înlocuirea acestei rânduieli pentru că o pagină de test a arătat o țară neașteptată este felul în care numele interne încetează să se rezolve pentru o întreagă echipă.

Ține testele înguste și sigure

A întreba un serviciu de test public despre un nume de gazdă intern dezvăluie numele unei părți care nu are ce face cu el, iar răspunsul nu îți spune nimic ce nu ar spune citirea locală a listei de resolvere.

Folosește în schimb nume care dezvăluie infrastructura, înregistrează adresa resolverului, domeniul de aplicare și interfața folosită, și compară acea înregistrare cu intenția documentată. Eticheta de pe hartă este context pentru o conversație, nu un rezultat de promovat sau picat, iar tratarea ei ca verdict produce schimbări de configurare în loc de diagnostic.

Articole similare