ഒരു dnsmasq വരി ഒരു പേരിന് NXDOMAIN നൽകി ഉത്തരം നൽകാം, അത്രമാത്രമാണ് മുഴുവൻ സംവിധാനവും. അത് ഒരിക്കലും HTML വായിക്കുന്നില്ല, അഭ്യർത്ഥനയുടെ പാത പരിശോധിക്കുന്നില്ല, ഒരു ആപ്ലിക്കേഷൻ ഇതിനകം തുറന്ന കണക്ഷനുമായി എന്ത് ചെയ്യുന്നു എന്ന് കാണുന്നുമില്ല. അതിനാൽ ഇതിനെ ഒരു ബ്രൗസർ വിപുലീകരണവുമായി താരതമ്യം ചെയ്യുന്നത് രണ്ട് വ്യത്യസ്ത ജോലികളുടെ താരതമ്യമാണ്. ഒന്ന് ഒരു പേര് പരിഹരിക്കുമോ എന്ന് തീരുമാനിക്കുന്നു; മറ്റൊന്ന് അതിന് ശേഷം എന്ത് സംഭവിക്കുന്നു എന്ന് തീരുമാനിക്കുന്നു.

ഒരു പേര് ഫിൽട്ടർ യഥാർത്ഥത്തിൽ നിയന്ത്രിക്കുന്നത്

അവസാനത്തെ സ്ലാഷിന് ശേഷം ഒന്നുമില്ലാത്ത address=/metrics.example/ ഓപ്ഷൻ, ആ പേരിനും അതിന്റെ ഉപഡൊമെയ്നുകൾക്കും റിസോൾവർ NXDOMAIN നൽകാൻ പ്രേരിപ്പിക്കുന്നു. വിലാസം ശൂന്യമായി വിടുന്നതാണ് പ്രധാന ഭാഗം: ബന്ധമില്ലാത്ത ഒരു പകരം സെർവറിലേക്ക് ക്ലയന്റുകളെ അയയ്ക്കുന്നതും ലൂപ്പ്ബാക്ക് വിലാസത്തെ യഥാർത്ഥ ലക്ഷ്യമായി കാണിക്കുന്നതും ഇത് ഒഴിവാക്കുന്നു. dnsmasq-ന്റെ മാനുവൽ ഈ രൂപത്തെ ഒരു റീഡയറക്ട് അല്ല, നെഗറ്റീവ് ഉത്തരമായി വിവരിക്കുന്നു.

ഈ നിയമത്തിന് ചെയ്യാൻ കഴിയുന്നതെല്ലാം ആ ഒരു തീരുമാനത്തിൽ നിന്നാണ് വരുന്നത്. ഈ റിസോൾവറിനോട് ചോദിക്കുന്ന ക്ലയന്റിന് നെഗറ്റീവ് ഉത്തരം ലഭിക്കുന്നു; മറ്റൊരു റിസോൾവറിനോട് ചോദിക്കുന്ന ക്ലയന്റിന് ആ റിസോൾവർ പറയുന്നത് ലഭിക്കുന്നു. ആപ്ലിക്കേഷൻ ഏത് പാത, ക്വറി സ്ട്രിംഗ് അല്ലെങ്കിൽ അക്കൗണ്ട് ഉപയോഗിക്കുമായിരുന്നു എന്ന് ഫിൽട്ടറിന് അറിയില്ല.

ഈ സൂക്ഷ്മത പ്രധാനമാണ്, കാരണം ഒരു ഹോസ്റ്റ്നാമം പലപ്പോഴും നിരവധി ലക്ഷ്യങ്ങൾ നിർവഹിക്കുന്നു. സൈൻ-ഇൻ എൻഡ്പോയിന്റുകൾ, ചിത്രങ്ങൾ, ട്രാക്കിംഗ് എന്നിവ ഒരു ഡൊമെയ്ൻ പങ്കിടാം, മുഴുവൻ പേരും നീക്കം ചെയ്യുന്ന ഒരു നിയമം ഒരു വർക്ക്ഫ്ലോയും നീക്കം ചെയ്തേക്കാം. പേരിന്റെ തലത്തിലുള്ള നയം ഈ വിനിമയം അംഗീകരിക്കണം അല്ലെങ്കിൽ ഇടുങ്ങിയ പേരുകൾ തിരഞ്ഞെടുക്കണം.

