ഹുക്ക് ആദ്യമായി പ്രവർത്തിക്കുന്നു, മൂന്ന് വീണ്ടും കണക്ഷനുകൾക്ക് ശേഷം ചെയിനിൽ അതേ നിയമത്തിന്റെ മൂന്ന് പകർപ്പുകൾ അവശേഷിക്കുന്നു. ഒന്നും ഉച്ചത്തിൽ പരാജയപ്പെട്ടില്ല; സ്ക്രിപ്റ്റ് ഓരോ തവണ പ്രവർത്തിക്കുമ്പോഴും പറഞ്ഞത് മാത്രം ചെയ്തു. VPN ഹുക്ക് ഒരു തവണയിൽ കൂടുതൽ പ്രവർത്തിക്കാവുന്ന ഒരു കോൺഫിഗറേഷൻ പ്രവർത്തനമാണ്, അതിനാൽ അതിന് ഒരു ഉടമ, ആവശ്യമായ അവസ്ഥ, ഒരു ക്രമീകരിച്ച മാറ്റം എന്നിവ വേണം. ആ ക്രമത്തിൽ മുന്നോട്ട് പോകുക, പകർപ്പുകൾ നിലയ്ക്കും.

ഒരു നിയമവും എഴുതുന്നതിന് മുമ്പ് നിയമങ്ങൾക്ക് ഒരു ഉടമയെ നൽകുക

ഒരു നിയമം പോലും എഴുതുന്നതിന് മുമ്പ് ഈ സംയോജനം ഏത് ചെയിനിന്റെയോ പട്ടികയുടെയോ ഉടമയാണെന്ന് തീരുമാനിക്കുക. ഹുക്ക് നിർമ്മിച്ച് കാലിയാക്കുന്ന സമർപ്പിത ചെയിൻ ഉടമസ്ഥതയുടെ ഏറ്റവും വ്യക്തമായ രൂപമാണ്, കാരണം വൃത്തിയാക്കൽ പിന്നീട് മറ്റൊരാളുടെ നയത്തിൽ സ്പർശിക്കാതെ ആ ചെയിൻ നീക്കം ചെയ്യാം. പങ്കിട്ട ചെയിനിലേക്ക് നിയമങ്ങൾ ചേർക്കേണ്ടി വന്നാൽ, അവയിൽ ഒരു അഭിപ്രായം അടയാളപ്പെടുത്തുക, പിന്നീടുള്ള തിരയൽ കൃത്യമായി നിങ്ങളുടേത് കണ്ടെത്താൻ. ഉടമസ്ഥതയാണ് പൊളിച്ചെടുക്കൽ സുരക്ഷിതമാക്കുന്നത്, പൊളിച്ചെടുക്കലാണ് നിശബ്ദമായി പരാജയപ്പെടുന്ന ഭാഗം.

iptables -N VPN_HOOK 2>/dev/null || true
iptables -C INPUT -j VPN_HOOK 2>/dev/null || iptables -I INPUT -j VPN_HOOK
iptables -S VPN_HOOK

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

വീണ്ടും ചേർക്കുന്നതിന് പകരം ആവശ്യമായ അവസ്ഥ പരിശോധിക്കുക

ടണൽ മുകളിലായിരിക്കുമ്പോൾ എന്ത് നിലനിൽക്കണമെന്ന് എഴുതുക: ഏത് ഇന്റർഫേസുകൾ, ഏത് ഉറവിടവും ലക്ഷ്യവും, ഏത് പ്രോട്ടോക്കോളും ഏത് പോർട്ടും. തുടർന്ന് ഓരോ നിയമവും ഒരു പരിശോധനയും തുടർന്ന് ഒരു ചേർക്കലും ആയി പ്രകടിപ്പിക്കുക, രണ്ടാം പ്രവർത്തനത്തിൽ നിയമം കണ്ടെത്തി ഒന്നും ചെയ്യാതിരിക്കാൻ. നിയമം നിലവിലുള്ളപ്പോൾ പരിശോധനാ കമാൻഡ് പൂജ്യത്തോടെ പുറത്തുപോകുന്നു, സ്ക്രിപ്റ്റിന് വേണ്ടത് കൃത്യമായി ആ സിഗ്നലാണ്. iptables റഫറൻസ് ഇവിടെ ഉപയോഗിക്കുന്ന പരിശോധന, ചേർക്കൽ, ഉൾച്ചേർക്കൽ രൂപങ്ങൾ രേഖപ്പെടുത്തുന്നു.

iptables -C VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT ||
  iptables -A VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT

സ്ഥാനത്തെക്കുറിച്ച് ശ്രദ്ധിക്കുക. ഒരു നിയമം പരിശോധിച്ച് മുകളിൽ ചേർക്കുന്നത് മുമ്പ് ആദ്യം വന്നിരുന്ന ബോധപൂർവമായ നിരസനത്തിന് മുമ്പിലേക്ക് ഒരു അനുമതി നീക്കാം, അതിനാൽ രണ്ടാം പ്രവർത്തനം ഒന്നും ചേർക്കാതെ തന്നെ സ്വഭാവം മാറ്റുന്നു. സ്വന്തം ചെയിനിനുള്ളിൽ അവസാനത്തിൽ ചേർക്കുക, ആ ചെയിനിലേക്കുള്ള കുതിപ്പിന്റെ സ്ഥാനം കൊണ്ട് ക്രമം നിയന്ത്രിക്കുക. ചെയിനിനുള്ളിലെ ക്രമം പ്രധാനമെങ്കിൽ, നിയമം നിയമം പോലെ പരിഹരിക്കുന്നതിന് പകരം അറിയപ്പെടുന്ന ലിസ്റ്റിൽ നിന്ന് ചെയിൻ വീണ്ടും നിർമ്മിക്കുക.

