ആഡ്Guardian ഹോം നിങ്ങളുടെ ലാൻ അഡ്രസിൽ നിന്നും വയർഗാർഡ് ക്ലയന്റുകൾക്ക് മറുപടി നൽകുന്നു
0.0.0.0 ബൈൻഡ് കർണലിന് പ്രതികരണ പൊതിഞ്ഞ വിലാസം തിരഞ്ഞെടുക്കാൻ അനുവദിക്കുന്നു. ബഹുമുഖ ഹോസ്റ്റിൽ ആ പരിഹാരം ടണൽ എത്താൻ കഴിയാത്ത വിലാസത്തിലാണ് വരാറ്.
ടണ്ണൽ ഉയർന്നു, ഫയർവാൾ പോർട്ട് 53 അനുവദിച്ചു, AdGuard ഹോം പ്രവർത്തിക്കുന്നു, എങ്കിലും വൈർഗാർഡ് ക്ലയന്റിനു പേര് ഇപ്പോഴും പരിഹരിക്കപ്പെട്ടില്ല. ക്വറി സാധാരണയായി എത്തുന്നു, ആൻസർ സാധാരണയായി പുറപ്പെടുന്നു, അതിനാൽ റിസോൾവറിലെ പാക്കറ്റ് കൗണ്ടറുകൾ സുഖകരമായിരിക്കുന്നു, സെർവീസ് അനപകടംപോലെയാണ് തോന്നുന്നത്. തെറ്റ് സംഭവിക്കുന്നത് ആ മറുപടിയിലെ സോഴ്സ് വിലാസത്തിൽ ആണ്: ക്ലയന്റ് ആവശ്യപ്പെട്ടിട്ടില്ലാത്ത ഒരു ലോക്കൽ വിലാസത്തിൽ നിന്ന് പുറപ്പെടുന്നു, ക്ലയന്റിന്റെ സ്റ്റബ് റിസോൾവർ അത് തള്ളിവിടുന്നു. AdGuard ഹോമിന്റെ കോൺഫിഗറേഷനിലുള്ള ഒരു ലിസ്റ്റ് ഇതു നിർണയിക്കുന്നു, സാധാരണ ഡീഫോൾട്ട് ഇത് കണൽക്ക് വിടുന്നു.
ക്വറി എത്തുന്നു, ആൻസർ മറ്റൊരു ഇടത്ത് നിന്ന് പുറപ്പെടുന്നു
ഒരു ക്ലയന്റ് 10.6.0.1 എന്നതിനെ തന്റെ റിസോളറായി കോൺഫിഗർ ചെയ്തിട്ടുണ്ട് എങ്കിൽ അത് 10.6.0.1 പോർട്ട് 53 ലേക്ക് ഒരു UDP ക്വറി അയയ്ക്കും. ആ പാക്കറ്റ് ടണൽ കടന്ന് ഹോസ്റ്റിൽ എത്തുകയും AdGuard Home അത് പ്രതികരിക്കുകയും ചെയ്യും. പക്ഷേ വയറിൽ, പ്രതികരണം ഒരു പുതിയ പാക്കറ്റായിരിക്കും, അതിന്റെ സോഴ്സ് വിലാസം ഹോസ്റ്റിന്റെ സ്റ്റാക്ക് തിരഞ്ഞെടുക്കുന്നതാണ്, ക്ലയന്റിന്റെ പ്രതീക്ഷയല്ല.
ക്ലയന്റിന്റെ റിസോളർ ഒരു കണెక్టുചെയ്ത സൊക്കറ്റ് ആയപ്പോൾ, അത് systemd-resolved, dnsmasq, മിക്ക സ്റ്റബ് റിസോളറുകളും ഉപയോഗിക്കുന്ന രീതിയാണ്, അത് അയച്ചിട്ട് ഉള്ള ശരിയായ വിലാസങ്ങൾ മുതൽ മാത്രമേ പ്രതികരണങ്ങൾ സ്വീകരിക്കുകയുള്ളൂ. 192.168.1.10 ലെ ഒരു സോഴ്സ് ഉള്ള പ്രതികരണം 10.6.0.1 ലേക്ക് അയച്ച ഒരു ക്വറിയിലേക്ക് പാഴായിരിക്കുകയാണ്, parsing നടക്കുന്നതിനു മുൻപേ തന്നെ. റിസോളർ ഒരു വിജയകരമായ ഉത്തരത്തിന്റെ ലോഗ് രേഖപ്പെടുത്തുന്നു, ക്ലയന്റ് ഒരു ടൈംഔട്ട് രേഖപ്പെടുത്തുന്നു, ഇരുവരും സത്യം പറയുകയാണ്.
അതിനാൽ കൗണ്ടറുകൾ വെറുതെയല്ലക്കഥ പറയുന്നത്, ക്ലയന്റും കള്ളം പറയുന്നില്ല. നിങ്ങൾക്ക് ആവശ്യമുള്ള സാക്ഷ്യങ്ങൾ മൂന്ന് സ്ഥലങ്ങളിൽ ഉണ്ട്, ഈ ക്രമത്തിൽ: കേൾക്കുന്നയാളിൻറെ ബൈൻഡ് ചെയ്ത വിലാസം, ക്ലയന്റിലേക്കു മടങ്ങുന്നതിനുള്ള കാർണൽ ഉപയോഗിക്കുന്ന മാർഗ്ഗം, ഒപ്പം യഥാർത്ഥ മറുപടി പാക്കറ്റിലെ സ്രോതസ് വിലാസം.
കാർണൽ മറുപടി സ്രോതസ് എങ്ങനെ തിരഞ്ഞെടുക്കുന്നു
ഒരു UDP സോക്കറ്റ്0.0.0.0സ്വന്തമായ സ്രോതസ് വിലാസമുള്ളതല്ല, അതിനാൽ ഓരോ പുറപ്പെടുന്ന മറുപടിക്കും ലക്ഷ്യമിടുന്ന സ്ഥലത്തേക്ക് ഒരു മാർഗ്ഗ അന്വേഷണവും പ്രവർത്തിപ്പിക്കുന്നു. ശേഷം കാർണൽ ആ മാർഗ്ഗത്തിൽ നിന്ന് സ്രോതസ് എടുത്തു: മാർഗ്ഗം നിശ്ചയിച്ച വിലാസം, അല്ലെങ്കിൽ പുറപ്പെടുന്ന ഇൻറർഫേസ്ന്റെ പ്രാഥമിക വിലാസം. ചോദേവിലാസത്തെപ്പറ്റിയുള്ള എന്തും ഓർമ്മിക്കപ്പെടാതെ പോകുന്നു.
ഒറ്റ ഹോംഡ് ഹോസ്റ്റിൽ ഇത് അദൃശ്യമാണ്, കാരണം എതിർപ്പില്ലാത്തൊരു ഒറ്റ ഉത്തരമേ ഉള്ളൂ. ഒരു ലാൻ വിലാസം, ഒരു വയർഗാർഡ് വിലാസം, ഒരു മാനേജ്മെന്റ് വിലാസം എന്നിവ കൈവശമുള്ള യന്ത്രത്തിൽ, പല ഉത്തരങ്ങളും സാധ്യമാണ്, വിജയി ആ സമയത്തെ റൂട്ടിംഗ് ടേബിളിനെ ആശ്രയിക്കുന്നു. ഒരു അധിക റൗട്ട് ചേർക്കുക, ഒരേ ഇന്റർഫേസ്ನಲ್ಲಿ രണ്ടാം വിലാസം ചേർക്കുക, റെസോൾവറിന്റെ മുന്നിൽ ഒരു NAT റിഡൈരക്ട് പ്രവർത്തിപ്പിക്കുക, അല്ലെങ്കിൽ സ്വന്തം നെയിംസ്പേസിനൊപ്പം ഒരു കണ്ടെയ്നറിൽ അഡ്ഗാർഡ് പ്രവർത്തിപ്പിക്കുക, എന്നാൽ തിരഞ്ഞെടുക്കപ്പെട്ട ഉറവിടം ക്ലയന്റ് ചോദിച്ചതു മുതൽ വ്യത്യസ്തമായി ആയിരിക്കാം.
ss -lunp | grep :53നിങ്ങൾ ഏത് ഗെയിമിലാണെന്നും കാണിക്കുന്നു.0.0.0.0:53ലിസണറുകൾ സാധാരണ കേസാണ്;10.6.0.1:53ലിസണർ ഇതിനകം തന്നെ ഉത്തരം പിന് ഡയ്മാറി കഴിഞ്ഞിട്ടുണ്ട്. സോക്കറ്റ് വായിക്കുന്നത് YAML വായിക്കുന്നതിനേക്കാൾ വേഗമാണ്, ഇതു എക്കാലത്തും പ്രവർത്തിക്കുന്നതല്ലാതെ അവസാനമായി സേവ് ചെയ്തു പോലെയുള്ളത് തിരിച്ചറിയിക്കുന്നു.
bind_hosts യഥാർത്ഥത്തിൽ നിയന്ത്രിക്കുന്നത്
അഡ്ഗാർഡ് ഹോം.dns.bind_hostsDNS ശ്രോതാവ് ഉപയോഗിക്കുന്ന പ്രാദേശിക വിലാസങ്ങളുടെ പട്ടികയിൽ ആണ്. അയച്ചിട്ടുള്ള ഡീഫോൾട്ട് വൈൽഡ് കാർഡാണ്, അതായത് എല്ലാ പ്രാദേശിക വിലാസത്തിലും സ്വീകരിക്കുക, മറുപടി ആവശ്യത്തിനുള്ള ഉറവിടം നിർണ്ണയിക്കാൻ kernel-ന് അനുമതിയുണ്ട്. ക്ലയന്റുകൾ ചോദിക്കുന്ന വിലാസത്തോടെ വൈൽഡ് കാർഡ് മാറ്റുകയാണെങ്കിൽ സോക്കറ്റ് മാറുകയും, അതിനൊപ്പം എല്ലാ ഉത്തരങ്ങളിലും ഉറവിട വിലാസം മാറുകയും ചെയ്യും.
പട്ടികയിൽ ഒരിലധികം എൻട്രികൾ അടങ്ങിയേക്കാം, ഇത് രണ്ട് നെറ്റ്വർക്കുകൾ സർവ്വീസ് ചെയ്യുന്ന റെസോള്വറിൽ പ്രാധാന്യമുള്ളതാണ്.10.6.0.1and192.168.1.10നൽകിയാൽ രണ്ട് ബൗണ്ടും സോക്കറ്റുകൾ ലഭിക്കും, ഏതിലേറെ ഒന്ന് വന്ന ഒരു ചോദ്യം അതിന്റെ എത്തിച്ച വിലാസത്തിൽ നിന്ന് മറുപടി ലഭിക്കും. അനുവദിക്കുന്ന വൈൽഡ് കാർഡ് ഇതിനകം നൽകുന്ന പ്രവർത്തനമാണ് രൂപത്താൽ പലർക്കും തോന്നുന്നത്.
YAML ലളിതമാണ്, അതിൽ ഉള്ള വിലാസം നിങ്ങളുടെ ടണ്ണൽ ക്ലയന്റുകൾ ഉപയോഗിക്കാൻ പറയപ്പെട്ടത് ആണ്, ഹോസ്റ്റിന്റെ പ്രാഥമിക വിലാസം അല്ല:
dns:
bind_hosts:
- 10.6.0.1
port: 53ഒരേ റെസോള്വറിന്റെ രണ്ട് ഇൻസ്റ്റലേഷനുകൾ എടുക്കുന്നതിൽ എത്ര വ്യത്യാസമുണ്ടെന്ന്
ഈ സാന്ദർഭത്തിൽ പ്ലഗിൻ-മാനേജുചെയ്തത് എന്ന് പറയുന്നത് റെസോള്വർ മറ്റൊരു പാക്കേജാണ് ഇൻസ്റ്റാൾ ചെയ്തു മേൽനോട്ടം വഹിക്കുന്നത് എന്ന് അർത്ഥമാക്കും: ഒരു റൗട്ടർ ഫർമ്വെയർ പാക്കേജ്, ഒരു NAS പാക്കേജ്, അല്ലെങ്കിൽ ഒരു ഹോം ഓട്ടോമേഷൻ ആഡ്-ഓൺ. ആ പാക്കേജ് സാധാരണയായി AdGuard Home-ის YAML ന്റെ സ്വന്തം കോപ്പി ഷിപ്പുചെയ്യുകയും തന്റെ സ്വന്തം ഷെഡ്യൂളിൽ പ്രക്രിയ പുനരാരംഭിക്കുകയും ചെയ്യുന്നു, എന്നാൽ സ്റ്റാൻഡ്എലോൺ ഇൻസ്റ്റൻസ് നിങ്ങൾ തന്നെ ക്രമീകരിക്കുന്ന വാൽഡേഴിന്റെ ബൈനറി അല്ലെങ്കിൽ കണ്ടെയ്നർ ആണ്. ഏതൊരു രീതിയിലും നിങ്ങൾ രണ്ട് സ്വതന്ത്ര പ്രക്രിയകളെ തന്നെ പ്രിവ്യൂ ചെയ്യുന്നു, ഓരോന്നിനും വേറിട്ട കോൺഫിഗ്രേഷൻ ഫയലുകളും വേറിട്ട ബൈൻഡ് ഓപ്ഷനുകളും ഉണ്ട്, രണ്ട് പ്രക്രിയകളും ഒരേ അപ്പ്സ്ട്രീം ലിസ്റ്റും ഒരേ ഫിൽറ്റർ ലിസ്റ്റുകളും വായിക്കുമ്പോഴും. ഒരാൾക്ക് പ്രത്യേക ടണൽ വിലാസം ബൈൻഡ് ചെയ്യാൻ കഴിയും, മറ്റാൾ വടക്കോർത് ഇൻഹെറിറ്റ് ചെയ്യുന്നു, വെബ്ബ് ഇന്റർഫേസ് ഏതുതക്കം നിന്നും ഒരുപോലെയാണ് കാണുന്നത്.
അത് കൊണ്ടാണ് "മൈഗ്രേഷൻ മുമ്പ് അതേ റെസോള്വർ പ്രവർത്തിച്ചിരുന്നു" എന്നത് നിലവിലെ ബൈൻഡിംഗിനെക്കുറിച്ച് എന്തും തെളിയിക്കുന്നില്ല എന്ന്. സോകറ്റ് പരിശോധിക്കുക, പിന്നെ പ്രവർത്തിക്കുന്ന പ്രോസസ്സ് വാസ്തവത്തിൽ ലോഡ് ചെയ്ത കോൺഫിഗറേഷൻ ഫയൽ പരിശോധിക്കുക. മറ്റൊരു ഡയറക്ടറിയിലെ പഴയ കോപ്പിയാണ് സംശോധനം ഫലപ്രദമല്ല എന്ന് തോന്നുന്നതിനുള്ള സാധാരണ കാരണം.
അത് പിന് ചെയ്ത് പിന്നീട് തുരങ്കത്തിന്റെ ഭാഗത്ത് നിന്ന് പരിശോദിക്കുക
മാറ്റംbind_hostsടണൽ വിലാസത്തിലേക്ക്, സേവനം പുനരാരംഭിക്കുകയും സോക്കറ്റ് നീങ്ങിയതായി ഉറപ്പാക്കുകയും ചെയ്യുക:ss -lunp | grep :53ഇപ്പോൾ കാണിക്കണം10.6.0.1:53മറ്റൊരു വൈൽഡ്കാർഡ് എൻട്രിയുമില്ല. ഇതു ഇപ്പോഴും കാണിക്കുന്നുവെങ്കിൽ0.0.0.0,പരിഭാഷിച്ച ഫയൽ റൺ ചെയ്യുന്ന പ്രക്രിയ വായിക്കുന്നത് അല്ല.
അപ്പോൾ ക്ലയന്റിൽ നിന്നും ടെസ്റ്റ് ചെയ്യൂ, കാരണം അതേ ഒരേയൊരു തലമാണ് പ്രധാനമായതു. ഒരു ക്വറിdig @10.6.0.1 example.comഉപയോക്താവ് അഭ്യസിക്കുന്ന പാത അഭ്യസിക്കുന്നു, ഹോസ്റ്റിൽ ഒരു ക്യാപ്ചർ ഉണ്ടാകുന്നുtcpdump -ni wg0 udp port 53വയയറിലുള്ള പ്രതികരണത്തിന്റെ ഉറവിട വിലാസം കാണിക്കുന്നു. അതിനെ ക്ലയന്റിന്റെ റിസോൾവർ സജ്ജീകരണത്തിലെ വിലാസവുമായി താരതമ്യം ചെയ്യുക; അവ സമാനമാണെങ്കിൽ, ടൈംഔട്ട് ഇനി രഹസ്യം ആയിരുന്നില്ല.
ip route get 10.6.0.2ബാക്കിയുള്ള ഏതെങ്കിലും അസാധാരണത വിശദീകരിക്കുന്നു, കാരണം അത് ഇന്റർഫേസ് പ്രിന്റ് ചെയ്യുകയും ഹോസ്റ്റിന് ക്ലയന്റിലേക്ക് ഉപയോഗിക്കാൻ പോകുന്ന ഉറവിടം കാണിക്കുകയും ചെയ്യുന്നു. ആ ഔട്ട്പുട്ടിൽ LAN ഇന്റർഫേസ് പേരുണ്ടെങ്കിൽ, ബൈണ്ട് മാറ്റം പൂർണ പരിഹാരം അല്ല, റൂട്ടിംഗ് ടേബിൾ അടുത്ത വായനാ വിഷയമാണ്.
ബൈണ്ട് സജ്ജീകരണം പരിഹരിക്കാനാവാത്തത്
ലിസ്റ്റനർ_PIN ചെയ്യുന്നത് ടണൽ സബ്നെറ്റ് അനുവദിക്കാത്ത ആക്സസ് ലിസ്റ്റ്, ചോദ്യം അനുവദിക്കുന്ന പക്ഷേ പ്രതികരണം അനുവദിക്കാത്ത ഫയർവാൾ നിയമം, അല്ലെങ്കിൽ WireGuard പൂളിലേക്കുള്ള മറുപടി ഡിമ്മിംഗ് റൂട്ട് പരിഹരിക്കുന്നില്ല. അവ ഉറവിട വിലാസത്തിന് മുമ്പ് അല്ലെങ്കിൽ പിന്നാലെയായിരിക്കും പാഴാകുന്നത്, ഓരോന്നും വ്യത്യസ്ത ഉടമയ്ക്കാണ്.
ഇത് മാറ്റുന്നില്ലറിസോൾവർ പ്രവർദ്ധിപ്പിക്കുന്ന ഉയർന്ന തലസ്ഥാനം, ഒരു സ്വകാര്യ നാമത്തിനുള്ള സ്വകാര്യ ഉത്തരം റീബൈൻഡിംഗ് സംരക്ഷണം നിഷേധിക്കുന്നുണ്ടോ അല്ലെങ്കിൽ ക്ലയന്റ് സ്വന്തം സെർച്ച് ഡൊമെയ്നുകൾ എങ്ങനെ പ്രയോഗിക്കുന്നു എന്നതോ. അവ വേറെ നിയന്ത്രണങ്ങളാണ്. പ്രതികരണ സ്രോതസ്സ് തെറ്റായാൽ ബൈൻഡ് വിലാസം മാറ്റുക, തെറ്റായിട്ടില്ലെങ്കിൽ എന്തെങ്കിലും മറ്റൊന്നിനെ മാറ്റുക.