WireGuard പ്രവർത്തിപ്പിക്കുന്ന ഒരു ഹബ്ബിന് ഓരോ ഗ്രൂപ്പിനും പ്രത്യേക ഇന്റർഫേസോ റൂട്ടിംഗ് പട്ടികയോ ഇല്ലാതെ പിയർ ഗ്രൂപ്പുകൾ വേർതിരിച്ച് നിർത്താം. ഈ ജോലി രണ്ട് സംവിധാനങ്ങൾ ചെയ്യുന്നു, അവ തമ്മിൽ കൂട്ടിക്കുഴയ്ക്കുന്നതാണ് ഒരു നയം ശരിയായി തോന്നുകയും ഒന്നും ചെയ്യാതിരിക്കുകയും ചെയ്യുന്നതിന്റെ സാധാരണ കാരണം. ഒരു പാളി ആര് ഉറവിട വിലാസം അവകാശപ്പെടാം എന്ന് തീരുമാനിക്കുന്നു. മറ്റൊന്ന് ആ പാക്കറ്റിന് എങ്ങോട്ട് പോകാം എന്ന് തീരുമാനിക്കുന്നു.

രണ്ട് ജോലികൾ, വേർതിരിച്ച് നിർത്തിയത്

ടണൽ പാളി ഒരു സങ്കുചിത ചോദ്യത്തിന് ഉത്തരം നൽകുന്നു: ഈ പിയറിന്റെ കീ ഈ ആന്തരിക ഉറവിട വിലാസം അംഗീകരിച്ചോ. ഫോർവേഡിംഗ് പാളി കൂടുതൽ വിശാലമായ ഒന്നിന് ഉത്തരം നൽകുന്നു: ഈ പാക്കറ്റിന് ആ ലക്ഷ്യസ്ഥാനത്തേക്ക് പുറത്തുപോകാമോ. ഒന്നും മറ്റൊന്നിന്റെ ചോദ്യത്തിന് ഉത്തരം നൽകുന്നില്ല, ഒന്നും ഒറ്റയ്ക്ക് പൂർണ്ണമായ ആക്സസ് നയമല്ല.

ഈ വിഭജനം കാരണം ഒരു പിയർ പ്രാമാണീകരിക്കപ്പെട്ടതും ശരിയായ വിലാസമുള്ളതുമായിരുന്നിട്ടും ചെല്ലാൻ പാടില്ലാത്ത ഒരു ഹോസ്റ്റിലേക്ക് എത്താൻ കഴിയാതിരിക്കാം. ഇത് വിപരീതവും വിശദീകരിക്കുന്നു: എല്ലാം അനുവദിക്കുന്ന ഒരു ഫയർവാൾ നിയമം ആര് ഏത് വിലാസം അവകാശപ്പെടാം എന്നതിനെക്കുറിച്ച് ഒന്നും തെളിയിക്കുന്നില്ല.

രണ്ട് പാളികളും ഒരുമിച്ച് രൂപകൽപ്പന ചെയ്യുക, പിന്നീട് രണ്ടും പരിശോധിക്കുക. ഒരു പാളിയിൽ ശരിയും മറ്റൊന്നിൽ പരിശോധിക്കാത്തതുമായ ക്രമീകരണം ഡിഫോൾട്ട് അനുസരിച്ച് തുറന്നതോ അടച്ചതോ ആയി പരാജയപ്പെടുന്നു.

ഓരോ പിയറിനും അതിന്റെ സ്വന്തം വിലാസം മാത്രം നൽകുക

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

അപ്പോൾ ഫയർവാൾ വിശ്വസിക്കാൻ കഴിയുന്ന ഒരു ഉറവിടവുമായി പൊരുത്തപ്പെടുത്തുന്നു. ഗ്രൂപ്പിന്റെ ശ്രേണിക്കായി എഴുതിയ നിയമം ഇപ്പോഴും ഉപയോഗപ്രദമായ ഗ്രൂപ്പിംഗാണ്, മറ്റൊരു അംഗത്തിന് ഉള്ള വിലാസം ഒരു പിയറിനും അവകാശപ്പെടാൻ കഴിയാത്തപ്പോൾ മാത്രമേ അത് അർത്ഥവത്താകൂ.

ഗ്രൂപ്പുകളെ വേർതിരിക്കുന്ന ഫോർവേഡ് നയം എഴുതുക

ഇവിടത്തെ താൽപ്പര്യമുള്ള ട്രാഫിക് അതേ ടണൽ ഇന്റർഫേസിലൂടെ കയറുകയും പുറത്തുപോകുകയും ചെയ്യുന്നു, അതിനാൽ അത് ഹോസ്റ്റിന്റെ ഇൻപുട്ട് പാതയല്ല, ഫോർവേഡ് പാത കടക്കുന്നു. ഹോസ്റ്റ് സ്വന്തമായുള്ള ഏത് ഫയർവാൾ മാനേജറുടെയും നിലവിലുള്ള ഫോർവേഡ് ചെയിനിൽ നിയമങ്ങൾ ഉൾപ്പെടുന്നു, അവ പൂർണ്ണ നിയമക്കൂട്ടമല്ല, ശകലങ്ങളാണ്.

