Fífún aláṣepọ̀ ní àdírẹ́sì resolver ń pinnu ibi tí a ti ń rán àwọn ìbéèrè lọ, kì í ṣe orísun tí resolver yóò rí. Ìtọ́jú ọ̀nà, gbígbé àti ìtumọ̀ ọ̀kọ̀ọ̀kan wọn ní àkókò wọn láàárín àwọn ìpẹ̀kun méjèèjì. Ìwé ìtọ́sọ́nà fún àwọn ìbéèrè orísun ń tẹ̀le ìbéèrè náà ní ìgbésẹ̀ kọ̀ọ̀kan, ó sì ń kọ ohun tí olùwòye kọ̀ọ̀kan rí gan-an sílẹ̀. Ìtẹ̀léra ṣe pàtàkì, nítorí ọ̀rọ̀ tí a sọ kí a tó ṣe àkíyèsí kò ju àfihàn tí ó ní ọ̀nà tí ó dára jù lọ.

Kọ ètò náà sílẹ̀ kí o tó kó ẹ̀rí jọ

Àwọn ibi mẹ́rin lè sọ ohun kan fún ọ nípa orísun DNS, wọn kò sì sọ ohun kan náà. Ẹ̀rọ inú aláṣepọ̀ mọ orísun tí yóò lò, olùtẹ̀síwájú mọ ohun tí ó rán sókè, ẹ̀rọ tí ń ṣe ìtumọ̀ mọ ohun tí ó tún kọ, àti resolver tí ń gba mọ ohun tí ó dé. Kọ èyí tí o lè dé ọ̀dọ̀ rẹ̀ gan-an kí o tó kó ohunkóhun jọ.

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

Kọ ìfojúsọ́nà rẹ pẹ̀lú, pẹ̀lú resolver tí o gbà pé ó wà ní ìlò. Ọ̀nà tí a pín lè rán ìbéèrè lọ ibòmíì pátápátá, cache sì lè dáhùn láìsí ìpààrọ̀ kankan sókè, nítorí náà ìrònú tí a kàn fi sínú ọpọlọ kò ní dúró sí i ní ìyàlẹ́nu àkọ́kọ́. Fi ètò tí a kọ́ àti ọ̀nà tí a ṣàyẹ̀wò sí àwọn ìlà ọ̀tọ̀ọ̀tọ̀ nínú àkọsílẹ̀ kan náà; nígbà tí àwọn méjèèjì kò bá bára wọn mu, o ti rí ìbéèrè tí ó tọ́ láti tẹ̀le.

Ṣàyẹ̀wò irú ìlànà wo ni ó rán ìbéèrè náà gan-an

Bẹ̀rẹ̀ láti ọ̀dọ̀ aláṣepọ̀: kọ àdírẹ́sì resolver, orúkọ ìbéèrè àti àkókò sílẹ̀, kí o sì jẹ́rìí irú ìlànà tí ó rán án. Ìlà àkọ́kọ́ nísàlẹ̀ dárúkọ ìlànà tí ó di socket UDP mú, ìyẹn sì ni àyẹ̀wò tí àkòrí yìí ṣèlérí. Tí ìlànà yẹn bá jẹ́ olùrànlọ́wọ́ aṣàwákiri tàbí àyíká ìṣiṣẹ́ kọ́ńtẹ́nà dípò resolver ẹ̀rọ, ìyókù ìtọ́pa náà ń ṣàpèjúwe ọ̀nà tí ẹnikẹ́ni kò béèrè.

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

Lórí ẹ̀rọ tí ó ní ọ̀pọ̀ interface, kọ́kọ́ wádìí irú àdírẹ́sì orísun tí kọ̀mpútà yóò yàn fún ibi-ìlọ yẹn kí o tó wo ibòmíì. Ìyẹn ni ibi ìkẹyìn tí ọ̀nà wà lábẹ́ ìṣàkóso rẹ pátápátá, ìyẹn sì ni iye tí wàá fi wé ohun tí resolver ròyìn. Àìbáraẹnisọ̀rọ̀ ni àmì pé ohun kan láàárín tún kọ packet náà, tàbí pé a rán ìbéèrè méjì ọ̀tọ̀ọ̀tọ̀.

Fi àwọn orúkọ ìdánwò pamọ́ sí inú, nítorí orúkọ inú tí a rán sí resolver gbogbo ènìyàn kò fi ohunkóhun hàn nípa ọ̀nà inú, ó sì ń ṣe àfihàn orúkọ tí kò pọn dandan kí o ṣe àfihàn. Aṣàwákiri tí ó ní DNS ààbò tí ó ṣí kò ní farahàn rárá nínú àkọsílẹ̀ socket yẹn, àìsí yẹn sì ni ìdáhùn fúnra rẹ̀.

Olùtẹ̀síwájú ṣe ìbéèrè kejì tí ó yàtọ̀

