നിങ്ങൾ WireGuard ഉയർത്തി, ടണൽ ട്രാഫിക് കടന്നുപോകുന്നു, എന്നാൽ ആന്തരിക നാമം ഇപ്പോഴും റിസോൾവ് ചെയ്യുന്നില്ല. അടുത്ത നീക്കം സാധാരണയായി WireGuard കോൺഫിഗറേഷനിൽ DNS ക്രമീകരണം തിരയുന്നതാണ്, മറ്റ് ചില VPN ചെയ്യുന്നതുപോലെ ഒരു പിയർ ഒരു റിസോൾവർ പുഷ് ചെയ്യാമെന്ന് കരുതി. അതിന് കഴിയില്ല. ഹാൻഡ്ഷേക്ക് കീകൾ, ഇന്റർഫേസ് വിലാസങ്ങൾ, അനുവദിച്ച IPകൾ എന്നിവ വഹിക്കുന്നു, DNS സെർവറുകൾക്കോ തിരയൽ ഡൊമെയ്നുകൾക്കോ അതിൽ ഫീൽഡ് ഇല്ല. റിസോൾവർ നയം ക്ലയന്റിൽ കഴിയുന്നു, തിരുത്തും അവിടെത്തന്നെയാണ്.

ടണലും റിസോൾവറും വേറിട്ട കരാറുകളാണ്

WireGuard മനഃപൂർവം ചെറുതാണ്. നിങ്ങൾ പട്ടികപ്പെടുത്തുന്ന വിലാസങ്ങൾക്കുള്ള പാക്കറ്റുകൾ അത് നീക്കുന്നു, പിയറുകളെ ആധികാരികമാക്കുന്നു; ആ പാളിക്ക് മുകളിലുള്ളതെല്ലാം നിങ്ങളുടെ രൂപകൽപ്പനയാണ്. OpenVPN dhcp-option DNS പുഷ് ചെയ്യാൻ കഴിയും, കാരണം അതിന്റെ നിയന്ത്രണ ചാനൽ കോൺഫിഗറേഷൻ വഹിക്കുന്നു, ആ വ്യത്യാസം ഇവ രണ്ടിനുമിടയിൽ നീങ്ങുന്നവരെ വീഴ്ത്തുന്നു.

അതിനാൽ പ്രവർത്തിക്കുന്ന ഒരു ടണൽ നാമ പരിഹാരത്തെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല. ക്ലയന്റിന് 10.90.0.1 ലേക്ക് തികഞ്ഞ റൂട്ട് ഉണ്ടായാലും അത് അതിന്റെ ചോദ്യങ്ങൾ പൊതു റിസോൾവറിലേക്ക് അയക്കാം, അതുകൊണ്ടാണ് രോഗലക്ഷണം “VPN DNS തകർത്തു” എന്നു തോന്നുന്നത്, എന്നാൽ DNS ഒരിക്കലും VPN ലേക്ക് ചൂണ്ടിയിരുന്നില്ല.

റിക്കേഴ്സീവ് റിസോൾവറാകാതെ സോൺ നൽകുക

സെർവർ വശം ഒരു ചെറിയ അധികാര സോണാണ്, പൊതു റിസോൾവറല്ല. ഈ ഉദാഹരണത്തിൽ ഗേറ്റ്‌വേ 10.90.0.1 ആണ്, ക്ലയന്റുകൾ 10.90.0.0/24 ആണ്, നിങ്ങൾക്ക് പ്രധാനമായ ആപ്ലിക്കേഷൻ 10.60.0.20 ൽ ഉത്തരം നൽകുന്നു.

രണ്ടാമതൊരു ബ്ലോക്ക് ഉണ്ടാക്കുന്നതിനുപകരം ഈ ക്രമീകരണങ്ങൾ നിലവിലുള്ള options ബ്ലോക്കിലേക്ക് ലയിപ്പിക്കുക:

options {
    listen-on { 127.0.0.1; 10.90.0.1; };
    listen-on-v6 { none; };
    allow-query { 127.0.0.1; 10.90.0.0/24; };
    allow-transfer { none; };
    recursion no;
};

തുടർന്ന് സോണും അതിന്റെ ഫയലും പ്രഖ്യാപിക്കുക:

zone "corp.example" {
    type primary;
    file "/etc/bind/db.corp.example";
};
$TTL 300
@ IN SOA ns.corp.example. hostmaster.corp.example. ( 1 3600 600 604800 300 )
@      IN NS ns.corp.example.
ns     IN A  10.90.0.1
portal IN A  10.60.0.20

