Давање адресе резолвера клијенту одређује камо се упити шаљу, а не који ће извор резолвер видети. Усмеравање, прослеђивање и превођење имају сваки свој ред између двају крајева. Приручник за питања о извору прати упит корак по корак и бележи шта је сваки посматрач стварно видео. Редослед је важан јер је тврдња изнета пре посматрања само нагађање у бољем формату.

Запишите распоред пре него што почнете да прикупљате доказе

Четири места могу вам рећи нешто о DNS извору и не кажу сва исто. Језгро клијента зна који би извор користило, прослеђивач зна шта је послао према горе, уређај који преводи зна шта је преписао, а резолвер који прима зна шта је стигло. Запишите до којих од њих заиста можете доћи пре него што било шта прикупите.

Observation pointWhat it can proveWhat it cannot proveHow to read it
client kernelwhich source address it would use for that resolveranything a device in between rewroteip route get against the resolver address
forwarderthat it sent an upstream query, and from which sourcewhat the client originally asked forits own log and its cache state
translating devicethat a source was rewritten, and to whatwhether the query was legitimateNAT policy and its counters
receiving resolverthe address that actually arrivedwhich client behind that address askeda scoped capture on port 53

Запишите и своје очекивање, укључујући резолвер за који мислите да је у употреби. Раздвојен пут може послати упит сасвим другде, а кеш може одговорити без икакве размене према горе, па претпоставка држана само у сећању неће преживети прво изненађење. Држите наведени дизајн и посматрани пут у одвојеним ступцима исте белешке; када се њих двоје не слажу, пронашли сте питање које вреди следити.

Проверите који је процес упит стварно послао

Почните код клијента: запишите адресу резолвера, назив упита и време, а затим потврдите који га је процес послао. Први ред у наставку именује процес који држи UDP гнездо, и то је провера коју обећава овај наслов. Ако је тај процес помоћник прегледача или окружење за извршавање контејнера уместо системског резолвера, остатак трага описује пут који нико није тражио.

ss -tunp 'dport = :53'
dig @10.20.30.53 host.corp.example +noall +answer
ip route get 10.20.30.53

На домаћину с више интерфејса најпре сазнајте коју изворну адресу језгро одабира за то одредиште пре него што погледате било где другде. То је последња тачка на којој је пут потпуно под вашом контролом, и то је вредност коју ћете упоредити с оним што резолвер извештава. Неусклађеност је сигнал да је нешто између преписало пакет или да су послата два различита упита.

Држите тестна имена интерна, јер интерно име послато јавном резолверу не доказује ништа о унутрашњем путу и објављује име које нисте требали да објавите. Прегледач с укљученим сигурним DNS-ом уопште се неће појавити на том списку гнезда, а та одсутност је сама одговор.

Прослеђивач чини други, одвојени упит

Прослеђивач претвара једну размену у две. Захтев одоздо стиже, а затим прослеђивач шаље свој сопствени упит према горе с адресе коју одабере. Његова конфигурација, а не клијент, одлучује шта горњи резолвер види.

Приручник dnsmasq вреди прочитати управо зато: документује како прослеђивач одабира сервере према горе и везује своју страну слушања, а ништа у том распореду не носи извор клијента према горе. Запис резолвера који приказује адресу мрежног пролаза стога је нормалан, а не доказ квара. Одсутност је једнако лако погрешно прочитати јер погодак у кешу не ствара никакав упит према горе и изгледа идентично упиту који никада није стигао. Прочитајте конфигурацију прослеђивача и стање његовог кеша пре него што изведете било који од тих двају закључака. Два питања, два места за погледати.

Прочитајте извор на резолверу који прима

Једино посматрање које то решава узима се на страни сервера. Све што се закључи из списка интерфејса клијента остаје хипотеза док резолвер не извести шта је стварно стигло.

tcpdump -ni any port 53 and host 10.20.30.53

Снимите на домаћину резолвера, држите снимак кратак и ограничен и похраните га тамо где политика дозвољава. Ако је посматрани извор преведена адреса, следеће је питање који је уређај обавио превод и је ли његова политика она намеравана. Снимак одговара шта је стигло; не објашњава зашто је политика то дозволила. Именујте посматрача и корак у белешци јер се тврдња о приватности за мрежни пролаз односи на тај корак, а не на цео пут.

Запишите налаз као пут, а не као адресу

Запишите клијента, резолвер, сваки прослеђивач, посматрани извор на сваком кораку и политику која га уређује. Такав запис одговара на већину будућих питања без новог снимка. Нацртајте га као ланац јер списак адреса скрива који је корак дао коју.

Приложите цртежу датум, верзију клијента и ревизију конфигурације како би каснији читалац могао рећи важи ли још. Одвојте транспортни извор од свега другога што услуга обрађује јер поглед на адресу мрежног пролаза не говори ништа о томе шта се још чува. Ни локација резолвера не говори ништа о томе који је клијент питао. Управо држање тих тврдњи одвојенима чини закључак обрањивим при прегледу.

Повезани чланци