கிளையண்டுக்கு ரிசால்வர் முகவரி வழங்குவது வினவல்கள் எங்கே செல்கின்றன என்பதைத் தீர்மானிக்கிறது, ரிசால்வர் எந்த மூலத்தைப் பார்க்கும் என்பதை அல்ல. வழிமாற்றம், ஃபார்வர்டிங் மற்றும் மொழிபெயர்ப்பு இரு முனைகளுக்கும் இடையே மாறி மாறி வரும். மூலம் குறித்த கேள்விகளுக்கான கையேடு வினவலைப் படிப்படியாகப் பின்தொடர்ந்து ஒவ்வொரு பார்வையாளரும் உண்மையில் என்ன பார்த்தார் என்பதைப் பதிவு செய்கிறது. வரிசை முக்கியம், ஏனெனில் கவனிப்புக்கு முன் சொல்லப்படும் கூற்று சிறந்த வடிவமைப்புடன் கூடிய ஊகம் மட்டுமே.

சான்றுகளைச் சேகரிக்கும் முன் அமைப்பை எழுதுங்கள்

நான்கு இடங்கள் 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

ரிசால்வர் ஹோஸ்ட்டில் பிடிப்பு செய்யுங்கள், பிடிப்பைக் குறுகியதாகவும் வரம்புடனும் வைத்திருங்கள், கொள்கை அனுமதிக்கும் இடத்தில் சேமியுங்கள். கவனிக்கப்பட்ட மூலம் மொழிபெயர்க்கப்பட்ட முகவரியாக இருந்தால், அடுத்த கேள்வி எந்தச் சாதனம் மொழிபெயர்த்தது, அதன் கொள்கைதான் நோக்கியதா என்பதே. பிடிப்பு என்ன வந்தது என்பதற்குப் பதிலளிக்கிறது; கொள்கை ஏன் அனுமதித்தது என்பதை விளக்கவில்லை. குறிப்பில் பார்வையாளரையும் படிநிலையையும் பெயரிடுங்கள், ஏனெனில் நுழைவாயில் குறித்த தனியுரிமைக் கூற்று அந்தப் படிநிலையைப் பற்றியது, முழுப் பாதையைப் பற்றியது அல்ல.

கண்டுபிடிப்பைப் பாதையாக எழுதுங்கள், முகவரியாக அல்ல

கிளையண்ட், ரிசால்வர், ஏதேனும் ஃபார்வர்டர், ஒவ்வொரு படிநிலையிலும் கவனிக்கப்பட்ட மூலம் மற்றும் அதை ஆளும் கொள்கையைப் பதிவு செய்யுங்கள். அத்தகைய பதிவு மற்றொரு பிடிப்பு இல்லாமல் எதிர்காலக் கேள்விகளில் பெரும்பாலானவற்றுக்குப் பதிலளிக்கிறது. அதைச் சங்கிலியாக வரையுங்கள், ஏனெனில் முகவரிப் பட்டியல் எந்தப் படிநிலை எதை உருவாக்கியது என்பதை மறைக்கிறது.

வரைபடத்துடன் தேதி, கிளையண்ட் பதிப்பு மற்றும் கட்டமைப்புத் திருத்தத்தை இணையுங்கள், பின்னர் வரும் வாசகர் அது இன்னும் பொருந்துமா என்று சொல்ல முடியும். போக்குவரத்து மூலத்தைச் சேவை செயலாக்கும் மற்ற அனைத்திலிருந்தும் பிரியுங்கள், ஏனெனில் நுழைவாயில் முகவரியைப் பார்ப்பது வேறு என்ன சேமிக்கப்படுகிறது என்பதைப் பற்றி எதுவும் சொல்லாது. ரிசால்வர் இன் இருப்பிடமும் எந்தக் கிளையண்ட் கேட்டது என்பதைப் பற்றி எதுவும் சொல்லாது. இந்தக் கூற்றுகளைத் தனித்தனியாக வைத்திருப்பதே முடிவை மறுஆய்வில் நிலைநிறுத்தக்கூடியதாக்குகிறது.

தொடர்புடைய கட்டுரைகள்