Kill switch టన్నెల్ను కూల్చినప్పుడు DNS మార్గాన్ని కూడా తీసుకుపోతుంది, మిగిలిన resolver మీరు ఆశించేది అరుదుగా ఉంటుంది. రెండు డిజైన్లు ఆ క్షణాన్ని చాలా భిన్నంగా నిర్వహిస్తాయి: టన్నెల్ లోపల లేని ప్రతి DNS ప్యాకెట్ను బ్లాక్ చేయడం, లేదాఒక resolverను మినహాయింపుగా నిలబెట్టడం. రెండూ సమర్థనీయమే. బ్రౌజర్ ట్యాబ్ నుండి లక్షణాలు దాదాపు ఒకేలా కనిపిస్తాయి, కాబట్టి మొదటి పని మీరు వాస్తవంగా ఏ డిజైన్ను అమలు చేశారో కనుగొనడం.

ఆ భేదాన్ని నా కళ్ల ముందే ఉంచుకుంటాను, ఎందుకంటే సరిదిద్దడం ప్రతి సందర్భంలో వ్యతిరేకం. ఒక డిజైన్కు విస్తృత మినహాయింపు కావాలి, మరొకదానికి సన్ననిది. ఊహించడం మీకు గోప్యతను లేదా అర్ధ రోజును ఖర్చు చేస్తుంది.

ఒకే వైఫల్యానికి రెండు DNS డిజైన్లు

డిజైన్ A resolverను టన్నెల్ వెనుక ఉన్న మరో సేవగా పరిగణిస్తుంది. firewall నియమాలు UDP మరియు TCP 53కి టన్నెల్ ఇంటర్ఫేస్లో మాత్రమే అనుమతి ఇస్తాయి, క్లయింట్కు ఇచ్చే చిరునామా టన్నెల్ లోపలి resolver. టన్నెల్ పడినప్పుడు శోధనలు ఆగిపోతాయి, అది లోపం కాదు, ఉద్దేశించిన ఫలితం.

డిజైన్ B స్థానిక నెట్వర్క్లో resolverను అందుబాటులో ఉంచుతుంది, సాధారణంగా 192.168.1.1లోని రౌటర్ లేదా 127.0.0.53లోని ఆపరేటింగ్ సిస్టమ్ స్టబ్, పేర్ల పరిష్కారం టన్నెల్తో చనిపోకూడదు అనే వాదనతో. ఇంటి LANలో ఇది సౌకర్యవంతం, అక్కడ రౌటర్ మొత్తం ఇంటికి పరిష్కరిస్తుంది. హోటల్ లేదా విమానాశ్రయ Wi-Fiలో అదే మినహాయింపు మరొకరి సర్వర్ను సూచిస్తుంది, మీరు టైప్ చేసే ప్రతి పేరు బహిర్గతమవుతుంది, మీ వెబ్ ట్రాఫిక్ బ్లాక్ అయినప్పటికీ.

సరిహద్దు resolver ఎవరిది అనేది. స్థానిక దానిపై నమ్మకం ఉంటే, మినహాయింపు చిన్న మరియు నిజాయితీ రంధ్రం. లేకపోతే, టన్నెల్-మాత్రమే డిజైన్ మాత్రమే నిలుస్తుంది, ధర ఏమిటంటే పడిన టన్నెల్ అన్ని పేర్లను తీసుకుపోతుంది.

VPN క్లయింట్ సొంత శోధన ఇప్పటికీ ఎందుకు పని చేస్తుంది

టన్నెల్ ఉనికిలోకి రాకముందే క్లయింట్ గేట్వే హోస్ట్నామ్ను పరిష్కరించాలి, కాబట్టి కఠిన బ్లాక్ క్లయింట్ బూట్స్ట్రాప్ మార్గాన్ని ఆవరించకూడదు. చాలా క్లయింట్లు ఎండ్పాయింట్ చిరునామాను కాష్ చేస్తాయి లేదా ఆ ఒకే హోస్ట్ కోసం నమోదిత బూట్స్ట్రాప్ మినహాయింపు ఇస్తాయి. మీ నియమ సమితి ఆ శోధనను బ్లాక్ చేస్తే, టన్నెల్ ఎప్పటికీ తిరిగి రాదు మరియు లాగ్లు తన సొంత సర్వర్ను చేరుకోలేని క్లయింట్ను చూపుతాయి; ఇది DNS ది కాదు, విధానం యొక్క లోపం.

