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

മറുപടി ഓർമ്മിക്കപ്പെടുന്നില്ല, റൂട്ട് ചെയ്യപ്പെടുന്നു

സ്ഥിര മാർഗം ഇൻസ്റ്റാൾ ചെയ്യുന്ന VPN ക്ലയന്റ് LAN ഗേറ്റ്വേയെ മറികടക്കുന്ന ഒരു എൻട്രി ചേർക്കുന്നു, മെട്രിക് കൊണ്ടോ ഇടം കൂടുതൽ കൃത്യമായ രണ്ട് പകുതികളായി വിഭജിച്ചോ. പുറത്തേക്കുള്ള പാക്കറ്റുകൾ ഇപ്പോൾ ടണൽ ഇന്റർഫേസ് തിരഞ്ഞെടുക്കുന്നു. മറുപടി നൽകുന്ന പാക്കറ്റ് യഥാർത്ഥത്തിൽ എവിടെനിന്ന് എത്തി എന്ന് കർണൽ ഒരിക്കലും ചോദിക്കുന്നില്ല. ആ ഒരു വിട്ടുപോകൽ തുടർന്നുവരുന്ന എല്ലാ ലക്ഷണങ്ങളെയും വിശദീകരിക്കുന്നു.

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

കർശനമായ റിവേഴ്സ് പാത്ത് ഫിൽട്ടറിംഗ് ഡീമൺ വായിക്കുന്നതിനു മുമ്പുതന്നെ ഇൻബൗണ്ട് പാക്കറ്റ് ഇട്ടുകളയാം. ആദ്യം ആ കൗണ്ടർ പരിശോധിക്കുക, കാരണം ഫിൽട്ടർ കാരണമുള്ള വീഴ്ചയും റൂട്ടിംഗ് പിശകും പുറത്തുനിന്ന് ഒരുപോലെ കാണപ്പെടുന്നു.

ip route show default
sysctl net.ipv4.conf.all.rp_filter net.ipv4.conf.eth0.rp_filter
nft list ruleset | grep -A3 'hook forward'

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

മടങ്ങിവരവ് പാത നിലനിർത്താനുള്ള മൂന്ന് വഴികൾ

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

പോളിസി റൂട്ടിംഗാണ് പൊതുവായ ഉത്തരം. സ്രോതസ്സ് വിലാസത്തിലോ ഫയർവാൾ അടയാളത്തിലോ കീ ചെയ്ത നിയമം സ്ഥിരമായി WAN ഗേറ്റ്വേയിലേക്ക് ചൂണ്ടുന്ന പട്ടിക തിരഞ്ഞെടുക്കുന്നു, ഹോസ്റ്റിന്റെ സ്വന്തം കണക്ഷനുകൾ ടണൽ ഉപയോഗിക്കുന്നത് തുടരുമ്പോൾ. മുൻഗണന വ്യക്തമായി നിലനിർത്തുക, നിയമം പിന്നീട് മറയ്ക്കപ്പെടാതിരിക്കാൻ.

ip rule add from 203.0.113.25/32 table 100 priority 100
ip route add default via 192.0.2.1 dev eth0 table 100
ip route get 198.51.100.7 from 203.0.113.25

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

സ്രോതസ്സ് വിവർത്തനം മൂന്നാമത്തെ ഓപ്ഷനാണ്, സേവനത്തിന് മുന്നിൽ ഇതിനകം NAT ചെയ്യുന്ന റൗട്ടറുടെ മുന്നിൽ നിലനിൽക്കുന്ന ഏക ഓപ്ഷനും. മറുപടി ആ റൗട്ടറിലേക്ക് തിരികെ പോകണം, WAN ഇന്റർഫേസിലേക്കുള്ള മാസ്കറേഡിംഗ് അത് നേടുകയും ക്ലയന്റിനെ സേവന ലോഗുകളിൽനിന്ന് മറയ്ക്കുകയും ചെയ്യുന്നു. ബന്ധിപ്പിച്ചതിന് ശേഷം സ്ഥിര മാർഗം കൈകൊണ്ട് മാറ്റുന്നത് ഡയഗ്നോസ്റ്റിക്സാണ്, കാരണം അടുത്ത വീണ്ടും ബന്ധിപ്പിക്കുമ്പോൾ ക്ലയന്റ് പട്ടിക വീണ്ടും എഴുതുന്നു.

