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

ആ ലൂപ്പ് രണ്ട് സംവിധാനങ്ങൾ തടയുന്നു. ഒന്ന് റൂട്ടിംഗ് പട്ടികയിൽ കാണാം, മറ്റൊന്ന് ആപ്ലിക്കേഷനുള്ളിൽ ജീവിക്കുന്നു.

ഉള്ളിലെയും പുറത്തെയും ട്രാഫിക് വ്യത്യസ്ത തീരുമാനങ്ങളാണ്

ഒരു ആപ്ലിക്കേഷൻ പാക്കറ്റ് വെർച്വൽ ഇന്റർഫേസിൽ പ്രവേശിച്ച് എൻകാപ്സുലേറ്റ് ചെയ്യപ്പെടുന്നു. ഫലം സെർവറിന്റെ പൊതു വിലാസത്തിലേക്ക് അഡ്രസ് ചെയ്ത പുതിയ പാക്കറ്റാണ്. ആ പാക്കറ്റിന് ഭൗതിക നെറ്റ്‌വർക്കിൽ ഒരു റൂട്ട് വേണം, കാരണം അതിൽ ഒന്നും ടണലിൽ പ്രവേശിക്കാൻ പാടില്ല.

രണ്ടും റൂട്ടിംഗ് തീരുമാനങ്ങളാണ്, ആദ്യത്തേത് മാത്രമാണ് ടണലിന്റേത്. ക്ലൈന്റ് സെർവറിനെയും ഉൾക്കൊള്ളുന്ന ഡിഫോൾട്ട് റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ പുറത്തെ പാക്കറ്റും പിടിക്കപ്പെടുന്നു.

ലക്ഷണങ്ങൾ തൽക്ഷണവും പൂർണവുമാണ്. ഹാൻഡ്‌ഷേക്ക് പൂർത്തിയാകുന്നു, പിന്നെ ഒന്നും ഒഴുകുന്നില്ല, അല്ലെങ്കിൽ റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുന്ന നിമിഷം കണക്ഷൻ വീഴുന്നു. രണ്ട് സാഹചര്യങ്ങളിലും keepalive ഇനി പുറത്തുപോകാൻ കഴിയില്ല.

ആദ്യ ഓപ്ഷൻ: എൻഡ്‌പോയിന്റിനുള്ള ഹോസ്റ്റ് റൂട്ട്

നേരിട്ടുള്ള സമീപനം യഥാർത്ഥ ഗേറ്റ്‌വേ വഴി സെർവറിന്റെ വിലാസത്തിന് ഒരു റൂട്ട് ചേർക്കുന്നു. അതിന് ഒരു വരി മതി. പട്ടിക വായിക്കുന്ന ആർക്കും അത് കാണാം. മാറ്റ രേഖയിൽ വിശദീകരിക്കാനും എളുപ്പമാണ്.

അതിന്റെ ദൗർബല്യം അടിസ്ഥാന പാത മാറുമ്പോൾ പ്രത്യക്ഷപ്പെടുന്നു. സംരക്ഷിച്ച റൂട്ട് പഴയ നെറ്റ്‌വർക്കിലെ ഒരു ഗേറ്റ്‌വേയും ഇന്റർഫേസും പേരിടുന്നു. Wi-Fi മാറ്റത്തിന് ശേഷം ആ ഗേറ്റ്‌വേ ഉണ്ടായിരിക്കണമെന്നില്ല, റൂട്ട് പിന്നിൽ അവശേഷിക്കുന്നു, ശരിയായി തോന്നുന്നു, ഒന്നും ചെയ്യുന്നുമില്ല.

# before the tunnel: which path reaches the endpoint?
ip route get 198.51.100.7

# pin it through the current gateway
ip route add 198.51.100.7/32 via 192.168.1.1 dev wlan0

# after the tunnel is up, confirm the pin survived
ip route get 198.51.100.7

ഹോസ്റ്റ്നെയിം ഇത് ബുദ്ധിമുട്ടാക്കുന്നു. എൻഡ്‌പോയിന്റ് നിരവധി വിലാസങ്ങളിലേക്ക് പരിഹരിക്കുന്ന ഒരു പേരാണെങ്കിൽ, ഒഴിവാക്കൽ യഥാർത്ഥത്തിൽ ഉപയോഗിക്കുന്ന വിലാസം ഉൾക്കൊള്ളണം. പിന്നീടുള്ള തിരയൽ റൂട്ട് ഒരിക്കലും ഉൾക്കൊള്ളാത്ത എന്തെങ്കിലും തിരികെ നൽകിയേക്കാം.

രണ്ടാം ഓപ്ഷൻ: സോക്കറ്റ് സംരക്ഷിക്കുക

