Kodėl DNS šalies žymė neįrodo VPN nuotėkio
Testas priskiria adresą šaliai; tai mažai pasako apie maršrutą. Prieš ką nors keisdami perskaitykite resolverį, persiuntimo grandinę ir politiką.
Užsienietiškai atrodantys resolverių adresai nuolat pasirodo DNS testų rezultatuose, o išvada, prie kurios žmonės prieina, visada ta pati: užklausos turėjo pabėgti iš tunelio. Kartais taip ir buvo. Dažniau ataskaita aprašo, kuri rekursyvi paslauga atsakė ir kur, duomenų bazės nuomone, yra šis adresas, o tai yra teiginys apie infrastruktūrą, o ne apie jūsų paketus. Norint atskirti stebėjimą nuo išvados, reikia trijų faktų: kas atsakė, kaip keliavo vardas ir kokią politiką iš tikrųjų nustatėte.
Perskaitykite, ką testas iš tikrųjų stebėjo
Dauguma testų puslapių veikia vienodai: paprašo kliento išspręsti unikalų mazgo vardą ir tada žiūri, kuris resolveris jį gavo, arba tiesiog grąžina resolverio adresą, kurį klientas praneša. Tai identifikuoja rekursyvią paslaugą ir, jei užklausa nešė kliento potinklio informaciją, apytikslę tinklo vietą. Tai neįrodo, kad užklausa paliko įrenginį už tunelio ribų, ir tikrai neįrodo, kad kiekvienam vardui buvo naudojamas tas pats kelias. Vienas vienos paieškos stebėjimas apibendrinamas kaip teiginys apie visą srautą.
Testas, rodantis resolverio adresą, naudingesnis už šalies ženklą, nes adresą galima palyginti su resolverių sąrašu, kurį klientas iš tikrųjų gavo.
Anycast ir persiuntimas paaiškina daugumą netikėtumų
Dideli viešieji resolveriai skelbia tą patį adresą iš daugelio vietų, o tinklas kiekvieną užklausą nukreipia į vietą, kuri maršrutizavimo požiūriu yra artimiausia. Tada geolokacijos duomenų bazė priskiria šį adresą vienai vietai, kuri gali būti įmonės registracijos adresas kitame žemyne arba duomenų centras, kuris nėra atsakęs. RFC 4786 aptaria anycast paslaugų operacinę praktiką ir sunkumą susieti tokį adresą su viena fizine vieta. Žemėlapis yra maršrutizavimo sprendimo supaprastinimas, ir jis supaprastina ta kryptimi, kuri duoda nerimą keliančius rezultatus.
Persiuntimas prideda antrą sluoksnį. Vietinis stub resolveris, maršrutizatorius arba tiekėjo resolveris gali perduoti užklausas aukščiau esančiai paslaugai, o teste pasirodantis vardas atspindi paskutinį grandinės operatorių, o ne pirmąjį. Kliento potinklio plėtiniai gali pritaikyti atsakymą iš viršaus jūsų tinklui ir tuo pačiu padaryti, kad pranešta vieta atrodytų kaip vieta, kurioje niekada nebuvote.
Taigi sukonfigūruotas resolveris gali būti teisingas ir vis tiek duoti užsienietiškai atrodantį rezultatą, o resolveris jūsų šalyje gali būti neteisingas, nes priklauso šaliai, kurios nepasirinkote.
Kas gavo vardą ir kokiu maršrutu
Į praktinę dalį atsako du klausimai: kurį serverį naudoja klientas ir ar į tą serverį patenkama per tunelį. Prieš darydami išvadas apie maršrutizavimą, palyginkite resolverių sąrašą su adresu testo rezultate, tada patikrinkite, ar užklausa į tą adresą išeina per tunelio sąsają. Jei abu adresai skiriasi, įdomus radinys yra tai, kad kažkas perrašė arba apėjo numatytą resolverį, ir tai verta atidesnio žvilgsnio nei šalies pavadinimas.
resolvectl query example.com
resolvectl status | grep -A3 'DNS Servers'
dig +short TXT whoami.akamai.net
Pirmoji komanda rodo, kuris serveris atsakė į vardą, antroji rodo sukonfigūruotą sąrašą ir jo apimtį, o trečioji pateikia resolverio adresą taip, kaip jį mato viešoji paslauga. Kai visi trys sutampa, politika daro tai, kam buvo sukonfigūruota, ką bedarytų šalies žymė.
Palyginkite su politika, kurią pasirinkote
VPN, kuris primeta resolverį, naršyklė, sukonfigūruota naudoti savo šifruotą DNS, ir operacinė sistema, kuri teikia pirmenybę vienos sąsajos nustatymams, gali būti teisingi atskirai, bet kartu prieštarauti vienas kitam. Šiuolaikinės naršyklės gali siųsti užklausas šifruotu transportu paslaugų teikėjui, pasirinktam naršyklėje, o tai sąmoningai apeina sistemos resolverių sąrašą. Tai ne nuotėkis sulaužyto tunelio prasme; tai politika, pasirinkta kitur, ir rasti, kur ji buvo pasirinkta, yra tikroji užduotis.
Darbo įrenginiai prideda domenų taisykles: vidiniai vardai turi eiti į organizacijos resolverį, o visa kita vadovaujasi numatytuoju. Pakeisti šią tvarką todėl, kad testo puslapis parodė netikėtą šalį, yra kelias, kuriuo vidiniai vardai nustoja spręstis visai komandai.
Laikykite testus siaurus ir saugius
Viešos testų paslaugos klausinėjimas apie vidinį mazgo vardą atskleidžia vardą šaliai, kuri neturi jokio reikalo jo matyti, o atsakymas nepasako nieko, ko nepasakytų vietinis resolverių sąrašo skaitymas.
Vietoj to naudokite vardus, kurie atskleidžia infrastruktūrą, užsirašykite resolverio adresą, apimtį ir naudotą sąsają, ir palyginkite šį įrašą su dokumentuotu ketinimu. Žemėlapio žymė yra pokalbio kontekstas, o ne išlaikyta ar nepavyko rezultatas, ir traktuoti ją kaip nuosprendį reiškia konfigūracijos pakeitimus vietoj diagnostikos.