ബോക്സ് LAN-നുവേണ്ടിയും റൂട്ട് ചെയ്യുമ്പോൾ

ഹോസ്റ്റ് തനിക്ക് പിന്നിലെ ഉപകരണങ്ങൾക്കുവേണ്ടി റൂട്ട് ചെയ്യുമ്പോൾ അതേ പരാജയം ഒരു ഹോപ്പ് കൂടി അകലെ പ്രത്യക്ഷപ്പെടുന്നു. ഇൻബൗണ്ട് കണക്ഷൻ അകത്തെ ഉപകരണത്തിലേക്ക് കൈമാറുന്നു, അതിന്റെ ഏക മടങ്ങിവരവ് പാത ടണലാണ്, മറുപടി ദാതാവിന്റെ വിലാസത്തിൽനിന്ന് പുറത്തെ ക്ലയന്റിലെത്തുന്നു. അകത്തെ ഉപകരണം എല്ലാ സമയവും ശരിയായി പ്രവർത്തിക്കുന്നു.

തുടർന്ന് കണക്ഷൻ ട്രാക്കിംഗ് ഒരിക്കലും രേഖപ്പെടുത്താത്ത ഒരു ഫ്ലോയുടെ മറുപടി കണ്ട് അത് വലിച്ചെറിയുന്നു. ലക്ഷ്യ വിവർത്തനം ഇൻബൗണ്ട് കണക്ഷൻ ഉപകരണത്തിലെത്തിക്കുന്നു, സ്രോതസ്സ് വിവർത്തനം മറുപടി റൗട്ടറിൽനിന്നുതന്നെ വന്നതായി കാണിക്കുന്നു.

ഫോർവേഡ് ചെയ്ത പോർട്ട് WAN-ൽ നിർത്തുകയും റൗട്ടറിന്റെ സ്വന്തം ട്രാഫിക് ടണൽ ഉപയോഗിക്കുകയും ചെയ്യുന്ന പോളിസി റൂട്ടാണ് കൂടുതൽ വൃത്തിയുള്ള തുല്യം. സ്രോതസ്സ് വിവർത്തനമില്ലാതെ മറുപടി പുറത്തെ ക്ലയന്റിനെ ലക്ഷ്യമിടുന്നു, അകത്തെ ഉപകരണത്തിന് ആ വിലാസത്തിലേക്ക് ഒരു റൂട്ടും ഇല്ല.

കാരണങ്ങളെ വേർതിരിക്കുന്ന മൂന്ന് പരിശോധനകൾ

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

ആദ്യം റൂട്ടിംഗ് ചോദ്യം ശരിയാക്കുക, പിന്നീട് പേരുകൾ നോക്കുക. രണ്ടും കൂട്ടിക്കലർത്തുന്നതാണ് പ്രവർത്തിക്കുന്ന സെർവറിനെ കേടായ റിസോൾവറിന് കുറ്റപ്പെടുത്തുന്ന വഴി.

ഏത് ഇന്റർഫേസിനെയാണ് അപവാദം പേരിടുന്നതെന്ന് രേഖപ്പെടുത്തുക, കോൺഫിഗറേഷൻ പതിപ്പ് നിയന്ത്രണത്തിൽ സൂക്ഷിക്കുക. അപ്ഗ്രേഡിന് ശേഷം പേര് മാറുന്ന ഇന്റർഫേസിനെതിരെ എഴുതിയ നിയമം ഇന്ന് കടന്നുപോകുകയും അടുത്ത റീബൂട്ടിന് ശേഷം പരാജയപ്പെടുകയും ചെയ്യും.

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