iifname "wg0" oifname "wg0" ip saddr 10.66.10.0/24 ip daddr 10.66.10.0/24 accept
iifname "wg0" oifname "wg0" ip saddr 10.66.20.0/24 ip daddr 10.66.20.0/24 accept
iifname "wg0" oifname "wg0" drop

ആദ്യ രണ്ട് നിയമങ്ങൾ ഓരോ ഗ്രൂപ്പിനുള്ളിലെ ട്രാഫിക് അനുവദിക്കുന്നു. അവസാനത്തേത് ആ ഇന്റർഫേസ് കടക്കുന്ന ബാക്കിയെല്ലാം തടയുന്നു, അതാണ് ഗ്രൂപ്പുകൾക്കിടയിൽ ഒറ്റപ്പെടുത്തൽ സൃഷ്ടിക്കുന്നത്. ആവശ്യമെങ്കിൽ മറ്റേ വിലാസ കുടുംബത്തിന് വ്യക്തമായ നിയമങ്ങൾ ചേർക്കുക, കാരണം IPv4-നായി എഴുതിയ drop IPv6-ന്റെ സ്വഭാവം അനുവദിക്കുകയോ വിവരിക്കുകയോ ചെയ്യുന്നില്ല.

ക്രമമാണ് നയം ബാധകമാകുന്നുണ്ടോ എന്ന് തീരുമാനിക്കുന്നത്

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

ഒരേ ഹൂക്കിലെ ചെയിനുകൾക്കിടയിൽ സ്വീകാര്യതയുടെ വിധിയും എപ്പോഴും അന്തിമമല്ല. മറ്റൊരു അടിസ്ഥാന ചെയിൻ പിന്നീട് പ്രവർത്തിക്കുകയാണെങ്കിൽ ഫലപ്രദമായ നയം സംയോജനമാണ്, അതിനാൽ നിങ്ങൾ തിരുത്തിയ ഫയലല്ല, കൗണ്ടറുകൾ പരിശോധിക്കുക. കൗണ്ടറുകളാണ് ലഭ്യമായ ഏറ്റവും വിലകുറഞ്ഞ തെളിവ്. പാക്കറ്റ് എണ്ണമില്ലാത്ത നിയമം പൊരുത്തപ്പെടുന്നില്ല, പൊരുത്തപ്പെടുന്ന നിയമം പിന്നീടുള്ള ചെയിൻ സ്വീകരിക്കുമ്പോൾ drop തെറ്റായ സ്ഥലത്താണെന്ന് നിങ്ങളോട് പറയുന്നു.

ഫയലുകളുടെ എണ്ണമല്ല, മാട്രിക്സ് പരിശോധിക്കുക

പ്രതീക്ഷിക്കുന്ന ഫലങ്ങളുടെ ഒരു ചെറിയ മാട്രിക്സ് നിർമ്മിച്ച് ഓരോ കോശവും പരിശോധിക്കുക. ഗ്രൂപ്പ് A മുതൽ ഗ്രൂപ്പ് A വരെ പ്രവർത്തിക്കണം, ഗ്രൂപ്പ് B മുതൽ ഗ്രൂപ്പ് B വരെ പ്രവർത്തിക്കണം, A മുതൽ B വരെ പ്രവർത്തിക്കരുത്, രണ്ട് ദിശകളിലും നിങ്ങൾ പിന്തുണയ്ക്കുന്നുവെങ്കിൽ രണ്ട് വിലാസ കുടുംബങ്ങൾക്കും.

nft list ruleset
wg show wg0 allowed-ips
ping -c 2 10.66.10.5
conntrack -L -s 10.66.20.7 2>/dev/null | head

ആദ്യ രണ്ടെണ്ണം എന്താണ് ക്രമീകരിച്ചിരിക്കുന്നത് എന്ന് കാണിക്കുന്നു. തെറ്റായ ഗ്രൂപ്പിലെ അംഗത്തിൽ നിന്നുള്ള ping യഥാർത്ഥത്തിൽ എന്ത് സംഭവിക്കുന്നു എന്ന് കാണിക്കുന്നു. conntrack ലിസ്റ്റ് പഴയ പ്രവാഹം ഇപ്പോഴും സ്വീകരിക്കപ്പെടുന്നുണ്ടോ എന്ന് കാണിക്കുന്നു, ഒറ്റപ്പെടുത്തലിലെ മാറ്റം നിശ്ശബ്ദമായി പ്രാബല്യത്തിൽ വരാതിരിക്കുന്നത് ഇങ്ങനെയാണ്.

ഹബ്ബിലെ ഹോസ്റ്റ് സേവനങ്ങളും അതിന് പിന്നിലെ LAN-ലേക്കുള്ള പ്രവേശനവും വെവ്വേറെ നയമുള്ള വെവ്വേറെ പാതകളാണ്. മാട്രിക്സ് അവയിൽ ഏതിനെ ഉൾക്കൊള്ളുന്നു എന്ന് രേഖപ്പെടുത്തുക, കാരണം പിയർ-ടു-പിയർ ട്രാഫിക് മാത്രം പരിശോധിക്കുന്ന ഒരു പരീക്ഷണം അവയൊന്നിനെക്കുറിച്ചും ഒന്നും പറയുന്നില്ല.

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