Dilyn y cwestiwn DNS gam wrth gam i ddod o hyd i'r gwir ffynhonnell
Nid yw cyfeiriad resolver a wthir at glient yn penderfynu pa ffynhonnell a wel y resolver. Olrheiniwch y cleient, y trosglwyddydd a'r gweinydd sy'n derbyn, ac ysgrifennwch y llwybr i lawr.
Mae rhoi cyfeiriad resolver i glient yn pennu i ble yr anfonir cwestiynau, nid pa ffynhonnell y bydd y resolver yn ei gweld. Mae llwybro, trosglwyddo a chyfieithu pob un yn cael tro rhwng y ddau ben. Mae llawlyfr ar gyfer cwestiynau ffynhonnell yn dilyn y cwestiwn gam wrth gam ac yn cofnodi'r hyn a welodd pob arsylwr mewn gwirionedd. Mae'r drefn yn bwysig, oherwydd nid yw honiad a wneir cyn yr arsylwi ond yn ddyfaliad a fformatir yn well.
Ysgrifennwch y trefniant i lawr cyn i chi gasglu tystiolaeth
Gall pedwar lle ddweud rhywbeth wrthych am ffynhonnell DNS, ac nid ydynt i gyd yn dweud yr un peth. Gŵyr cnewyllyn y cleient pa ffynhonnell y byddai'n ei defnyddio, gŵyr trosglwyddydd beth a anfonodd i fyny'r afon, gŵyr dyfais sy'n cyfieithu beth a ailysgrifennodd, a gŵyr y resolver sy'n derbyn beth a gyrhaeddodd. Ysgrifennwch pa rai o'r rheini y gallwch eu cyrraedd mewn gwirionedd cyn i chi gasglu unrhyw beth.
| Observation point | What it can prove | What it cannot prove | How to read it |
|---|---|---|---|
| client kernel | which source address it would use for that resolver | anything a device in between rewrote | ip route get against the resolver address |
| forwarder | that it sent an upstream query, and from which source | what the client originally asked for | its own log and its cache state |
| translating device | that a source was rewritten, and to what | whether the query was legitimate | NAT policy and its counters |
| receiving resolver | the address that actually arrived | which client behind that address asked | a scoped capture on port 53 |
Ysgrifennwch eich disgwyliad hefyd, gan gynnwys y resolver rydych yn credu sydd ar waith. Gall llwybr hollt anfon cwestiwn i rywle hollol arall, a gall storfa ateb heb unrhyw gyfnewid i fyny'r afon o gwbl, felly ni fydd tybiaeth a gedwir yn y cof yn unig yn goroesi'r syndod cyntaf. Cadwch y dyluniad a nodir a'r llwybr a arsylwyd mewn colofnau ar wahân o'r un nodyn; pan fydd y ddau yn anghytuno, rydych wedi dod o hyd i'r cwestiwn sy'n werth ei erlid.
Gwiriwch pa broses a anfonodd y cwestiwn mewn gwirionedd
Dechreuwch wrth y cleient: cofnodwch gyfeiriad y resolver, enw'r cwestiwn a'r amser, ac yna cadarnhewch pa broses a'i hanfonodd. Mae'r llinell gyntaf isod yn enwi'r broses sy'n dal y soced UDP, a dyna'r gwiriad y mae'r pennawd hwn yn ei addo. Os yw'r broses honno'n gymorth porwr neu'n amser rhedeg cynhwysydd yn hytrach na resolver y system, mae gweddill yr ôl yn disgrifio llwybr na ofynnodd neb amdano.
ss -tunp 'dport = :53'
dig @10.20.30.53 host.corp.example +noall +answer
ip route get 10.20.30.53
Ar westeiwr â sawl rhyngwyneb, darganfyddwch pa gyfeiriad ffynhonnell y mae'r cnewyllyn yn ei ddewis ar gyfer y cyrchfan honno cyn i chi edrych yn unrhyw le arall. Dyna'r pwynt olaf lle mae'r llwybr yn gwbl o dan eich rheolaeth, a dyna'r gwerth y byddwch yn ei gymharu â'r hyn y mae'r resolver yn ei adrodd. Mae anghysondeb yn arwydd bod rhywbeth yn y canol wedi ailysgrifennu'r pecyn, neu fod dau gwestiwn gwahanol wedi'u hanfon.
Cadwch yr enwau prawf yn fewnol, oherwydd nid yw enw mewnol a anfonir at resolver cyhoeddus yn profi dim am y llwybr mewnol ac yn cyhoeddi enw nad oedd angen i chi ei gyhoeddi. Ni fydd porwr â DNS diogel wedi'i alluogi yn ymddangos yn y rhestr soced honno o gwbl, a'r absenoldeb hwnnw yw'r ateb ei hun.
Mae'r trosglwyddydd yn gwneud ail gwestiwn ar wahân
Mae trosglwyddydd yn troi un cyfnewid yn ddau. Mae'r cais i lawr yr afon yn cyrraedd, ac yna mae'r trosglwyddydd yn anfon ei gwestiwn ei hun i fyny'r afon o gyfeiriad y mae'n ei ddewis. Ei ffurfweddiad ef, nid y cleient, sy'n penderfynu beth a wel y resolver i fyny'r afon.
Mae llawlyfr dnsmasq yn werth ei ddarllen am y rheswm hwnnw: mae'n dogfennu sut y mae trosglwyddydd yn dewis gweinyddion i fyny'r afon ac yn rhwymo ei ochr wrando, ac nid oes dim yn y trefniant hwnnw yn cario ffynhonnell y cleient i fyny'r afon. Mae cofnod resolver sy'n dangos cyfeiriad porth yn normal felly, ac nid yn dystiolaeth o fai. Mae absenoldeb yr un mor hawdd ei gamddarllen, oherwydd nid yw taro storfa yn cynhyrchu cwestiwn i fyny'r afon ac mae'n edrych yn union yr un fath â chwestiwn na chyrhaeddodd erioed. Darllenwch ffurfweddiad y trosglwyddydd a'i gyflwr storfa cyn tynnu'r naill gasgliad neu'r llall. Dau gwestiwn, dau le i edrych.
Darllenwch y ffynhonnell yn y resolver sy'n derbyn
Dim ond ar ochr y gweinydd y cymerir yr un arsylwi sy'n setlo hyn. Mae unrhyw beth a gasglwyd o restr rhyngwyneb y cleient yn parhau'n ddamcaniaeth nes bod y resolver yn adrodd yr hyn a gyrhaeddodd mewn gwirionedd.
tcpdump -ni any port 53 and host 10.20.30.53
Cofnodwch ar westeiwr y resolver, cadwch y cofnod yn fyr ac yn gyfyngedig, a'i storio lle mae polisi'n caniatáu. Os yw'r ffynhonnell a arsylwyd yn gyfeiriad wedi'i chyfieithu, y cwestiwn nesaf yw pa ddyfais a wnaeth y cyfieithu ac a yw ei pholisi'n un fwriadedig. Mae cofnod yn ateb beth a gyrhaeddodd; nid yw'n esbonio pam y caniataodd y polisi ef. Enwch yr arsylwr a'r gam yn y nodyn, oherwydd mae honiad preifatrwydd am borth yn honiad am y gam honno yn hytrach nag am y llwybr cyfan.
Ysgrifennwch y canfyddiad fel llwybr, nid fel cyfeiriad
Cofnodwch y cleient, y resolver, unrhyw drosglwyddydd, y ffynhonnell a arsylwyd ym mhob cam a'r polisi sy'n ei lywodraethu. Mae'r cofnod hwnnw'n ateb y rhan fwyaf o gwestiynau'r dyfodol heb gofnod arall. Tynnwch ef fel cadwyn, oherwydd mae rhestr o gyfeiriadau'n cuddio pa gam a gynhyrchodd pa un.
Atodwch y dyddiad, fersiwn y cleient a diwygiad y ffurfweddiad at y llun, fel y gall darllenydd diweddarach ddweud a yw'n dal i fod yn berthnasol. Gwahanwch y ffynhonnell gludo oddi wrth bopeth arall y mae'r gwasanaeth yn ei brosesu, oherwydd nid yw gweld cyfeiriad porth yn dweud dim am beth arall a gedwir. Nid yw lleoliad resolver yn dweud dim am ba gleient a ofynnodd, ychwaith. Cadw'r honiadau hynny ar wahân yw'r hyn sy'n gwneud y casgliad yn amddiffynadwy o dan adolygiad.