വീണ്ടും ലോഡ് ചെയ്യുന്നതിന് മുമ്പ് സാധൂകരിക്കുക, കാരണം ലോഡ് ചെയ്യുമ്പോഴുള്ള വാക്യഘടന പിശക് അത് സേവിക്കുന്ന ഓരോ സോണിനും മുഴുവൻ സെർവറും വീഴ്ത്തും:

named-checkconf
named-checkzone corp.example /etc/bind/db.corp.example

UDP, TCP 53 എന്നിവ VPN ഇന്റർഫേസിൽ മാത്രം തുറക്കുക. പൊതു ഇന്റർഫേസിൽ ഒരു സ്വകാര്യ അധികാരം പ്രസിദ്ധീകരിക്കുന്നത് ചോദ്യങ്ങളും എണ്ണലും ക്ഷണിക്കുന്നു, allow-transfer ഒരു ദ്വിതീയത്തിന് യഥാർത്ഥത്തിൽ ആവശ്യമില്ലെങ്കിൽ അടഞ്ഞിരിക്കണം.

ക്ലയന്റിനെ അതിലേക്ക് ചൂണ്ടിക്കാണിക്കുക, ഓരോ ലിങ്കിനും

കണക്ഷൻ NetworkManager ഉടമസ്ഥതയിലാണെന്നും റിസോൾവർ systemd-resolved ആണെന്നും കരുതുക. ആദ്യം നിലവിലുള്ള നയം വായിക്കുക, പ്രത്യേകിച്ച് ഏതെങ്കിലും റൂട്ട് റൂട്ടിംഗ് ഡൊമെയ്ൻ, കാരണം ഒരു ~. എൻട്രി നിങ്ങൾ ചേർക്കാൻ പോകുന്നതിനെ മറികടക്കും.

nmcli connection modify wg-office +ipv4.dns 10.90.0.1
nmcli connection modify wg-office +ipv4.dns-search '~corp.example'

ടിൽഡെയാണ് പ്രധാന പ്രതീകം. അത് ഡൊമെയ്നിനെ റൂട്ട്-മാത്രം എന്ന് അടയാളപ്പെടുത്തുന്നു: corp.example-ന് കീഴിലുള്ള നാമങ്ങൾ ഈ ലിങ്കിന്റെ DNS സെർവറിലേക്ക് പോകുന്നു, ഡൊമെയ്ൻ ചെറിയ നാമ തിരയൽ പ്രത്യയമായി ചേർക്കുന്നില്ല. അതില്ലാതെ, portal ടൈപ്പ് ചെയ്യുമ്പോൾ portal.corp.example റിസോൾവ് ചെയ്യാൻ തുടങ്ങുന്നു, ഇത് നിങ്ങൾക്ക് സൗകര്യവും മറ്റെല്ലാവർക്കും അത്ഭുതവുമാണ്. ടിൽഡെ ഉദ്ധരണികൾക്കുള്ളിൽ സൂക്ഷിക്കുക, കാരണം ഉദ്ധരണിയില്ലാത്തത് നിങ്ങളുടെ ഹോം ഡയറക്ടറിയിലേക്ക് ചൂണ്ടാൻ കാത്തിരിക്കുന്ന ഒരു ഷെൽ വിപുലീകരണമാണ്.

ഇന്റർഫേസ് ഉടമസ്ഥതയുള്ള മാനേജർ വഴി മാറ്റം പ്രയോഗിക്കുക, തുടർന്ന് കണക്ഷൻ വീണ്ടും ബന്ധിപ്പിക്കുക. അതേ ഇന്റർഫേസിന് രണ്ടാമത്തെ wg-quick ഇൻസ്റ്റൻസ് ആരംഭിക്കരുത്; രണ്ട് ഉടമകൾ റൂട്ടുകൾക്കായി വഴക്കിടും, അവരിൽ ഒരാൾ ഏറ്റവും മോശം നിമിഷത്തിൽ ജയിക്കും.

നാമത്തിന് മുമ്പ് പാത പരിശോധിക്കുക

ക്ലയന്റിൽ നിന്ന് നാമം ചോദിക്കുക, ഉത്തരവും അത് നിർമ്മിച്ച സെർവറും സ്ഥിരീകരിക്കുക:

