Utanlandske resolveradresser dukkar stadig opp i DNS-testresultat, og konklusjonen folk dreg er alltid den same: spørjefrågene må ha sleppt ut av tunnelen. Nokre gonger gjorde dei det. Oftare skildrar rapporten kva teneste som svara rekursivt og kvar ein database meiner adressa ligg, og det er eit utsegn om infrastruktur, ikkje om pakkane dine. Å skilje observasjonen frå slutninga krev tre fakta: kven som svara, korleis namnet reiste og kva policy du faktisk sette opp.

Les kva testen faktisk observerte

Dei fleste testsidene verkar på same måten: dei ber klienten løyse eit unikt vertsnamn og ser så kva resolver som henta det, eller dei sender berre tilbake resolveradressa klienten rapporterer. Det identifiserer ei rekursiv teneste og, om spørjefråga bar klient-undernett-informasjon, ein grov nettverksposisjon. Det beviser ikkje at spørjefråga forlét eininga utanfor tunnelen, og beviser absolutt ikkje at same ruta vart brukt for kvart namn. Éin observasjon av eitt oppslag vert generalisert til eit utsegn om all trafikk.

Ein test som viser resolveradressa er nyttigare enn eit landmerke, fordi adressa kan samanliknast med resolverlista klienten faktisk fekk.

Anycast og videresending forklarer dei fleste overraskingane

Store offentlege resolverar annonserer same adresse frå mange stader, og nettverket rutar kvar spørjefråga til staden som er nærast i rutemessig tyding. Ein geolokaliseringsdatabase knyter så adressa til éin stad, som kan vere ei bedriftsregistreringsadresse på ein annan kontinent eller eit datasenter som ikkje er det som svarar. RFC 4786 dekkjer operativ praksis for anycast-tenester og vansken med å knyte ei slik adresse til éin fysisk stad. Kartet er ei forenkling av ei rutingsavgjerd, og det forenklar i retninga som gir alarmande resultat.

Videresending legg til eit andre lag. Ein lokal stub-resolver, ein ruter eller ein ISP-resolver kan senda spørjefråger vidare til ei teneste lenger oppe, og namnet som viser seg i testen speglar den siste operatøren i kjeda snarare enn den første. Klient-undernett-utvidingar kan gjere eit svar ovanfrå skreddarsaumt til nettverket ditt samtidig som den rapporterte posisjonen ser ut som ein stad du aldri har vore.

Ein sett opp resolver kan difor vere rett og likevel gi eit utanlandsk utsjånad-resultat, og ein resolver i ditt eige land kan vere den gale fordi han høyrer til ein part du ikkje valde.

Kven fekk namnet, og via kva rute

To spørsmål svarar på den praktiske delen: kva tenar klienten brukar, og om den tenaren er nådd gjennom tunnelen. Samanlikn resolverlista med adressa i testresultatet før du dreg konklusjonar om ruting, og kontroller så at spørjefråga til den adressa går ut gjennom tunnelegrensesnittet. Om dei to adressene er ulike, er det interessante funnet at noko skreiv om eller omgjekk den tiltenkte resolvaren, og det fortener eit nærare blikk enn landnamnet.

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

Den første kommandoen viser kva tenar som svara for eit namn, den andre viser den sette opp-lista og omfanget hennar, og den tredje rapporterer resolveradressa slik ei offentleg teneste ser henne. Når alle tre er samde, gjer policyen det han vart sett opp til, same kva landmerket seier.

Samanlikn med policyen du valde

Ein VPN som pressar på ein resolver, ein nettlesar sett opp til å bruke sin eigen krypterte DNS og eit operativsystem som føretrekkjer innstillingane til eitt grensesnitt kan kvar for seg vere rette medan dei samla sett motseier kvarandre. Moderne nettlesarar kan senda spørjefråger over kryptert transport til ein leverandør som er vald i nettlesaren, noko som medvite omgår resolverlista til systemet. Det er ikkje ein lekkasje i tydinga broten tunnel; det er ein policy vald ein annan stad, og å finne ut kvar han vart vald er den eigentlege oppgåva.

Arbeidseiningar legg til domenespesifikke reglar: interne namn må gå til resolvaren til organisasjonen, medan alt anna følgjer standarden. Å bytte ut den ordninga fordi ei testsida viste eit uventa land, er måten interne namn sluttar å løysast for eit heilt team.

Hald testane smale og trygge

Å spørje ei offentleg testteneste om eit internt vertsnamn avdekkjer namnet for ein part som ikkje har noko med det å gjere, og svaret fortel deg ingenting som ei lokal lesing av resolverlista ikkje ville fortalt.

Bruk i staden namn som avdekkjer infrastruktur, registrer resolveradressa, omfanget og grensesnittet som vart brukt, og samanlikn den registreringa med den dokumenterte hensikta. Eit kartmerke er kontekst for ein samtale snarare enn eit bestått eller ikkje bestått, og å handsame det som ein dom skapar konfigurasjonsendringar i staden for diagnose.

Relaterte artiklar