Ulkomaalaisilta näyttävät resolveriosoitteet ilmestyvät DNS-testien tuloksiin jatkuvasti, ja johtopäätös, johon ihmiset päätyvät, on aina sama: kyselyjen on täytynyt karata tunnelista. Joskus ne karkasivatkin. Useammin raportti kuvaa, mikä rekursiivinen palvelu vastasi ja mihin tietokanta uskoo osoitteen sijoittuvan, ja se on väite infrastruktuurista, ei paketeistasi. Havainnon erottaminen päätelmästä vaatii kolme tosiseikkaa: kuka vastasi, miten nimi matkusti ja millaisen käytännön todella määritit.

Lue, mitä testi todella havaitsi

Useimmat testisivut toimivat samalla tavalla: ne pyytävät asiakasta ratkaisemaan yksilöllisen isäntänimen ja katsovat sitten, mikä resolveri haki sen, tai yksinkertaisesti palauttavat resolveriosoitteen, jonka asiakas ilmoittaa. Se tunnistaa rekursiivisen palvelun ja, jos kysely kuljetti asiakkaan aliverkkotietoa, karkean verkkosijainnin. Se ei todista, että kysely poistui laitteesta tunnelin ulkopuolelle, eikä varmasti todista, että samaa polkua käytettiin jokaiselle nimelle. Yhden haun yksittäinen havainto yleistetään väitteeksi kaikesta liikenteestä.

Testi, joka näyttää resolveriosoitteen, on hyödyllisempi kuin maatunnus, koska osoitetta voi verrata resolveriluetteloon, jonka asiakas todella sai.

Anycast ja edelleenlähetys selittävät useimmat yllätykset

Suuret julkiset resolverit ilmoittavat saman osoitteen monista paikoista, ja verkko reitittää jokaisen kyselyn sinne, mikä on reitityksen kannalta lähimpänä. Sitten geopaikannustietokanta kartoittaa osoitteen yhteen paikkaan, joka voi olla yrityksen rekisteröintiosoite toisella mantereella tai datakeskus, joka ei ole se, mikä vastasi. RFC 4786 käsittelee anycast-palvelujen toimintakäytäntöä ja vaikeutta sitoa tällainen osoite yhteen fyysiseen paikkaan. Kartta on reitityspäätöksen yksinkertaistus, ja se yksinkertaistaa suuntaan, joka tuottaa hälyttäviä tuloksia.

Edelleenlähetys lisää toisen kerroksen. Paikallinen stub-resolveri, reititin tai operaattorin resolveri voi välittää kyselyt ylemmälle palvelulle, ja testissä näkyvä nimi heijastaa ketjun viimeistä operaattoria, ei ensimmäistä. Asiakkaan aliverkkolaajennukset voivat tehdä ylemmän vastauksen verkkoosi räätälöidyksi samalla kun ne saavat raportoidun sijainnin näyttämään paikalta, jossa et ole koskaan käynyt.

Määritetty resolveri voi siis olla oikea ja tuottaa silti ulkomaalaiselta näyttävän tuloksen, ja oman maasi resolveri voi olla väärä, koska se kuuluu osapuolelle, jota et valinnut.

Kuka nimen vastaanotti ja mitä reittiä pitkin

Kaksi kysymystä vastaa käytännön osaan: mitä palvelinta asiakas käyttää ja tavoitetaanko se palvelin tunnelin kautta. Vertaa resolveriluetteloa testituloksen osoitteeseen ennen kuin teet johtopäätöksiä reitityksestä, ja tarkista sitten, että kyseiseen osoitteeseen menevä kysely lähtee tunnelin rajapinnasta. Jos osoitteet eroavat, kiinnostava löydös on, että jokin kirjoitti aiotun resolverin uudelleen tai ohitti sen, mikä ansaitsee tarkemman katseen kuin maan nimi.

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

Ensimmäinen komento näyttää, mikä palvelin vastasi nimestä, toinen näyttää määritetyn luettelon ja sen laajuuden, ja kolmas ilmoittaa resolveriosoitteen sellaisena kuin julkinen palvelu sen näkee. Kun kaikki kolme ovat yhtä mieltä, käytäntö tekee sen, mihin se määritettiin, mitä maatunniste sanoo tahansa.

Vertaa valitsemaasi käytäntöön

VPN, joka pakottaa resolverin, selain, joka on määritetty käyttämään omaa salattua DNS:ään, ja käyttöjärjestelmä, joka suosii yhden rajapinnan asetuksia, voivat kukin olla erikseen oikein ja silti yhdessä ristiriidassa. Nykyaikaiset selaimet voivat lähettää kyselyt salatun siirtoyhteyden kautta selaimessa valitulle palveluntarjoajalle, mikä ohittaa järjestelmän resolveriluettelon tarkoituksella. Se ei ole vuoto rikkinäisen tunnelin mielessä; se on muualla valittu käytäntö, ja sen löytäminen, missä se valittiin, on varsinainen tehtävä.

Työlaitteet lisäävät toimialuekohtaisia sääntöjä: sisäisten nimien on mentävä organisaation resolverille, kun taas kaikki muu noudattaa oletusta. Tämän järjestelyn korvaaminen siksi, että testisivu näytti odottamatonta maata, on se tapa, jolla sisäiset nimet lakkaavat ratkeamasta koko tiimiltä.

Pidä testit kapeina ja turvallisina

Sisäisen isäntänimen kysyminen julkiselta testipalvelulta paljastaa nimen osapuolelle, jolla ei ole siihen asiaa, eikä vastaus kerro mitään sellaista, mitä resolveriluettelon lukeminen paikallisesti ei kertoisi.

Käytä sen sijaan nimiä, jotka paljastavat infrastruktuuria, kirjaa resolveriosoite, laajuus ja käytetty rajapinta, ja vertaa kirjausta dokumentoituun aikomukseen. Karttamerkintä on keskustelun konteksti, ei hyväksytty tai hylätty -tulos, ja sen kohteleminen tuomiona tuottaa diagnoosin sijaan asetusmuutoksia.

Aiheeseen liittyvät artikkelit