മറ്റ് സമീപനം റൂട്ടിംഗ് പട്ടികയെ ഒരിക്കലും സ്പർശിക്കുന്നില്ല. ക്ലൈന്റ് ടണൽ വഹിക്കുന്ന സോക്കറ്റ് അടയാളപ്പെടുത്തുകയോ സംരക്ഷിക്കുകയോ ചെയ്യുന്നു, അതിനാൽ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം നയം അനുസരിച്ച് ആ സോക്കറ്റിന്റെ ട്രാഫിക് ടണലിന് പുറത്തേക്ക് അയയ്ക്കുന്നു. Android ഈ സംവിധാനം നേരിട്ട് VPN ആപ്ലിക്കേഷനുകൾക്ക് നൽകുന്നു. ഡെസ്ക്ടോപ്പ് ക്ലൈന്റുകൾ ഫയർവാൾ അടയാളങ്ങളോ ഉപകരണത്തിലേക്ക് ബന്ധിക്കുന്ന വിളികളോ ഉപയോഗിച്ച് തുല്യമായവ നടപ്പിലാക്കുന്നു.

നേട്ടം എന്നത് ഒഴിവാക്കൽ സംരക്ഷിച്ച ഗേറ്റ്‌വേയെക്കാൾ കണക്ഷനെ പിന്തുടരുന്നു എന്നതാണ്. നെറ്റ്‌വർക്ക് മാറ്റം അടിസ്ഥാന പാത മാറ്റിയെഴുതുന്നു, സംരക്ഷിത സോക്കറ്റ് അതിനൊപ്പം നീങ്ങുന്നു, കാരണം അത് ഒരിക്കലും ഒരു വിലാസത്തിലേക്ക് പിൻ ചെയ്യപ്പെട്ടിരുന്നില്ല. റൂട്ട് പട്ടിക വൃത്തിയായി തുടരുന്നു.

വില ദൃശ്യതയാണ്. റൂട്ടിംഗ് പട്ടികയിൽ ഒന്നും ഒഴിവാക്കൽ കാണിക്കുന്നില്ല, അതിനാൽ ഹോസ്റ്റ് റൂട്ട് തിരയുന്ന അവലോകകന് ഒന്നും കിട്ടുന്നില്ല, ഡിസൈൻ സുരക്ഷിതമല്ലെന്ന് അദ്ദേഹം തീരുമാനിച്ചേക്കാം. സംരക്ഷണം ക്ലൈന്റിന്റെ കോഡിലും ആ കോഡ് ഇൻസ്റ്റാൾ ചെയ്യുന്ന നയ നിയമങ്ങളിലും ജീവിക്കുന്നു.

അവയ്ക്കിടയിലുള്ള തിരഞ്ഞെടുപ്പ്

ക്ലൈന്റ് പിന്തുണയ്ക്കുമ്പോൾ സോക്കറ്റ് തലത്തിലുള്ള സംവിധാനം തിരഞ്ഞെടുക്കുക, കാരണം പിൻ ചെയ്ത റൂട്ട് തകർക്കുന്ന നെറ്റ്‌വർക്ക് മാറ്റങ്ങളെ അത് അതിജീവിക്കുന്നു. ഒഴിവാക്കൽ മറ്റ് ഉപകരണങ്ങൾക്ക് ദൃശ്യമാകേണ്ടിവരുമ്പോൾ, അല്ലെങ്കിൽ ക്ലൈന്റ് മികച്ചതൊന്നും വാഗ്ദാനം ചെയ്യാത്തപ്പോൾ ഹോസ്റ്റ് റൂട്ട് തിരഞ്ഞെടുക്കുക.

ഏത് സംവിധാനവും സെർവർ വിലാസം ഒട്ടും എത്തിച്ചേരാവുന്നതായിരിക്കണം എന്ന ആവശ്യം നീക്കം ചെയ്യുന്നില്ല. ഒരു സ്വകാര്യ ഗേറ്റ്‌വേയ്ക്ക് പൊതു ശ്രവണ വിലാസമുണ്ട്, ടണലിന് പുറത്ത് നിലനിൽക്കേണ്ടത് ആ വിലാസമാണ്. അതിന് പിന്നിലെ ആന്തരിക നെറ്റ്‌വർക്കുകൾ ടണൽ നിലവിൽ വന്നതിന് ശേഷം മാത്രമേ എത്തിച്ചേരാവുന്നതാകൂ.

നിങ്ങൾ എന്ത് തിരഞ്ഞെടുത്താലും, ടണൽ ഉള്ള ഘടകത്തിന് അടുത്ത് അത് സൂക്ഷിക്കുക. കൈകൊണ്ട് ചേർത്ത ഒരു അലഞ്ഞുതിരിയുന്ന ഹോസ്റ്റ് റൂട്ട് അടുത്ത നെറ്റ്‌വർക്ക് വരെ പ്രവർത്തിക്കും, പിന്നെ അത് നാളത്തെ ദുരൂഹമായ തടസ്സമായി മാറും.

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