resolvconf ഡാറ്റാബേസിൽനിന്ന് കാലഹരണപ്പെട്ട VPN റെക്കോർഡ് നീക്കം ചെയ്യൽ
Debian resolvconf സ്ഥിതി കൈവശം വയ്ക്കുന്ന ഹോസ്റ്റിൽ ഒരു എൻട്രി ഇല്ലാതാക്കുന്നത് എളുപ്പമാണ്. ആദ്യം റെക്കോർഡ് കാലഹരണപ്പെട്ടതും ഉടമയില്ലാത്തതുമാണെന്ന് തെളിയിക്കുക, പിന്നീട് പുനർരചന പരിശോധിക്കുക.
ടണൽ അടഞ്ഞതിന് ശേഷം ഒരു ദിവസം കഴിഞ്ഞും ഒരു ആന്തരിക നാമം ഇപ്പോഴും VPN സെർവറിലേക്ക് നിർണ്ണയിക്കപ്പെടുന്നു, റിസോൾവർ ഫയൽ ആ എൻട്രിയുമായി വീണ്ടും വീണ്ടും മടങ്ങിവരുന്നു. Debian resolvconf സ്ഥിതി കൈവശം വയ്ക്കുന്നിടത്ത്, ആ ഫയൽ വിതരണക്കാരുടെ റെക്കോർഡുകളിൽനിന്ന് കൂട്ടിച്ചേർക്കുന്നു, അവയിലൊന്നാണ് അവശിഷ്ടം. റെക്കോർഡ് ഇല്ലാതാക്കാൻ ഒരു മിനിറ്റ് മതി; അത് ഇല്ലാതാക്കുന്നത് സുരക്ഷിതമാണെന്ന് തെളിയിക്കുന്നതാണ് യഥാർത്ഥ ജോലി. ഈ കവാടങ്ങൾ ക്രമത്തിൽ പ്രവർത്തിക്കുന്നു, പരാജയപ്പെടുന്ന കവാടം നടപടിക്രമം അവസാനിപ്പിക്കുന്നു, അടുത്ത ഘട്ടത്തിലേക്ക് അയക്കുന്നില്ല.
resolvconf സ്ഥിതി കൈവശം വയ്ക്കുന്നുവെന്ന് സ്ഥിരീകരിക്കുക
ആദ്യം ഉടമയെ തിരിച്ചറിയുക, കാരണം systemd-resolved-ന് കീഴിൽ അതേ ലക്ഷണത്തിന് വ്യത്യസ്ത കമാൻഡുകളും വ്യത്യസ്ത അറ്റകുറ്റപ്പണിയും ആവശ്യമാണ്. resolvconf പാക്കേജ് /run/resolvconf-ന് കീഴിൽ ഒരു ഡാറ്റാബേസ് സൂക്ഷിക്കുന്നു, ആ ഡാറ്റാബേസിൽനിന്ന് നിർമ്മിക്കുന്ന ഫയലിലേക്ക് /etc/resolv.conf ചൂണ്ടിക്കാണിക്കുന്നു. രണ്ട് വായനകൾ ചോദ്യം തീർപ്പാക്കുന്നു: സിംബോളിക് ലിങ്കിന്റെ ലക്ഷ്യവും, പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്ത് സജീവമാണോ എന്നതും. /run/systemd/resolve-ന് കീഴിലുള്ള ലക്ഷ്യം മറ്റൊരു രൂപകൽപ്പനയാണ്, അവിടെ താഴെ പറയുന്ന ഒന്നും ബാധകമല്ല.
dpkg -l resolvconf | tail -1
ls -l /etc/resolv.conf
systemctl is-active resolvconf.service
ലിങ്ക് മറ്റെവിടെയെങ്കിലും ചൂണ്ടിക്കാണിക്കുന്നുവെങ്കിൽ അല്ലെങ്കിൽ പാക്കേജ് ഇല്ലെങ്കിൽ, ഇവിടെ നിർത്തുക. പേര് കടമെടുത്ത് മറ്റൊരു റിസോൾവർ മാനേജർ നൽകുന്ന കോംപാറ്റിബിലിറ്റി റാപ്പർ ഈ ഡാറ്റാബേസിന്റെ ഉടമയല്ല.
ഡാറ്റാബേസിൽ ഇൻപുട്ടുകളാണുള്ളത്, ഉത്തരമല്ല
ഡാറ്റാബേസിൽ ഇൻപുട്ടുകളുണ്ട്, ഫയൽ ഒരു ഔട്ട്പുട്ടാണ്, അതിനാൽ നീക്കം ചെയ്യാൻ ആഗ്രഹിക്കുന്ന എൻട്രി ഏത് പ്രോഗ്രാമാണ് ഇൻസ്റ്റാൾ ചെയ്തതെന്ന് കാണാനുള്ള ഏക മാർഗം ഇൻപുട്ടുകൾ ലിസ്റ്റ് ചെയ്യുകയാണ്. റെക്കോർഡുകൾ ചെറുതാണ്, അവയുടെ കീകൾ പിന്നീട് ആവശ്യമാകുന്ന ഹാൻഡിലുകളാണ്. ഏതാണ് കാലഹരണപ്പെട്ടതെന്ന് തീരുമാനിക്കുന്നതിന് മുമ്പ് അവ വായിക്കുക, കാരണം VPN ഇന്റർഫേസ് പോലെ തോന്നുന്ന ഒരു പേര് മറ്റൊരു ക്ലയന്റിന്റേതായിരിക്കാം. സ്വകാര്യ വിലാസങ്ങളും ആന്തരിക സേർച്ച് ഡൊമെയ്നുകളും പങ്കിട്ട ഡയഗ്നോസ്റ്റിക്സിൽനിന്ന് ഒഴിവാക്കുക; കീ മാത്രം സാധാരണയായി റെക്കോർഡ് തിരിച്ചറിയുന്നു.
sudo resolvconf --list
sudo resolvconf -i
ആദ്യ കമാൻഡ് നൽകിയ റെക്കോർഡുകൾ പ്രോസസ്സ് ചെയ്യാതെ പ്രിന്റ് ചെയ്യുന്നു, രണ്ടാമത്തേത് ഇപ്പോൾ DNS കോൺഫിഗറേഷൻ നൽകുന്ന ഇന്റർഫേസുകൾ ലിസ്റ്റ് ചെയ്യുന്നു. കീകൾ പതിവായി ഒരു ഇന്റർഫേസ് പേരും നൽകുന്ന പ്രോഗ്രാമും ചേർത്ത് നിർമ്മിക്കുന്നു. resolvconf മാനുവൽ ആ കീകൾ ലക്ഷ്യമിടുന്ന ഡാറ്റാബേസ് വിവരിക്കുന്നു.
കീ വീണ്ടും നിർമ്മിക്കുന്നതിനുപകരം ഔട്ട്പുട്ടിൽനിന്ന് പകർത്തുക. പഴയ സ്ക്രിപ്റ്റ് ആ പേര് ഉപയോഗിച്ചതുകൊണ്ട് മാത്രം ഒരു എൻട്രിയെ tun0 എന്ന് വിളിക്കുന്നില്ല.
റെക്കോർഡിന് ഉടമയില്ലെന്ന് തെളിയിക്കുക
ഒരു ജീവനുള്ള കണക്ഷനും ഇൻസ്റ്റാൾ ചെയ്യാത്ത റെക്കോർഡ് ഇല്ലാതാക്കുന്നത് സുരക്ഷിതമാണ്. കീ അത് സൃഷ്ടിച്ച കണക്ഷനുമായി ബന്ധിപ്പിക്കുക, ആ കണക്ഷൻ പോയെന്ന് സ്ഥിരീകരിക്കുക. ആ പരസ്പരബന്ധമാണ് മുഴുവൻ കവാടം, ഇല്ലാതാക്കൽ കമാൻഡിലേക്കുള്ള വഴിയിൽ ഏറ്റവും കൂടുതൽ ഒഴിവാക്കപ്പെടുന്ന ഘട്ടവും അതാണ്. തെളിവുകൾ അവ്യക്തമെങ്കിൽ റെക്കോർഡിനെ ജീവനുള്ളതായി കണക്കാക്കി നിർത്തുക.
പ്രോസസ് പേരുകൾ ദുർബലമായ തെളിവാണ്. OpenConnect vpnc-script വിളിക്കുന്നു, അതിനാൽ vpnc പ്രോസസ് പരിശോധിക്കുന്നത് ഏത് റെക്കോർഡാണ് നിലവിലുള്ളതെന്ന് ഒന്നും പറയുന്നില്ല. പുതിയ കണക്ഷന് പഴയത് വിട്ടുപോയ ഇന്റർഫേസ് പേര് വീണ്ടും ഉപയോഗിക്കാം, ഇത് കീയെ യഥാർത്ഥ പ്രായത്തേക്കാൾ പഴയതായി കാണിക്കുന്നു. റെക്കോർഡിനുള്ളിലെ സെർവർ വിലാസം ഇപ്പോഴും സജീവമായ ടണലുകളുടെ വിലാസങ്ങളുമായി താരതമ്യം ചെയ്യുക, അവ ഒത്തുപോകുന്നുവെങ്കിൽ നിർത്തുക.
ഉടമസ്ഥ മാനേജർ വഴിയുള്ള സാധാരണ വിച്ഛേദനമാണ് ആദ്യ പരിഹാരം. അത് ആ കണക്ഷൻ ഇൻസ്റ്റാൾ ചെയ്തത് പിൻവലിക്കുന്നു, മറ്റ് വിതരണക്കാരെ സ്പർശിക്കാതെ വിടുന്നു.
നീക്കം ചെയ്യലും പുനർരചനയും പരിശോധിക്കുക
റെക്കോർഡ് കാലഹരണപ്പെട്ടതെന്ന് സ്ഥിരീകരിച്ചാൽ, കൃത്യമായ കീ ഉപയോഗിച്ച് അത് ഇല്ലാതാക്കി, ഊഹിക്കാതെ ഫലം വായിക്കുക. ഈ കമാൻഡ് ഹോസ്റ്റിലെ എല്ലാ ആപ്ലിക്കേഷനുകളുടെയും റിസോൾവർ സ്ഥിതി മാറ്റുന്നു, അതിനാൽ നിങ്ങൾ നിയന്ത്രിക്കുന്ന ഒരു വിൻഡോയിൽ അത് പ്രവർത്തിപ്പിക്കുക. കീയിൽ ഷെൽ വികസിപ്പിക്കുന്ന പ്രതീകങ്ങൾ ഉള്ളതിനാൽ അത് ഉദ്ധരണികളിൽ ഇടുക. ബ്ലോക്കിലെ പ്ലേസ്ഹോൾഡർ നിങ്ങൾ ലിസ്റ്റിൽനിന്ന് പകർത്തിയ കീയെ സൂചിപ്പിക്കുന്നു, അക്ഷരാർത്ഥ സ്ട്രിംഗിനെയല്ല.
sudo resolvconf -d "RECORD_KEY_FROM_THE_LIST"
sudo resolvconf --list
resolvectl query host.corp.example || getent hosts host.corp.example
അപ്ഡേറ്റ് പ്രവർത്തനക്ഷമമായിരിക്കുമ്പോൾ ഇല്ലാതാക്കൽ അപ്ഡേറ്റ് സ്ക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുന്നു; അപ്ഡേറ്റുകൾ പ്രവർത്തനരഹിതമാകുമ്പോൾ അത് അപ്ഡേറ്റ് മാറ്റിവയ്ക്കുന്നു, അതിനാൽ നീക്കം ചെയ്ത റെക്കോർഡും പുനർരചിച്ച ഫയലും രണ്ട് വേറിട്ട സംഭവങ്ങളാണ്. ഫയൽ നോക്കുന്നതിന് മുമ്പ് ലിസ്റ്റ് വീണ്ടും വായിച്ച് കീ പോയെന്ന് സ്ഥിരീകരിക്കുക. തുടർന്ന് ബാക്കിയുള്ള വിതരണക്കാരിലൂടെ ഇപ്പോഴും നിർണ്ണയിക്കേണ്ട ഒരു പേരും ഒരു പൊതു പേരും ചോദിക്കുക, രണ്ടും മാറ്റത്തിന് മുമ്പ് കണ്ടതുമായി താരതമ്യം ചെയ്യുക. ഒരു സ്വകാര്യ നാമം പൂർണ്ണമായും നിർണ്ണയിക്കപ്പെടുന്നത് നിലച്ചാൽ, ആ റെക്കോർഡ് ഇപ്പോഴും അത് വഹിച്ചിരുന്നു.
resolvconf -u ആ അപ്ഡേറ്റ് സ്ക്രിപ്റ്റുകൾ മാത്രം പ്രവർത്തിപ്പിക്കുന്നു. അത് ഒരിക്കലും കാലഹരണപ്പെട്ട റെക്കോർഡ് തിരിച്ചറിയുകയോ ഇല്ലാതാക്കുകയോ ചെയ്യുന്നില്ല, കാലഹരണപ്പെട്ട ഇൻപുട്ടുകളിൽനിന്ന് വീണ്ടും നിർമ്മിക്കുന്നത് അതേ അനാവശ്യ ഫയൽ പുനഃസൃഷ്ടിക്കുന്നു.
കൊല്ലപ്പെട്ട വിച്ഛേദന ഹുക്ക് റെക്കോർഡ് വിട്ടേക്കുന്നു
ഒറ്റത്തവണ ക്ലീനിംഗ് ഇന്നത്തെ അവസ്ഥ പുനഃസ്ഥാപിക്കുന്നു, അടുത്ത തടസ്സപ്പെട്ട ഷട്ട്ഡൗൺ റെക്കോർഡ് തിരികെ കൊണ്ടുവരുന്നു. പൊളിക്കൽ വഴി നടക്കുക: ക്ലയന്റിന്റെ വിച്ഛേദന ഹുക്ക്, ആ ഹുക്ക് വിളിക്കുന്ന സഹായി, അവയിലൊന്ന് കൊല്ലപ്പെടുമ്പോൾ സംഭവിക്കുന്നത്. തടസ്സപ്പെട്ട ഷട്ട്ഡൗണാണ് സാധാരണ കാരണം, കാരണം ഹുക്ക് ഒട്ടും പ്രവർത്തിച്ചില്ല. ഹുക്കിന്റെ എക്സിറ്റ് സ്റ്റാറ്റസ് ഒരിക്കൽ രേഖപ്പെടുത്തിയാൽ അത് നിശബ്ദമായി പരാജയപ്പെടുന്നുണ്ടോയെന്ന് നിങ്ങൾക്കറിയാം.
സെറ്റപ്പും ക്ലീനിംഗും ഒരു ഉടമയുടെ കീഴിൽ സൂക്ഷിക്കുക. ഇന്റർഫേസ് പേരുകൾ ഊഹിക്കുന്ന രണ്ടാമത്തെ സ്ക്രിപ്റ്റ് ഒടുവിൽ മറ്റൊരു കണക്ഷന്റെ റെക്കോർഡ് ഇല്ലാതാക്കും, അത് നിങ്ങൾ തുടങ്ങിയ കാലഹരണപ്പെട്ട എൻട്രിയെക്കാൾ മോശമാണ്. ഏത് കണക്ഷനാണ് അത് ഇൻസ്റ്റാൾ ചെയ്തതെന്ന് അറിയുന്നതിനാൽ റെക്കോർഡ് എപ്പോൾ കാലഹരണപ്പെട്ടതെന്ന് തീരുമാനിക്കേണ്ടതും ഉടമയാണ്.
തുടർന്ന് ജീവിതചക്രം പരിശീലിക്കുക: കണക്ട് ചെയ്യുക, ഡിസ്കണക്ട് ചെയ്യുക, റെക്കോർഡുകൾ വീണ്ടും ലിസ്റ്റ് ചെയ്യുക. എൻട്രി സ്വയം അപ്രത്യക്ഷമാകുന്നതാണ് അറ്റകുറ്റപ്പണി നിലനിൽക്കുന്നുവെന്നതിന്റെ ഏക തെളിവ്.