విభజిత DNS ఇది కనిపించే రెండవ స్థలం. క్లయింట్ అంతర్గత జోన్ను ప్రైవేట్ resolverకు నెట్టి మిగతావన్నీ సిస్టమ్ resolverకు వదిలేస్తుంది. పతనం తర్వాత పబ్లిక్ పేర్లు ఇంకా పరిష్కరించబడవచ్చు, కానీ అంతర్గత పేర్లు సమయం ముగిసి విఫలమవుతాయి, ఎందుకంటే ప్రైవేట్ జోన్కు ఇక మార్గం లేదు. వినియోగదారుకు అది "VPN ఇంటర్నెట్ను పగలగొట్టింది"; resolver లాగ్కు అది ఎప్పుడూ రాని ప్రశ్న.

systemd-resolved కింద విభజనను నేరుగా చూడవచ్చు. resolvectl status ప్రతి లింక్ యొక్క DNS సర్వర్లు మరియు రూటింగ్ డొమైన్లను జాబితా చేస్తుంది, టన్నెల్ కిందకు దిగిన తర్వాత అంతర్గత డొమైన్ ఇక లేని లింక్లోని సర్వర్ను సూచిస్తూనే ఉంటుంది. 127.0.0.53లోని స్టబ్ ప్రశ్నను ఇంకా అంగీకరిస్తుంది, తర్వాత సమాధానం ఇవ్వని అప్స్ట్రీమ్ కోసం వేచి ఉంటుంది, అందుకే వైఫల్యం వెంటనే తిరిగి రాకుండా కొన్ని సెకన్లు పడుతుంది.

ఎన్క్రిప్టెడ్ DNS ప్యాకెట్ ఫిల్టర్ను తప్పించుకోదు

DNS over HTTPS మరియు DNS over TLS 443 మరియు 853లో ప్రయాణిస్తాయి, కాబట్టి పోర్ట్ 53ని బ్లాక్ చేసే నియమం వాటి గురించి ఏమీ చెప్పలేదు. పోర్ట్ ప్రకారం "DNS"ని బ్లాక్ చేయడం పోర్ట్ గురించిన విధానం, పేర్ల పరిష్కారం గురించినది కాదు. మీ kill switch టన్నెల్ వెలుపలి మొత్తం ట్రాఫిక్ను బ్లాక్ చేస్తే, DoH యాదృచ్ఛికంగా కవర్ అవుతుంది. captive portal లేదా పబ్లిక్ resolver కోసం మినహాయింపు ఇచ్చి ఉంటే, కవర్ కాదు.

క్లయింట్-వైపు నియంత్రణలు చవకైన పరుగుదోన. canary పేరుuse-application-dns.net పరిష్కరించబడనప్పుడు Firefox తన DoH resolverను వదిలేస్తుంది, అందుకే నిర్వహిత నెట్వర్క్లు ఆ డొమైన్ను NXDOMAINగా ప్రచురిస్తాయి; సంస్థ విధానం దాన్ని ఆఫ్ చేసి పిన్ చేయగలదు. Android Private DNS మరియు Chrome యొక్క సురక్షిత DNSకు సొంత స్విచ్లు మరియు సొంత డిఫాల్ట్లు ఉన్నాయి. వాటిని ఆఫ్ చేయడం resolver చిరునామాల వెంట పరిగెత్తడం కంటే నమ్మదగినది, ఎందుకంటే చిరునామాల జాబితా మారుతుంది, మీ నియమ సమితి మారదు.

దీనికి లీక్లతో ఎలాంటి సంబంధం లేని సంస్కరణ కూడా ఉంది. పిన్ చేసిన resolver ఉన్న యాప్కు అక్కడికి చేరుకోవడానికి నెట్వర్క్ మార్గం ఇంకా కావాలి. ఎన్క్రిప్షన్ మార్చేది ప్రశ్నను ఎవరు చదవగలరో, ప్యాకెట్ యంత్రాన్ని విడిచిపెట్టగలదా అనేది కాదు, కాబట్టి మొత్తం పరికరానికి బ్లాక్ సెట్టింగ్ను తాకకుండానే దాన్ని ఓడిస్తుంది.

లక్షణాన్ని పొరతో సరిపోల్చండి

చాలా నివేదికలు ఒక వాక్యంగా వస్తాయి, ఆ వాక్యం సాధారణంగా పొరను ఇప్పటికే పేర్కొంటుంది. క్రింది పట్టిక ఏ నియమాన్ని తాకకముందు నేను దాటేది; లక్ష్యం ప్రశ్న బ్లాక్ అయిందా, తప్పు దిశలో వెళ్లిందా, లేదా పంపబడలేదా అని నిర్ణయించడం.

