Ja klientam piešķir resolvera adresi, tas nosaka, kurp tiek sūtīti vaicājumi, nevis to, kādu avotu resolveris redzēs. Maršrutēšana, pāradresēšana un tulkošana katra saņem savu kārtu starp abiem galiem. Avota jautājumu rokasgrāmata seko vaicājumam soli pa solim un pieraksta, ko katrs novērotājs patiešām redzēja. Secība ir svarīga, jo apgalvojums, kas izteikts pirms novērojuma, ir tikai minējums labākā formātā.

Pierakstiet izkārtojumu, pirms vācat pierādījumus

Četras vietas var pastāstīt kaut ko par DNS avotu, un ne visas saka vienu un to pašu. Klienta kodols zina, kādu avotu tas izmantotu, pāradresētājs zina, ko nosūtīja uz augšu, tulkojošā ierīce zina, ko pārrakstīja, un saņēmējresolveris zina, kas ieradās. Pierakstiet, kuras no tām jūs patiešām varat sasniegt, pirms kaut ko vācat.

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

Pierakstiet arī savu gaidu, tostarp resolveri, kas, jūsuprāt, tiek izmantots. Sadalīts maršruts var nosūtīt vaicājumu pavisam citur, un kešatmiņa var atbildēt bez jebkādas apmaiņas uz augšu, tāpēc pieņēmums, kas turēts tikai atmiņā, neizturēs pirmo pārsteigumu. Turiet deklarēto projektu un novēroto ceļu atsevišķās tās pašas piezīmes kolonnās; kad abi nesakrīt, jūs esat atraduši jautājumu, kuru ir vērts izsekot.

Pārbaudiet, kurš process vaicājumu patiešām nosūtīja

Sāciet pie klienta: pierakstiet resolvera adresi, vaicājuma nosaukumu un laiku, pēc tam apstipriniet, kurš process to nosūtīja. Pirmā rinda zemāk nosauc procesu, kas tur UDP ligzdu, un tā ir pārbaude, ko sola šis virsraksts. Ja šis process ir pārlūka palīgs vai konteinera izpildes vide, nevis sistēmas resolveris, pārējā pēdas daļa apraksta ceļu, kuru neviens nav lūdzis.

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

Resursdatorā ar vairākām saskarnēm vispirms noskaidrojiet, kuru avota adresi kodols izvēlas šim galamērķim, pirms skatāties kur citur. Tas ir pēdējais punkts, kur ceļš ir pilnībā jūsu kontrolē, un tā ir vērtība, ko salīdzināsiet ar to, ko ziņo resolveris. Neatbilstība ir signāls, ka kaut kas pa vidu pārrakstīja paketi vai tika nosūtīti divi dažādi vaicājumi.

Turiet testa nosaukumus iekšējus, jo iekšējs nosaukums, kas nosūtīts publiskam resolverim, neko nepierāda par iekšējo ceļu un publicē nosaukumu, kuru jums nevajadzēja publicēt. Pārlūks ar iespējotu drošo DNS šajā ligzdu sarakstā nemaz neparādīsies, un šī prombūtne pati ir atbilde.

Pāradresētājs veic otru, atsevišķu vaicājumu

Pāradresētājs vienu apmaiņu pārvērš divās. Pieprasījums no apakšas pienāk, un tad pāradresētājs sūta savu vaicājumu uz augšu no tā izvēlētas adreses. Viņa konfigurācija, nevis klients, nosaka, ko redz augšējais resolveris.

dnsmasq rokasgrāmata ir lasāma tieši šī iemesla dēļ: tā dokumentē, kā pāradresētājs izvēlas augšējos serverus un piesaista savu klausīšanās pusi, un nekas šajā izkārtojumā nenes klienta avotu uz augšu. Tāpēc resolvera žurnāls, kas rāda vārtejas adresi, ir normāls, nevis bojājuma pierādījums. Prombūtni tikpat viegli var nolasīt nepareizi, jo kešatmiņas trāpījums nerada nekādu vaicājumu uz augšu un izskatās tieši tāpat kā vaicājums, kas nekad nav pienācis. Izlasiet pāradresētāja konfigurāciju un tā kešatmiņas stāvokli, pirms izdarāt kādu no diviem secinājumiem. Divi jautājumi, divas vietas, kur skatīties.

Izlasiet avotu saņēmējresolverī

Vienīgais novērojums, kas to izšķir, tiek veikts servera pusē. Viss, kas izsecināts no klienta saskarņu saraksta, paliek hipotēze, līdz resolveris ziņo, kas patiešām ieradās.

tcpdump -ni any port 53 and host 10.20.30.53

Uzņemiet resolvera resursdatorā, turiet uzņemšanu īsu un ierobežotu, un glabājiet to tur, kur politika atļauj. Ja novērotais avots ir tulkota adrese, nākamais jautājums ir, kura ierīce veica tulkojumu un vai tās politika ir paredzētā. Uzņemšana atbild, kas ieradās; tā neizskaidro, kāpēc politika to atļāva. Nosauciet novērotāju un soli piezīmē, jo privātuma apgalvojums par vārteju attiecas uz šo soli, nevis uz visu ceļu.

Pierakstiet atradumu kā ceļu, nevis kā adresi

Pierakstiet klientu, resolveri, jebkuru pāradresētāju, novēroto avotu katrā solī un politiku, kas to pārvalda. Šāds ieraksts atbild uz lielāko daļu nākotnes jautājumu bez jaunas uzņemšanas. Uzzīmējiet to kā ķēdi, jo adrešu saraksts slēpj, kurš solis deva kuru.

Pievienojiet zīmējumam datumu, klienta versiju un konfigurācijas revīziju, lai vēlāks lasītājs varētu pateikt, vai tā joprojām ir spēkā. Atdaliet transporta avotu no visa cita, ko apstrādā pakalpojums, jo vārtejas adreses redzēšana neko nepasaka par to, kas vēl tiek glabāts. Arī resolvera atrašanās vieta neko nepasaka par to, kurš klients jautāja. Tieši šo apgalvojumu atdalīšana padara secinājumu aizstāvamu pārbaudē.

Saistītie raksti