ആവശ്യമായ നിയമം സ്ഥിരമായ ഒരു പരിശോധനയായി പ്രകടിപ്പിക്കാൻ കഴിയുന്നില്ലെങ്കിൽ നിർത്തുക. സാധാരണയായി അത് ആവശ്യമായ അവസ്ഥ ഇപ്പോഴും അവ്യക്തമാണെന്ന് അർത്ഥമാക്കുന്നു.

നിലനിൽക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നതിന് പകരം മാറ്റം ക്രമീകരിക്കുക

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

flock /run/vpn-hook.lock /usr/local/sbin/vpn-firewall-apply
nft -f /etc/nftables/vpn-hook.nft

ഏത് സംവിധാനം തിരഞ്ഞെടുത്താലും, നിർണായക വിഭാഗം ചെറുതായി സൂക്ഷിക്കുക, അത് വീണ്ടും പ്രവേശിക്കാവുന്നതാക്കുക: പകുതിയിൽ പരാജയപ്പെടുന്ന ഹുക്ക് വീണ്ടും പ്രവർത്തിപ്പിക്കാൻ സുരക്ഷിതമായിരിക്കണം. ഫലം രേഖപ്പെടുത്തുക, ആവർത്തിച്ചുള്ള പ്രവർത്തനം നിയമങ്ങളുടെ എണ്ണത്തിൽ നിന്ന് അനുമാനിക്കുന്നതിന് പകരം ജേണലിൽ കാണാൻ. രണ്ട് വ്യത്യസ്ത മേൽനോട്ടക്കാർക്ക് ഹുക്ക് വിളിക്കാൻ കഴിയുമെങ്കിൽ ആദ്യം അത് ശരിയാക്കുക; ഒരു ലോക്കും രണ്ട് ഉടമകളെ ശരിയാക്കുന്നില്ല.

നിങ്ങളുടേതായത് മാത്രം പൊളിച്ചെടുക്കുക

പൊളിച്ചെടുക്കൽ മാറ്റിസ്ഥാപിക്കുന്ന കണക്ഷനെ അത് വിരമിച്ചതിൽ നിന്ന് വേർതിരിക്കണം, ഒരിക്കലും മാന്യമായ വൃത്തിയാക്കൽ ലഭിക്കാത്ത ഒരു സംഭവത്തെ അതിജീവിക്കണം. ചേർക്കാൻ ഉപയോഗിച്ച അതേ ഐഡന്റിഫയറുകൾ കൊണ്ട് ഇല്ലാതാക്കുക, വൃത്തിയാക്കൽ ലളിതമാക്കാൻ പങ്കിട്ട ചെയിൻ ഒരിക്കലും കാലിയാക്കരുത്. കഠിനമായ നിർത്തലിന് ശേഷം, താഴത്തെ ഹുക്ക് പ്രവർത്തിച്ചെന്ന് അനുമാനിക്കുന്നതിന് പകരം അടുത്ത തുടക്കത്തിൽ ഒരു അനുരൂപീകരണ പാസ് പ്രവർത്തിപ്പിക്കുക.

iptables -D VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT
iptables -F VPN_HOOK
ip -brief link show type tun

ഇന്റർഫേസിന്റെ ആയുസ്സും രൂപകൽപ്പനയുടെ ഭാഗമാണ്. വീണ്ടും കണക്ട് ചെയ്യൽ വേറെ പേരുള്ള ഒരു ഉപകരണം സൃഷ്ടിച്ചേക്കാം, അതിനാൽ രണ്ടാം ടണലിന്റെ പേര് കട്ടിയായി കോഡ് ചെയ്യുന്ന നിയമം സാധുവായി തോന്നുമ്പോഴും പഴയതാകുന്നു. കണക്ഷൻ തന്നെ വെളിപ്പെടുത്തുന്ന ഐഡന്റിറ്റിക്ക് മുൻഗണന നൽകുക, ഓരോ പ്രവർത്തനത്തിലും അത് വീണ്ടും വായിക്കുക. മൂന്ന് സംഭവങ്ങൾ വെവ്വേറെ പരിശോധിക്കുക: ആവർത്തിച്ച കണക്ഷൻ, മാറ്റിസ്ഥാപിക്കുന്ന കണക്ഷൻ, ഷട്ട്ഡൗൺ. അനുവദിച്ച ട്രാഫിക് മൂന്നും പകർപ്പുകളില്ലാതെ അതിജീവിക്കണം, ബന്ധമില്ലാത്ത സേവനങ്ങൾ തൊടാതെ നിൽക്കണം.

ഹുക്കിന് ഒരു ഉടമ, അത് ചേർക്കുന്ന ഓരോ നിയമത്തിനും ഒരു പരിശോധന, ഒരു ക്രമീകരിച്ച പാത, സ്വന്തം അവസ്ഥ മാത്രം നീക്കുന്ന ഒരു പൊളിച്ചെടുക്കൽ എന്നിവ ഉള്ളപ്പോൾ ഈ നടത്തം അവസാനിക്കുന്നു. രണ്ടുതവണ പ്രവർത്തിപ്പിക്കാൻ സുരക്ഷിതമായ ഹുക്ക് ഒരിക്കൽ മിടുക്കനായ ഹുക്കിനേക്കാൾ മൂല്യമുള്ളതാണ്.

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