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

പുറം ഫ്ലോ എന്ത് കൊണ്ടുപോകുന്നു, എന്ത് മറയ്ക്കുന്നു

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

അതുകൊണ്ട് WAN ഇന്റർഫേസിലെ ക്യാപ്ചർ ഒരു സംഭാഷണം മാത്രം കാണിക്കുന്നു, മൂന്നല്ല. ആന്തരിക പോർട്ടുകൾ ഡീകാപ്സുലേഷന് ശേഷം മാത്രം പ്രത്യക്ഷപ്പെടുന്നു. അതുകൊണ്ടാണ് ഒരു ഫയർവാൾ ദ്വാരം SSH, HTTPS, DNS എന്നിവ ഒരേസമയം വഹിക്കാൻ കഴിയുന്നത്.

# WAN side: one outer tuple, whatever the inner services are
tcpdump -ni wan0 'udp port 443'
# tunnel side: the inner tuples appear after decapsulation
tcpdump -ni tun0

TUN/TAP ഡോക്യുമെന്റേഷൻ റൂട്ട് ചെയ്ത TUN ഉപകരണം കർണലും ഉപയോക്തൃ സ്പേസ് പ്രോസസും തമ്മിൽ IP പാക്കറ്റുകൾ കൈമാറുന്ന ഹാൻഡോഫ് വിശദീകരിക്കുന്നു. ആ ഹാൻഡോഫാണ് ആന്തരിക ഹെഡർ ഗേറ്റ്വേയുടെ റൂട്ടിംഗിനും ഫയർവാൾ കോഡിനും ദൃശ്യമാക്കുന്നത്. ഏത് സേവനങ്ങൾ അനുവദനീയമാണെന്നതിനെക്കുറിച്ച് പുറം പോർട്ട് ഒന്നും പറയാത്തത് എന്തുകൊണ്ടെന്നും അത് വിശദീകരിക്കുന്നു.

NAT ഫോർവേഡ് ലിസണറിനുള്ളതാണ്, ആപ്ലിക്കേഷനുകൾക്കല്ല

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

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

ആക്സസ് യഥാർത്ഥത്തിൽ തീരുമാനിക്കുന്നത് ആന്തരിക നയത്തിലാണ്

എൻക്രിപ്ഷൻ പാതയെ സംരക്ഷിക്കുന്നു; അത് ലക്ഷ്യസ്ഥാനത്തിന് അനുമതി നൽകുന്നില്ല. ഏത് പ്രിഫിക്സുകൾ ടണലിൽ പ്രവേശിക്കണം എന്ന് ക്ലയന്റ് റൂട്ടുകൾ തീരുമാനിക്കുന്നു, പാക്കറ്റുകൾക്ക് അത് വിടാമോ എന്ന് ഗേറ്റ്വേ ഫോർവേഡിംഗ് നയം തീരുമാനിക്കുന്നു, സേവനം മറുപടി നൽകുമോ എന്ന് ലക്ഷ്യസ്ഥാനത്തിന്റെ ഫയർവാളും ലോഗിനും തീരുമാനിക്കുന്നു. DNS ആണ് ഏറ്റവും വ്യക്തമായ കേസ്: അന്വേഷണങ്ങൾ കൊണ്ടുപോകുന്നത് നിങ്ങളുടെ ക്ലയന്റ് പൂളിൽ നിന്ന് റിസോൾവർ അവ സ്വീകരിക്കാൻ ഇടയാക്കുന്നില്ല. ഓരോ പാളിക്കും സ്വതന്ത്രമായി നിരസിക്കാം.

ടണലിലൂടെ ഓരോ സേവനവും വെവ്വേറെ പരിശോധിക്കുക. വിജയകരമായ അന്വേഷണം വെബ് പോർട്ടിനെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല, വിജയകരമായ വെബ് അഭ്യർത്ഥന SSH-യെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല.

dig @10.40.0.53 app.corp.example
nc -vz 10.40.0.10 8443
ssh -p 2222 [email protected]

ടണൽ പ്രവർത്തിക്കുന്നു, എന്നാൽ എല്ലാം പരാജയപ്പെടുന്നു എങ്കിൽ ആദ്യം ക്ലയന്റിന്റെ റൂട്ട് ടേബിൾ വായിക്കുക. ഒരു സേവനം പരാജയപ്പെടുമ്പോൾ മറ്റുള്ളവ പ്രവർത്തിക്കുന്നെങ്കിൽ, തകരാർ ആ ലക്ഷ്യസ്ഥാനത്താണ്. ഈ രണ്ട് നിരീക്ഷണങ്ങളും വ്യത്യസ്ത ഉത്തരവാദികളിലേക്ക് വിരൽ ചൂണ്ടുന്നു, അവ കൂട്ടിക്കലർത്തുന്നത് സമയം പാഴാക്കുന്നു.

WireGuard അതേ വര വരയ്ക്കുന്നു

WireGuard അതിന്റെ പുറം ലിസണറിന് ListenPort എന്ന് പേരിടുന്നു, ആന്തരിക ആപ്ലിക്കേഷൻ ഇപ്പോഴും അതിന് ആവശ്യമായ സേവന പോർട്ട് ഉപയോഗിക്കുന്നു. AllowedIPs റൂട്ട് ചെയ്ത പ്രിഫിക്സുകളുടെ ഒരു കൂട്ടമാണ്, അനുവദനീയമായ സേവന പോർട്ടുകളുടെ പട്ടികയല്ല. അതിനെ പോർട്ട് അനുവദനീയ പട്ടികയായി വായിക്കുന്നത് ടണൽ ചെയ്യുന്നതുമായി പൊരുത്തപ്പെടാത്ത റൂളുകൾ സൃഷ്ടിക്കുന്നു. പേരിടീൽ വ്യത്യസ്തമാണ്; പാളികൾ അല്ല.

സേവനം ഹോസ്റ്റിൽ തന്നെ പ്രവർത്തിക്കുന്നുവെങ്കിൽ ലോക്കൽ ഇൻപുട്ട് നയത്തിലും, ആ ഹോസ്റ്റിന് പിന്നിലാണെങ്കിൽ ഫോർവേഡിംഗ് നയത്തിലും അത് അനുവദിക്കുക. ഈ വ്യത്യാസമാണ് ഏത് റൂൾ സെറ്റ് പാക്കറ്റ് കാണുന്നു എന്ന് തീരുമാനിക്കുന്നത്.

പൊതുവായ രൂപം ഒരു പുറം ട്രാൻസ്പോർട്ടും പല ആന്തരിക സംഭാഷണങ്ങളുമാണ്. നിരവധി പുറം കൈമാറ്റങ്ങളോ വ്യത്യസ്ത IP പ്രോട്ടോക്കോളോ ആവശ്യമുള്ള ഉൽപ്പന്നങ്ങൾ, ഒറ്റ പൊതു പോർട്ട് മാതൃക ഈ രൂപകൽപ്പനയെ വിവരിക്കുന്നു എന്നതിന്റെ ഓർമ്മപ്പെടുത്തലാണ്, എല്ലാ VPN-കളെയുമല്ല.

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