Linux ഹോസ്റ്റ് തന്റെ SMTP മാത്രം ഒരു ടണലിലൂടെ അയയ്ക്കുന്നതിന് മുമ്പ് നാല് കാര്യങ്ങൾ ഒത്തുചേരണം: സമർപ്പിത പട്ടികയിലെ ഒരു റൂട്ട്, ട്രാഫിക് തിരഞ്ഞെടുക്കുന്ന ഒരു നയ നിയമം, പീർ സ്വീകരിക്കുന്ന ഒരു ഉറവിട വിലാസം, അസമത്വത്തെ അതിജീവിക്കുന്ന ഒരു മടക്ക പാത. ഓരോന്നും അതിന്റേതായ പരാജയ രീതിയുള്ള വേറിട്ട കോൺഫിഗറേഷനാണ്. താഴെയുള്ള ക്രമമാണ് പരാജയത്തെ യഥാർത്ഥത്തിൽ തെറ്റായ ഭാഗത്തേക്ക് ചൂണ്ടിക്കാണിക്കുന്നത്. ഇത് പോർട്ട്-നിർദ്ദിഷ്ട റൂട്ടിംഗ് ജോലി ആണ്, VPN ഡിഫോൾട്ട് റൂട്ടിനുള്ള അഭ്യർത്ഥനയല്ല.

പോർട്ട് നിയമം ഡിഫോൾട്ട് റൂട്ട് അല്ല

പ്രാദേശികമായി സൃഷ്ടിച്ച TCP-യെ ലക്ഷ്യ പോർട്ട് 25-മായി പൊരുത്തപ്പെടുത്തുന്ന നിയമം ആ ട്രാഫിക്കിനെ നിങ്ങൾ പേരിടുന്ന പട്ടികയിലേക്ക് അയയ്ക്കുന്നു. നിയമം സ്വയം ഒന്നും സൃഷ്ടിക്കുന്നില്ല: അത് തിരഞ്ഞെടുക്കുന്നു, പട്ടികയിൽ പാക്കറ്റ് വഹിക്കാൻ കഴിയുന്ന ഒരു റൂട്ട് ഉണ്ടായിരിക്കണം. രണ്ടും ചേരുമ്പോൾ ഒരു പ്രോട്ടോക്കോളിന്റെ പുറത്തേക്കുള്ള ദിശ മാത്രമാണ് ഉൾക്കൊള്ളുന്നത്, അതിനാൽ മറ്റ് ഹോസ്റ്റുകൾക്കുള്ള ഫോർവേഡിംഗ്, ഇൻബൗണ്ട് മെയിൽ കണക്ഷനുകൾ, IPv6 എന്നിവ ഈ ക്രമീകരണത്തിന് പുറത്ത് നിൽക്കുന്നു. VPN ഡിഫോൾട്ടിന് പകരം പോർട്ട്-നിർദ്ദിഷ്ട നയം എന്ന് വിളിക്കുന്നത് ആ അതിർത്തിയെ സത്യസന്ധമായി നിലനിർത്തുന്നു.

wg-quick-ന്റെ രണ്ട് ക്രമീകരണങ്ങൾ മുൻവ്യവസ്ഥകളാണ്, നയത്തിന്റെ ഭാഗമല്ല. AllowedIPs = 0.0.0.0/0 പീറിന് ഏകപക്ഷീയമായ IPv4 ലക്ഷ്യങ്ങൾ വഹിക്കാൻ അനുവദിക്കുന്നു, Table = off ആ പ്രിഫിക്സിനായി wg-quick സ്വന്തം ഡിഫോൾട്ട് റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുന്നത് തടയുന്നു. ഈ നിർദ്ദേശങ്ങൾ സ്വന്തം റൂട്ട് നയം പ്രയോഗിക്കുന്ന ഒരു മാനേജറുമായി കലർത്തരുത്, കാരണം പ്രധാന പട്ടിക ആർക്കുള്ളതെന്ന കാര്യത്തിൽ രണ്ടും യോജിക്കില്ല.

റൂട്ട്, സെലക്ടർ, ഗാർഡ് എന്നിവ എഴുതുക

