nftables: ഡ്രോപ്പ് ഹാൻഡിലിന് മുമ്പ് VPN അനുമതി നിയമം ചേർക്കുക
nftables-ൽ, insert ഉം add ഉം ഒരു ഹാൻഡിലിന്റെ എതിർവശങ്ങളിൽ നിയമം വയ്ക്കുന്നു. ഡ്രോപ്പ് കണ്ടെത്തി, വശം തിരഞ്ഞെടുത്ത്, നിയമക്കൂട്ടം മാറുന്നതിന് മുമ്പ് ഫയൽ പരിശോധിക്കുക.
അനുമതി നിയമം തെറ്റായ സ്ഥലത്ത് വച്ചാൽ അത് നിയമം ഇല്ലാത്തതുപോലെ പെരുമാറുന്നു. nftables-ൽ insert ഉം add ഉം തമ്മിലുള്ള തിരഞ്ഞെടുപ്പ് പുതിയ പ്രസ്താവന റഫറൻസ് ചെയ്ത നിയമത്തിന്റെ ഏത് വശത്ത് വീഴുമെന്ന് നിർണ്ണയിക്കുന്നു, ഹാൻഡിൽ നിയമത്തെ ജീവനുള്ള നിയമക്കൂട്ടത്തിൽ പേരിടുന്നു, അതിന്റെ വരി നമ്പറല്ല. സ്ഥാനം തെറ്റായാൽ പാക്കറ്റ് ആദ്യം ഡ്രോപ്പിൽ എത്തുന്നു.
താഴെയുള്ള താരതമ്യം ഒരു നിശ്ചിത പിയറും ഒരു ബാഹ്യ ശ്രോതാവ് കൈമാറ്റവും ഉപയോഗിക്കുന്നു. ഇത് ബോധപൂർവ്വം ഇടുങ്ങിയതാണ്; മുഴുവൻ ചെയിൻ മാറ്റുന്നത് വേറെ റിസ്ക് പ്രൊഫൈലുള്ള മറ്റൊരു മാറ്റമാണ്.
രണ്ട് സ്ഥാനങ്ങൾ, രണ്ട് വ്യത്യസ്ത ഫലങ്ങൾ
insert റഫറൻസ് ചെയ്ത നിയമത്തിന് മുമ്പ് നിയമം വയ്ക്കുന്നു. add അതിന് ശേഷം വയ്ക്കുന്നു. റഫറൻസ് ചെയ്ത നിയമം പ്രവാഹത്തിന്റെ അന്തിമ ഡ്രോപ്പ് ആണെങ്കിൽ, നിയമത്തിന്റെ പാഠം ഒന്നുതന്നെയാണെങ്കിലും ഈ രണ്ട് കമാൻഡുകൾ വിപരീത ഫലങ്ങൾ നൽകുന്നു.
സ്ഥാനം ഒഴിവാക്കുന്നതിന് അതിന്റേതായ സ്വതവേയുള്ള സ്വഭാവമുണ്ട്, അത് എന്തിനോട് ആങ്കർ ചെയ്തിരിക്കുന്നു എന്ന് വായിക്കാതെ ഫോറത്തിൽ നിന്ന് കമാൻഡ് പകർത്തരുത് എന്നതിന് മറ്റൊരു കാരണമാണ്. ആങ്കർ മുഴുവൻ തീരുമാനമാണ്. കമാൻഡ് ടൈപ്പ് ചെയ്യുന്നതിന് മുമ്പ് ഉദ്ദേശിക്കുന്ന വശം എഴുതിവയ്ക്കുക. ഫയലിൽ insert ഉം add ഉം ഒരു വാക്ക് വ്യത്യാസമുണ്ട്.
സ്ഥാനം ഒരു നിർദ്ദിഷ്ട ചെയിനിലെ നിയമവുമായി ബന്ധപ്പെട്ടതാണ്. അതേ പ്രസ്താവന മറ്റൊരു ചെയിനിലേക്കോ മറ്റൊരു hook മുൻഗണനയിലേക്കോ നീക്കുന്നത് അത് ഏത് പാക്കറ്റുകൾ കാണുന്നു എന്ന് മാറ്റുന്നു, നിയമത്തിന്റെ വാക്യഘടന ശരിയായി തോന്നുമ്പോഴും.
ഹാൻഡിൽ ഒരു നിയമത്തെ തിരിച്ചറിയുന്നു, വരി നമ്പറിനെയല്ല
42 പോലുള്ള ഒരു ഹാൻഡിൽ നിലവിലെ നിയമക്കൂട്ട അവസ്ഥയിലെ ഒരു ഐഡന്റിഫയറാണ്. അത് നാൽപ്പത്തിരണ്ടാമത്തെ നിയമമല്ല, കൂടാതെ ഹോസ്റ്റുകൾ, പുനർനിർമ്മാണങ്ങൾ അല്ലെങ്കിൽ സ്വന്തം കോൺഫിഗറേഷൻ വീണ്ടും ലോഡ് ചെയ്യുന്ന മാനേജർ എന്നിവയ്ക്കിടയിൽ സ്ഥിരമല്ല.
ആങ്കർ തിരഞ്ഞെടുക്കുന്നതിന് മുമ്പ് ചെയിനും യഥാർത്ഥ അന്തിമ ഡ്രോപ്പും കണ്ടെത്തുക. തുടർന്ന് ഡ്രോപ്പ് കാണിക്കുന്ന അതേ ലിസ്റ്റിൽ ആ നിയമത്തിലെ ഹാൻഡിൽ സ്ഥിരീകരിക്കുക, നമ്പറും നിയമവും ഒരുമിച്ച് വായിക്കാൻ. പഴയ ലിസ്റ്റിൽ നിന്ന് വായിച്ച ഹാൻഡിൽ ഇതിനകം മറ്റൊരു നിയമത്തിന്റേതായിരിക്കാം. മാറ്റം പ്രയോഗിക്കുന്ന സെഷനിൽ അത് വീണ്ടും വായിക്കുക.
iptables --version
nft -a list ruleset
iptables പതിപ്പ് ഏത് backend ഉപയോഗിക്കുന്നു എന്ന് അറിയിക്കുന്നു. iptables-nft നിയമക്കൂട്ടവും സ്വതന്ത്രമായി കൈകാര്യം ചെയ്യുന്ന നേറ്റീവ് പട്ടികയും ഒരുമിച്ച് നിലനിൽക്കാം, അതിനാൽ ഒരു frontend-ൽ നിന്നുള്ള ലിസ്റ്റ് സ്വയമേവ പൂർണ്ണ ഫിൽട്ടറിംഗ് ചിത്രമല്ല. ചെയിൻ തിരഞ്ഞെടുക്കുന്നതിന് മുമ്പ് രണ്ട് കാഴ്ചകളും പരിശോധിക്കുക.
യഥാർത്ഥത്തിൽ ഡ്രോപ്പ് ചെയ്യുന്ന ചെയിനും നിയമവും കണ്ടെത്തുക
input hook, ചെയിന്റെ മുൻഗണന, ഈ ശ്രോതാവ് പ്രവാഹത്തെ നിരസിക്കുന്ന നിയമം എന്നിവ വായിക്കുക. inet പട്ടിക രണ്ട് വിലാസ കുടുംബങ്ങളും വഹിക്കാം, പക്ഷേ ഒരു വ്യക്തിഗത നിയമം ഇപ്പോഴും IPv4-മായി മാത്രം പൊരുത്തപ്പെടാം.
ഒരു അംഗീകൃത പിയർ എടുക്കുക, ഉദാഹരണമായി ഡോക്യുമെന്റേഷൻ ശ്രേണിയിൽ നിന്നുള്ള 198.51.100.25 ഉപയോഗിച്ച്. അവലോകനം ചെയ്ത നേറ്റീവ് ഫയലിന് ഹാൻഡിൽ 42-ന് മുമ്പ് ബാഹ്യ അനുമതി വയ്ക്കാം:
insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept
പരിശോധനയ്ക്ക് ശേഷം കുടുംബം, പട്ടിക, ചെയിൻ, ഹാൻഡിൽ, ഇൻഗ്രെസ് ഇന്റർഫേസ്, പിയർ എന്നിവ മാറ്റുക. ഉദാഹരണം nft 1.0.9-നായി രേഖപ്പെടുത്തിയ ഹാൻഡിൽ-സ്ഥാന രൂപം ഉപയോഗിക്കുന്നു, അത് input ഫയലിൽ വരുന്നു; കമാൻഡ് സംവേദനാത്മകമായി ടൈപ്പ് ചെയ്യുമ്പോൾ ബ്രേസ് ഉദ്ധരണി വേറെ വിഷയമാണ്.
കോൺഫിഗറേഷന്റെ ഉടമ വ്യക്തമായി സൂക്ഷിക്കുക. സ്വന്തം നിയമങ്ങൾ പുനർനിർമ്മിക്കുന്ന മാനേജർ റൺടൈം എഡിറ്റ് മേലെഴുതാം, കൂടാതെ കാലഹരണപ്പെട്ട ഹാൻഡിൽ ഹാർഡ്കോഡ് ചെയ്യുന്ന ബൂട്ട് സ്ക്രിപ്റ്റ് പരാജയപ്പെടുകയോ തെറ്റായ നിയമത്തിൽ ചേരുകയോ ചെയ്യും.
അനുമതിക്ക് പരിധിയുണ്ട്, ഡ്രോപ്പ് അന്തിമമാണ്
അനുമതി വിധി അതിന്റെ നിലവിലെ പാതയിൽ വിലയിരുത്തൽ അവസാനിപ്പിക്കുന്നു, പക്ഷേ പിന്നീട് ബാധകമാകുന്ന അടിസ്ഥാന ചെയിനിന് ഇപ്പോഴും പാക്കറ്റ് ഡ്രോപ്പ് ചെയ്യാം. ഡ്രോപ്പ് വിധി അന്തിമമാണ്. അതുകൊണ്ടാണ് കൂടുന്ന അനുമതി കൗണ്ടർ പ്രവാഹം വിജയിച്ചു എന്നതിന് തെളിവല്ലാത്തത്.
ഒരു ചെയിൻ വേർതിരിച്ച് പരിശോധിക്കുന്നതിന് പകരം ബന്ധപ്പെട്ട എല്ലാ hook മുൻഗണനകളും പരിശോധിക്കുക. പാക്കറ്റ് input ഫിൽട്ടർ കടന്ന് മറ്റൊരു മുൻഗണനയിൽ മറ്റൊരു പട്ടികയുടെ hook-ൽ നിരസിക്കപ്പെടാം. പ്രവാഹം കാണാൻ കഴിയുന്ന ഓരോ അടിസ്ഥാന ചെയിനും പട്ടികപ്പെടുത്തുക.
ആ നിയമം ബാഹ്യ ശ്രോതാവ് കൈമാറ്റം മാത്രം ഉൾക്കൊള്ളുന്നു. ട്രാൻസ്പോർട്ട്-എൻകാപ്സുലേറ്റഡ് ESP, നേറ്റീവ് ESP, IPv6 പിയറുകൾ, ടണലിനുള്ളിലെ ഡീക്രിപ്റ്റ് ചെയ്ത ട്രാഫിക് എന്നിവയ്ക്കെല്ലാം സ്വന്തം നയങ്ങൾ വേണം. ഇത് പൂർണ്ണ സൈറ്റ് VPN ഫയർവാൾ അല്ല.
ഫയൽ പരിശോധിച്ച്, തുടർന്ന് ലൈവ് ഫലം സ്ഥിരീകരിക്കുക
പ്രയോഗിക്കുന്നതിന് മുമ്പ് അവലോകനം ചെയ്ത ഫയലിൽ വാക്യഘടനയും ഇടപാടും പരിശോധിക്കുക. പരിശോധന മോഡ് nft മാറ്റം പാഴ്സ് ചെയ്ത് തയ്യാറാക്കാൻ കഴിയുമോ എന്ന് അറിയിക്കുന്നു; അത് പ്രയോഗിക്കുന്നില്ല, മറ്റൊരു hook പാക്കറ്റ് അനുവദിക്കുമെന്ന് തെളിയിക്കുന്നുമില്ല. ഉടമ പ്രയോഗിക്കുന്നതുവരെ ഫയൽ നിർദ്ദേശമായി തുടരുന്നു:
nft -c -f reviewed-vpn-rule.nft
ഉടമയുടെ നിയന്ത്രിത പ്രക്രിയിലൂടെ പ്രയോഗിക്കുക, കൂടാതെ വീണ്ടെടുക്കൽ പ്രവേശനം സൂക്ഷിക്കുക. നിയമം തെറ്റാണെങ്കിൽ, നിങ്ങൾ മുമ്പിൽ കടക്കാൻ ശ്രമിച്ച ഡ്രോപ്പ് അത് ശരിയാക്കാൻ ഉപയോഗിക്കുന്ന പാതയും മുറിച്ചേക്കാം.
മാറ്റത്തിന് ശേഷം പുതിയ അനുവദനീയ പിയർ ശ്രമം നിരീക്ഷിച്ച്, അംഗീകൃത പിയറിന് പുറത്തുള്ള ഉറവിടങ്ങൾ ഇപ്പോഴും നിരസിക്കപ്പെടുന്നുണ്ടെന്ന് പരിശോധിക്കുക. സ്ഥിരമായ നിയമം നിയമക്കൂട്ടത്തിന്റെ ഉടമസ്ഥനായ മാനേജരിലേക്ക് നീക്കുക, കാരണം റൺടൈം ഹാൻഡിലുകൾ നിലവിലെ വസ്തുക്കൾ കണ്ടെത്തുന്നു, ബൂട്ടുകൾക്കിടയിൽ അവ തിരിച്ചറിയുന്നില്ല.