నిజమైన మూలాన్ని కనుగొనడానికి DNS ప్రశ్నను అడుగడుగునా అనుసరించండి
నెట్టబడిన రిజాల్వర్ చిరునామా రిజాల్వర్ ఏ మూలాన్ని చూస్తుందో నిర్ణయించదు. క్లయింట్, ఫార్వర్డర్ మరియు స్వీకరించే సర్వర్ను అనుసరించి, తర్వాత మార్గాన్ని రాయండి.
క్లయింట్కు రిజాల్వర్ చిరునామా ఇవ్వడం ప్రశ్నలు ఎక్కడికి వెళ్తాయో నిర్ణయిస్తుంది, రిజాల్వర్ ఏ మూలాన్ని చూస్తుందో కాదు. రూటింగ్, ఫార్వర్డింగ్ మరియు అనువాదం రెండు చివరల మధ్య వంతు వంతుగా వస్తాయి. మూలం గురించిన ప్రశ్నలకు రన్బుక్ ప్రశ్నను అడుగడుగునా అనుసరిస్తుంది మరియు ప్రతి పరిశీలకుడు నిజంగా ఏమి చూశాడో నమోదు చేస్తుంది. క్రమం ముఖ్యం, ఎందుకంటే పరిశీలనకు ముందు చెప్పిన వాదన మెరుగైన ఆకృతి ఉన్న ఊహ మాత్రమే.
సాక్ష్యాలు సేకరించే ముందు అమరికను రాయండి
నాలుగు స్థలాలు DNS మూలం గురించి మీకు ఏదో చెప్పగలవు, అన్నీ ఒకటే చెప్పవు. క్లయింట్ కెర్నల్ ఏ మూలాన్ని ఉపయోగిస్తుందో తెలుసు, ఫార్వర్డర్ పైకి ఏమి పంపిందో తెలుసు, అనువాదం చేసే పరికరం ఏమి తిరిగి రాసిందో తెలుసు, స్వీకరించే రిజాల్వర్ ఏమి వచ్చిందో తెలుసు. ఏదైనా సేకరించే ముందు వీటిలో ఏవి మీరు నిజంగా చేరుకోగలరో రాయండి.
| 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 |
మీ అంచనాను కూడా రాయండి, ఉపయోగంలో ఉందని మీరు భావించే రిజాల్వర్తో సహా. విభజిత మార్గం ప్రశ్నను పూర్తిగా వేరే చోటికి పంపగలదు, కాష్ ఎటువంటి పైకి మార్పిడి లేకుండా సమాధానం ఇవ్వగలదు, కాబట్టి కేవలం జ్ఞాపకంలో ఉంచిన ఊహ మొదటి ఆశ్చర్యం వరకు నిలబడదు. ప్రకటించిన రూపకల్పనను మరియు గమనించిన మార్గాన్ని ఒకే గమనికలో వేర్వేరు నిలువు వరుసలలో ఉంచండి; రెండూ కలవనప్పుడు, మీరు అనుసరించదగిన ప్రశ్నను కనుగొన్నారు.
ప్రశ్నను నిజంగా ఏ ప్రక్రియ పంపిందో తనిఖీ చేయండి
క్లయింట్ నుండి ప్రారంభించండి: రిజాల్వర్ చిరునామా, ప్రశ్న పేరు మరియు సమయాన్ని నమోదు చేసి, తర్వాత ఏ ప్రక్రియ పంపిందో నిర్ధారించండి. క్రింది మొదటి పంక్తి 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
రిజాల్వర్ హోస్ట్లో క్యాప్చర్ చేయండి, క్యాప్చర్ను చిన్నగా మరియు పరిమితంగా ఉంచండి, మరియు విధానం అనుమతించే చోట నిల్వ చేయండి. గమనించిన మూలం అనువదించిన చిరునామా అయితే, తదుపరి ప్రశ్న ఏ పరికరం అనువాదం చేసింది మరియు దాని విధానం కావాల్సినదేనా అని. క్యాప్చర్ ఏమి వచ్చిందో సమాధానం చెబుతుంది; విధానం ఎందుకు అనుమతించిందో వివరించదు. గమనికలో పరిశీలకుడిని మరియు అడుగును పేర్కొనండి, ఎందుకంటే గేట్వే గురించిన గోప్యతా వాదన ఆ అడుగు గురించే, మొత్తం మార్గం గురించి కాదు.
కనుగొన్నదాన్ని మార్గంగా రాయండి, చిరునామాగా కాదు
క్లయింట్, రిజాల్వర్, ఏదైనా ఫార్వర్డర్, ప్రతి అడుగులో గమనించిన మూలం మరియు దాన్ని నియంత్రించే విధానాన్ని నమోదు చేయండి. అలాంటి నమోదు భవిష్యత్ ప్రశ్నలలో చాలావాటికి మరో క్యాప్చర్ లేకుండా సమాధానం ఇస్తుంది. దాన్ని గొలుసుగా గీయండి, ఎందుకంటే చిరునామాల జాబితా ఏ అడుగు ఏది ఉత్పత్తి చేసిందో దాచుతుంది.
చిత్రానికి తేదీ, క్లయింట్ వెర్షన్ మరియు కాన్ఫిగరేషన్ సవరణను జోడించండి, తద్వారా తర్వాతి పాఠకుడు అది ఇంకా వర్తిస్తుందో లేదో చెప్పగలడు. రవాణా మూలాన్ని సేవ ప్రాసెస్ చేసే మిగతా అన్నింటి నుండి వేరు చేయండి, ఎందుకంటే గేట్వే చిరునామా చూడటం ఇంకా ఏమి నిల్వ ఉందో గురించి ఏమీ చెప్పదు. రిజాల్వర్ స్థానం కూడా ఏ క్లయింట్ అడిగిందో గురించి ఏమీ చెప్పదు. ఈ వాదనలను వేరుగా ఉంచడమే నిర్ణయాన్ని సమీక్షలో నిలబెట్టగలిగేలా చేస్తుంది.