ക്ലയന്റ്-സൈഡ് ബ്ലോക്കർ വ്യത്യസ്തമാകുന്നത് എവിടെ

ഒരു ബ്രൗസർ വിപുലീകരണം അഭ്യർത്ഥന പുറത്തുപോകുന്നതിന് മുമ്പ് കാണുന്നു, അതിനാൽ ഒരു URL പാത ഒത്തുനോക്കാം, ഒരു നിർദ്ദിഷ്ട അഭ്യർത്ഥന റദ്ദാക്കാം, ഫലം കാണിച്ചിരുന്ന ഘടകം മറയ്ക്കാം. example.com/article അനുവദിച്ചുകൊണ്ട് example.com/ads/ നിരസിക്കാം, ഇത് ഒരു DNS ഉത്തരത്തിനും പ്രകടിപ്പിക്കാനാവില്ല. പാതയുടെ തലത്തിലുള്ള ഈ കാഴ്ചയാണ് റിസോൾവറിന് ഇല്ലാത്ത കഴിവ്. ഒരു ഉപകരണത്തിനായി നിർമ്മിച്ച ഫിൽട്ടർ പട്ടിക മറ്റൊന്നിൽ അപൂർവ്വമായി ഒരേപോലെ പെരുമാറുന്നതിന്റെ കാരണവും ഇതാണ്.

വില വ്യാപ്തിയാണ്. ആ സംരക്ഷണം ഒരു ബ്രൗസറിനുള്ളിൽ, ഒരു പ്രൊഫൈലിൽ, ഒരു ഉപകരണത്തിൽ ജീവിക്കുന്നു, ഉപയോക്താവ് മറ്റൊരു ആപ്ലിക്കേഷനിലേക്ക് പോകുമ്പോൾ അത് അപ്രത്യക്ഷമാകുന്നു. ഗേറ്റ്വേയിൽ ക്രമീകരിച്ച DNS ഫിൽട്ടർ ഗേറ്റ്വേയുടെ റിസോൾവർ ഉപയോഗിക്കുന്ന എല്ലാ ഉപകരണങ്ങളെയും ഉൾക്കൊള്ളുന്നു, ഒരു വിപുലീകരണവും ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയാത്ത ഉപകരണങ്ങൾ ഉൾപ്പെടെ.

ഈ രണ്ട് ക്രമീകരണങ്ങളിൽ ഒന്നും സ്വയം പൂർണ്ണമല്ല. DNS ഫിൽട്ടറിന് ഒരു പേജ് ഇതിനകം അയച്ച ഐഡന്റിഫയർ നീക്കം ചെയ്യാനാവില്ല, ബ്രൗസർ വിപുലീകരണത്തിന് അത് ഒരിക്കലും ലോഡ് ചെയ്യാത്ത ഒരു ആപ്ലിക്കേഷനെ സംരക്ഷിക്കാനാവില്ല.

ഏതെങ്കിലും ഇവ പ്രാബല്യത്തിൽ വരുന്നുണ്ടോ എന്ന് റിസോൾവറിന്റെ പാത തീരുമാനിക്കുന്നു

ഒരു VPN ഒരു DNS സെർവർ പ്രഖ്യാപിച്ചിട്ടും എല്ലാ ക്വറിയും സ്വീകരിച്ചെന്ന് വരില്ല. എൻക്രിപ്റ്റ് ചെയ്ത DNS ക്രമീകരിച്ച ഒരു ബ്രൗസർ, സ്വന്തം റിസോൾവറുള്ള ഒരു ആപ്ലിക്കേഷൻ, അല്ലെങ്കിൽ ഗേറ്റ്വേ ഒഴിവാക്കുന്ന ഒരു നെറ്റ്വർക്ക് പാതയിലുള്ള ഉപകരണം—എല്ലാം വേറെയെവിടെയോ നോക്കും. മൊബൈൽ പ്ലാറ്റ്ഫോമുകൾ ടണൽ നിർദ്ദേശിക്കുന്നതിനെ നിശബ്ദമായി അസാധുവാക്കുന്ന ഒരു സ്വകാര്യ-DNS ക്രമീകരണം കൂടുതലായി നൽകുന്നു.