SymptomLikely layerFirst check
Every name fails at once, instantlyResolver answering with a refusalQuery the resolver by address, not by name
Lookups hang for seconds, then time outPackets dropped with no responseWatch port 53 on the physical link
Public names resolve, internal ones do notSplit-DNS routing domainPer-link DNS servers on the tunnel
Names resolve, the page still failsNot DNS: routing or MTUConnect to the IP directly
Only one application failsPinned resolver or cached answerCheck that app's DNS setting

మొదటి రెండు వరుసలే ప్రజలు తప్పుగా నిర్ధారిస్తారు. నిశ్శబ్ద పతనం మరియు తిరస్కరణ రెండూ బ్రౌజర్లో "DNS పగిలింది" లాగానే కనిపిస్తాయి, కానీ వాటిలో ఒకటి మాత్రమే మీ kill switch తన పని చేస్తోందని అర్థం. తిరస్కరణ అంటే ఏదో సమాధానం ఇచ్చింది, కాబట్టి బ్లాక్ మీరు అనుకున్న చోట లేదు.

resolver విధానాన్ని పునరుద్ధరించి, తర్వాత నిరూపించండి

డిజైన్ను సరిచేయండి, లక్షణాన్ని కాదు. టన్నెల్-మాత్రమే పరిష్కారానికి టన్నెల్ ఇంటర్ఫేస్లో 53ని అనుమతించండి, టన్నెల్ కాన్ఫిగరేషన్తో అంతర్గత resolverను నెట్టండి, భౌతిక లింక్ను ఎలాంటి DNS అనుమతి లేకుండా వదిలేయండి. wg-quickలో resolverను ఇంటర్ఫేస్ కాన్ఫిగరేషన్లో రాసే పంక్తిDNS =, కాబట్టి దాన్ని వదిలేసే టన్నెల్ పాత resolverను అక్కడే ఉంచి ప్రతి ప్రశ్నను తప్పు మార్గంలో పంపుతుంది. wg-quick మాన్యువల్ ప్రతి ప్లాట్ఫారమ్కు ఆ ప్రవర్తనను డాక్యుమెంట్ చేస్తుంది.

తర్వాత ఈ క్రమంలో ధృవీకరించండి. Linuxలోresolvectl status సక్రియ లింక్ను చూపుతుంది, dig +short example.com పబ్లిక్ పేరును పరీక్షిస్తుంది, dig @10.8.0.1 internal.example.com ప్రైవేట్ పేరును పరీక్షిస్తుంది, మరియుsudo tcpdump -ni any port 53 రెండింటినీ నడుపుతున్నప్పుడు ప్యాకెట్లు ఏ ఇంటర్ఫేస్ను ఉపయోగిస్తాయో చూపుతుంది. WindowsలోGet-DnsClientServerAddress -AddressFamily IPv4 మరియుResolve-DnsName example.com అదే రెండు వాస్తవాలను ఇస్తాయి: ఎవరు కాన్ఫిగర్ అయ్యారు, ఎవరు సమాధానం ఇస్తున్నారు.

ప్రతికూల పరీక్షతో ముగించండి. టన్నెల్ను డిస్కనెక్ట్ చేయండి, కొత్త పబ్లిక్ పేరు విఫలమవుతుందని నిర్ధారించండి, ప్రైవేట్ పేరు విఫలమవుతుందని నిర్ధారించండి, మరియుపోర్ట్ 53 యొక్క ఏ ప్యాకెట్ భౌతిక అడాప్టర్ను విడిచిపెట్టలేదని నిర్ధారించండి. కాష్ చేసిన సమాధానాలకు మాత్రమే నిలిచే బ్లాక్ అసలు నిలవదు.

టికెట్ మూసివేసే ముందు చెక్లిస్ట్:

  • వైఫల్య సమయంలో ఉపయోగించిన resolver విధానం ఉద్దేశించినదే.
  • క్లయింట్ సొంత ఎండ్పాయింట్ శోధన కాష్ లేదా మినహాయింపు ద్వారా ఇంకా అనుమతించబడింది.
  • DoH మరియు DoT బ్లాక్లో ఉన్నాయి లేదా విధానంతో నిష్క్రియం చేయబడ్డాయి.
  • టన్నెల్ పోయిన తర్వాత ప్రైవేట్ జోన్లు తెరిచిన స్థితిలో కాదు, మూసిన స్థితిలో విఫలమవుతాయి.

సంబంధిత వ్యాసాలు