resolvectl query portal.corp.example

അത് 10.60.0.20 നൽകുന്നുവെങ്കിൽ DNS കരാർ പൂർത്തിയായി. സമയം കഴിയുന്നുവെങ്കിൽ, ആദ്യം 10.90.0.1 ലേക്കുള്ള റൂട്ട്, പിന്നെ ഫയർവാൾ നിയമം, പിന്നെ സെർവറിലെ allow-query പരിശോധിക്കുക. ഈ ക്രമീകരണത്തിലെ നാമ പരിഹാര പരാജയങ്ങൾ മിക്കവാറും എപ്പോഴും എത്തിച്ചേരാനുള്ള കഴിവോ ACL-ഓ ആണ്, സോൺ ഫയലല്ല. ക്ലയന്റിൽ നിന്ന് പുറത്തേക്ക് പ്രവർത്തിക്കുക, കാരണം ഒരു ചോദ്യം എന്തുകൊണ്ട് ഒരിക്കലും എത്തിയില്ലെന്ന് സെർവറിന് പറയാനാകില്ല.

ആപ്ലിക്കേഷന് ഇപ്പോഴും അതിന്റെ സ്വന്തം റൂട്ടും സ്വന്തം സേവനാനുമതിയും ആവശ്യമാണെന്ന് ഓർക്കുക. എത്തിച്ചേരാനാകാത്ത വിലാസത്തിലേക്ക് ചൂണ്ടുന്ന റിസോൾവ് ചെയ്ത നാമം അതേ വസ്ത്രത്തിൽ മറ്റൊരു പരാജയമാണ്.

ഇപ്പോഴും യാന്ത്രികമല്ലാത്തത്

സ്വന്തം റിസോൾവർ യുക്തിയുള്ള ആപ്ലിക്കേഷനുകൾ സിസ്റ്റം റിസോൾവറിനെ പൂർണ്ണമായി അവഗണിക്കുന്നു, എത്ര nmcli ഉണ്ടായാലും അത് മാറ്റുന്നില്ല. DNSSEC സാധൂകരിക്കുന്ന വിന്യാസങ്ങൾക്ക് സ്വകാര്യ സോണിനായി വ്യക്തമായ ട്രസ്റ്റ് ആങ്കർ രൂപകൽപ്പന ആവശ്യമാണ്; സാധൂകരണം ഓഫാക്കാനുള്ള പൊതു നിർദ്ദേശമല്ല ഉത്തരം. നിങ്ങളുടെ ഉപയോക്താക്കൾ ഓടിക്കുന്ന അതേ ക്ലയന്റ് സോഫ്റ്റ്‌വെയർ ഉപയോഗിച്ച് പരിശോധിക്കുക, യാദൃശ്ചികമായി സിസ്റ്റം റിസോൾവർ ഉപയോഗിക്കുന്ന ഒരു ടൂൾ ഉപയോഗിച്ചല്ല. ആ രണ്ടിനുമിടയിലുള്ള വിടവാണ് മുഴുവൻ ബഗ് റിപ്പോർട്ട്.

ഫ്ലീറ്റുകൾക്ക് അവരുടെ പ്രൊവിഷനിംഗ് സിസ്റ്റം വഴി ഈ ക്ലയന്റ് നയം യാന്ത്രികമാക്കാം, പക്ഷേ നയം ഒരു ഉടമയുള്ള വേറിട്ട വസ്തുവായി തുടരുന്നു. BIND 9 റഫറൻസ് മുകളിൽ ഉപയോഗിച്ച ശ്രവണ, ചോദ്യ നിയന്ത്രണങ്ങൾ ഉൾക്കൊള്ളുന്നു, നിങ്ങളുടെ ഇൻസ്റ്റാൾ ചെയ്ത പതിപ്പിനുള്ള പെരുമാറ്റം സ്ഥിരീകരിക്കാനുള്ള ശരിയായ സ്ഥലം അതാണ്.

അടുത്ത ഘട്ടം: സോണിന്റെ സീരിയൽ വർദ്ധനവും പരിശോധന കമാൻഡുകളും നിങ്ങളുടെ മാറ്റ നടപടിക്രമത്തിൽ ചേർക്കുക, ഒരു റെക്കോർഡ് തിരുത്തൽ പരിശോധിക്കപ്പെടാതെ ഉത്പാദനത്തിലെത്താതിരിക്കാൻ.

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