അതിനാൽ നയമല്ല, പാത പരീക്ഷിക്കുക. ഉദ്ദേശിച്ച റിസോൾവറിനോട് ഗേറ്റ്വേയിൽ നിന്ന് നേരിട്ട് ചോദിക്കുക, പിന്നീട് ഒരു ക്ലയന്റിൽ നിന്ന് ചോദിച്ച് താരതമ്യം ചെയ്യുക, തുടർന്ന് തടയേണ്ട ഒരു പേര് ഉപയോക്താവ് പ്രവർത്തിപ്പിക്കുന്ന ആപ്ലിക്കേഷനിൽ യഥാർത്ഥത്തിൽ പരാജയപ്പെടുന്നുണ്ടോ എന്ന് നിരീക്ഷിക്കുക.

കാഷ് ചെയ്ത ഉത്തരങ്ങളും തുറന്ന സോക്കറ്റുകളും ഇത് ബഹളമയമാക്കുന്നു. തന്റെ ഉറവിടങ്ങൾ ഇതിനകം ലോഡ് ചെയ്ത ഒരു പേജ് നിയമം മാറിയതിന് ശേഷവും പ്രവർത്തിക്കും, അതിനാൽ പഴയ ടാബ് വീണ്ടും ലോഡ് ചെയ്യുന്നതിനേക്കാൾ പുതിയ ഒരു കണക്ഷൻ മികച്ച പരിശോധനയാണ്.

ഫലം പ്രഖ്യാപിക്കുന്നതിന് മുമ്പ് രണ്ട് ദിശകളും പരീക്ഷിക്കുക

ഉദ്ദേശ്യപൂർവ്വം തടഞ്ഞ ഒരു ഡോക്യുമെന്റേഷൻ പേര്, അനുവദിച്ച ഒരു പൊതു പേര്, സേവനത്തിന് ആവശ്യമായ ഒരു സ്വകാര്യ പേര് എന്നിവ ഉപയോഗിക്കുക:

$ dig +short metrics.example @10.40.0.53
$ dig +short example.com @10.40.0.53
$ dig +short intranet.corp.internal @10.40.0.53

തടഞ്ഞ പേരിന് ശൂന്യമായ ഉത്തരം, പൊതുവായതിന് സാധാരണ വിലാസം, ആന്തരികത്തിന് സ്വകാര്യ വിലാസം—ഇവ ഒരുമിച്ച് ഫിൽട്ടറിംഗും അപ്സ്ട്രീം റിസല്യൂഷനും പ്രാദേശിക റെക്കോർഡുകളും എല്ലാം പ്രവർത്തിക്കുന്നു എന്ന് കാണിക്കുന്നു. മൂന്നും പരാജയപ്പെട്ടാൽ, നിങ്ങൾ ഫിൽട്ടറല്ല, അപ്സ്ട്രീം അല്ലെങ്കിൽ ലിസണർ പ്രശ്നമാണ് കാണുന്നത്.

നിങ്ങൾ ആന്തരികമായി പ്രസിദ്ധീകരിക്കുന്ന എല്ലാറ്റിലും ആവകാശവാദം ഇടുങ്ങിയതായി സൂക്ഷിക്കുക. ഇത് ഒരു റിസോൾവറിലുള്ള ഡൊമെയ്ൻ ഫിൽട്ടറിംഗാണ്, ഉള്ളടക്ക പരിശോധനയല്ല, പാത ഫിൽട്ടറിംഗല്ല, ആരും ട്രാക്ക് ചെയ്യുന്നില്ല എന്ന വാഗ്ദാനവുമല്ല. നയത്തിന്റെ ഉടമ, ഒഴിവാക്കൽ പാത, ക്വറി സൂക്ഷിക്കുന്ന കാലയളവ് എന്നിവ നിയമങ്ങൾക്കൊപ്പം പറയുക, കാരണം ഓരോ തിരയലും ലോഗ് ചെയ്യുന്ന ഫിൽട്ടറിന് സ്വന്തമായ സ്വകാര്യതാ ചെലവുണ്ട്.

അനുബന്ധ ലേഖനങ്ങൾ