മറ്റൊന്നും ഉപയോഗിക്കാത്ത ഒരു പട്ടിക നമ്പറും ഒരു ജോടി മുൻഗണനകളും തിരഞ്ഞെടുത്ത്, ആ ക്രമത്തിൽ റൂട്ട്, സെലക്ടർ, ഗാർഡ് എന്നിവ പ്രയോഗിക്കുക. താഴെയുള്ള സംഖ്യകൾ ഉദാഹരണങ്ങളാണ്, സംവരണം ചെയ്ത മൂല്യങ്ങളല്ല:

ip -4 route add default dev wg0 src 10.77.0.2 table 51825
ip -4 rule add priority 10000 iif lo ipproto tcp dport 25 lookup 51825
ip -4 rule add priority 10001 iif lo ipproto tcp dport 25 unreachable

iif lo നിയമത്തെ പ്രാദേശിക ഉത്ഭവ ട്രാഫിക്കിൽ ഒതുക്കുന്നു, ipproto tcp dport 25 കണക്ഷന്റെ ദിശ തിരിച്ചറിയുന്നു; ip-rule റഫറൻസ് രണ്ട് സെലക്ടറുകളെയും രേഖപ്പെടുത്തുന്നു. നിലവിലെ കെർണലുകളിലും iproute2 റിലീസുകളിലും അവയുണ്ട്, പഴയ സിസ്റ്റത്തിൽ നിയമം പൂർണ്ണമായി നിരസിക്കപ്പെടുന്നു, ലോഡ് ചെയ്ത് യാതൊന്നുമായും പൊരുത്തപ്പെടാത്ത നിയമത്തേക്കാൾ വ്യക്തമായ പരാജയമാണത്.

അടുത്ത മുൻഗണനയിലെ unreachable നിയമമാണ് ഗാർഡ്. അതില്ലാതെ, പട്ടിക 51825-ൽ കാണാത്ത ഒരു റൂട്ട് സാധാരണ ഡിഫോൾട്ടിലേക്ക് വീഴുന്നു, ടണൽ തകരാറിനിടയിൽ മെയിൽ ഭൗതിക ലിങ്കിലൂടെ പുറത്തുപോകുന്നു, നയം തടയാൻ നിർമ്മിച്ചത് ഇതേ അവസ്ഥയാണ്.

ഉറവിട വിലാസം ഒത്തുചേരണം

റൂട്ടിന്റെ src മുൻഗണന സ്വന്തം ഉറവിടം ബന്ധിക്കാത്ത കണക്ഷനുകൾക്ക് മാത്രം ഉറവിടം നിറയ്ക്കുന്നു. ഇത് വിവർത്തനമല്ല, വ്യക്തമായ ബൈൻഡിംഗിനെ അതിക്രമിക്കുന്നുമില്ല, അതിനാൽ ഭൗതിക വിലാസത്തിൽ ബന്ധിച്ച ഡീമൺ ആ വിലാസത്തിൽ നിന്ന് തുടർന്നും അയയ്ക്കും. അങ്ങനെയാണെങ്കിൽ, ഡീമണിന്റെ സ്വന്തം ക്രമീകരണം മാറ്റുക അല്ലെങ്കിൽ ബോധപൂർവമായ ഒരു വിവർത്തന നയം രൂപകൽപ്പന ചെയ്യുക, കാരണം വൈകിയുള്ള സർവവ്യാപിയായ masquerade വേറെ പരിണാമങ്ങളുള്ള വേറെ പരിഹാരമാണ്.