Olùtẹ̀síwájú yí ìpààrọ̀ kan padà di méjì. Ìbéèrè láti ìsàlẹ̀ dé, lẹ́yìn náà olùtẹ̀síwájú rán ìbéèrè tirẹ̀ sókè láti àdírẹ́sì tí ó yàn. Ètò rẹ̀, kì í ṣe aláṣepọ̀, ni ó ń pinnu ohun tí resolver òkè rí.

ìwé ìtọ́sọ́nà dnsmasq tọ́ sí kíkà nítorí ìdí yẹn: ó ṣàlàyé bí olùtẹ̀síwájú ṣe ń yan àwọn sáfà òkè àti bí ó ṣe ń so ẹ̀gbẹ́ ìgbọ́rọ̀ rẹ̀, kò sì sí ohunkóhun nínú ètò yẹn tí ń gbé orísun aláṣepọ̀ sókè. Nítorí náà àkọsílẹ̀ resolver tí ó fi àdírẹ́sì ẹnubodè hàn jẹ́ ohun déédéé, kì í ṣe ẹ̀rí àìdá. Àìsí pẹ̀lú rọrùn láti kà ní àṣìṣe, nítorí ìkọlu cache kò dá ìbéèrè sókè kankan, ó sì dàbí ìbéèrè tí kò dé rí. Ka ètò olùtẹ̀síwájú àti ipò cache rẹ̀ kí o tó yan ọ̀kan nínú àwọn ìparí méjèèjì. Ìbéèrè méjì, ibi méjì láti wò.

Ka orísun náà ní resolver tí ń gba

Àkíyèsí kan ṣoṣo tí ó yanjú èyí ni a ṣe ní ẹ̀gbẹ́ sáfà. Ohunkóhun tí a bá fi hàn láti inú àkọsílẹ̀ interface aláṣepọ̀ wà ní ipò àròsọ títí resolver yóò fi ròyìn ohun tí ó dé gan-an.

tcpdump -ni any port 53 and host 10.20.30.53

Yàwòrán lórí ẹ̀rọ resolver, jẹ́ kí àwòrán náà kúrú, kí ó sì ní ààlà, kí o sì tọ́jú rẹ̀ níbi tí ìlànà gbà. Tí orísun tí a ṣàyẹ̀wò bá jẹ́ àdírẹ́sì tí a ti túmọ̀, ìbéèrè tó kàn ni irú ẹ̀rọ tí ó ṣe ìtumọ̀ náà àti bóyá ìlànà rẹ̀ ni èyí tí a ní lọ́kàn. Àwòrán ń dáhùn ohun tí ó dé; kò ṣàlàyé ìdí tí ìlànà fi gbà á. Dárúkọ olùwòye àti ìgbésẹ̀ nínú àkọsílẹ̀, nítorí ọ̀rọ̀ ìpamọ́ nípa ẹnubodè jẹ́ ọ̀rọ̀ nípa ìgbésẹ̀ yẹn, kì í ṣe gbogbo ọ̀nà.

Kọ àwárí náà gẹ́gẹ́ bí ọ̀nà, kì í ṣe gẹ́gẹ́ bí àdírẹ́sì

Kọ aláṣepọ̀, resolver, olùtẹ̀síwájú èyíkéyìí, orísun tí a ṣàyẹ̀wò ní ìgbésẹ̀ kọ̀ọ̀kan àti ìlànà tí ń ṣàkóso rẹ̀ sílẹ̀. Irú àkọsílẹ̀ bẹ́ẹ̀ ń dáhùn ọ̀pọ̀ àwọn ìbéèrè ọjọ́ iwájú láìsí àwòrán mìíràn. Ya àwòrán rẹ̀ gẹ́gẹ́ bí ẹ̀wọ̀n, nítorí àkọsílẹ̀ àwọn àdírẹ́sì ń fi pamọ́ ìgbésẹ̀ tí ó dá ọ̀kọ̀ọ̀kan.

So ọjọ́, ẹ̀yà aláṣepọ̀ àti àtúnyẹ̀wò ètò mọ́ àwòrán náà, kí olùkà tó ń bọ̀ lẹ́yìn lè sọ bóyá ó ṣì wúlò. Ya orísun gbígbé kúrò nínú ohun gbogbo mìíràn tí iṣẹ́ ń ṣiṣẹ́ lórí, nítorí rírí àdírẹ́sì ẹnubodè kò sọ ohunkóhun nípa ohun mìíràn tí a tọ́jú. Ipò resolver pẹ̀lú kò sọ ohunkóhun nípa irú aláṣepọ̀ tí ó béèrè. Pípín àwọn ọ̀rọ̀ wọ̀nyí ni ó ń jẹ́ kí ìparí náà lè dúró ní ìgbèjà nígbà àtúnyẹ̀wò.

Àwọn àpilẹ̀kọ tó jọra