ഗേറ്റ്‌വേയിൽ, ക്ലയന്റിന്റെ പീർ യഥാർത്ഥത്തിൽ സ്വീകരിക്കുന്ന ഉറവിടം അംഗീകരിക്കണം, അതായത് വിശാലമായ ലക്ഷ്യ പ്രിഫിക്സല്ല, 10.77.0.2/32. ക്ലയന്റിന്റെ 0.0.0.0/0 ഓരോ ഗേറ്റ്‌വേ പീറിലേക്കും പകർത്തുന്നത് ഏത് പീർ ഏത് ട്രാഫിക് കൈവശം വയ്ക്കുന്നു എന്നത് കുഴപ്പത്തിലാക്കുന്നു. ഗേറ്റ്‌വേയ്ക്ക് ഫോർവേഡിംഗ്, ഫ്ലോ അനുവദിക്കുന്ന ഫയർവാൾ നയം, മടക്ക പാത എന്നിവയും ആവശ്യമാണ്, അപ്സ്ട്രീമിന് സ്വകാര്യ ടണൽ വിലാസം റൂട്ട് ചെയ്യാൻ കഴിയാത്തപ്പോൾ എഗ്രസ് വിവർത്തനവും ഉൾപ്പെടെ.

മടക്ക പാത പരിശോധിക്കുക, പിന്നെ സ്ഥിരത

എന്തിനെയും വിശ്വസിക്കുന്നതിന് മുമ്പ് ലുക്കപ്പുകൾ വായിക്കുക, ഓരോ ദിശയ്ക്കും ഏത് പട്ടികയും ഏത് ഉറവിടവും ലഭിക്കുന്നു എന്ന് അവ കാണിക്കുന്നു. പോർട്ട് 25-ലെ ഒരു ലക്ഷ്യവും പോർട്ട് 443-ലെ അതേ ലക്ഷ്യവും മതി:

ip -4 route get 198.51.100.25 ipproto tcp dport 25
ip -4 route get 198.51.100.25 ipproto tcp dport 443

ആദ്യ ലുക്കപ്പ് wg0-ഉം ഉദ്ദേശിച്ച ഉറവിടവും പേരിടണം, രണ്ടാമത്തേത് സാധാരണ അപ്‌ലിങ്ക് നിലനിർത്തണം. അപ്ലിക്കേഷൻ സ്വന്തം വിലാസം ബന്ധിക്കുമ്പോൾ, ആ വിലാസത്തോടെ from ലുക്കപ്പിൽ ചേർക്കുക. wg0-ൽ എത്തി പ്രാദേശികമായി ഉപേക്ഷിക്കപ്പെടുന്ന മറുപടി ദിശ IPv4 റിവേഴ്സ്-പാത്ത് ഫിൽട്ടറിംഗിനെ സൂചിപ്പിക്കുന്നു, കാരണം പുറത്തേക്കുള്ള പോർട്ടിന് മാത്രമുള്ള നിയമം റിവേഴ്സ് ലുക്കപ്പിനെ ടണൽ തിരഞ്ഞെടുക്കാൻ നിർബന്ധിക്കുന്നില്ല.

അസമമിത റൂട്ടിംഗ് അനുവദനീയമായിടത്ത്, net.ipv4.conf.wg0.rp_filter=2 വഴി ഇന്റർഫേസ്-പരിമിതമായ അയഞ്ഞ മോഡ് ഉചിതമായേക്കാം, ആദ്യം all, ഇന്റർഫേസ് മൂല്യങ്ങളുടെ ഫലപ്രദമായ പരമാവധി പരിശോധിക്കുന്നത് ഉചിതമാണ്. കുറുക്കുവഴിയായി സാധുത പരിശോധന ആഗോളമായി ഓഫ് ചെയ്യരുത്. തുടർന്ന് പട്ടിക, മുൻഗണനകൾ, ഗാർഡ് എന്നിവ കോൺഫിഗറേഷന്റെ ഉടമയ്ക്ക് കൈമാറുക, വീണ്ടും കണക്ട് ചെയ്ത ശേഷം പുതിയ കണക്ഷനുകൾ തുറന്ന് തിരഞ്ഞെടുപ്പ് ഇപ്പോഴും നിലനിൽക്കുന്നുവെന്ന് സ്ഥിരീകരിക്കുക. പ്രാദേശിക SMTP ശ്രോതാവിന്റെ മറുപടികൾ ലക്ഷ്യ പോർട്ട് 25 അല്ല, ഉറവിട പോർട്ട് 25 വഹിക്കുന്നു എന്ന് ഓർക്കുക, അത് വേറെ നയ പ്രശ്നമാണ്.

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