പൂർണ ടണൽ OpenVPN: സെർവർ വശത്ത് ഇന്റർനെറ്റ് എക്സിറ്റ് ചേർക്കുക
ഡിഫോൾട്ട് റൂട്ട് പുഷ് ചെയ്യുന്നത് പൂർണ ടണൽ സേവനത്തിന്റെ പകുതി മാത്രമാണ്. സെർവറിന് ഫോർവേഡിംഗ്, പരിമിതമായ ഫോർവേഡിംഗ് നിയമം, പൂളിലേക്കുള്ള തിരിച്ചുവരവ് വഴി എന്നിവയും വേണം.
ഒരു ക്ലയന്റ് പ്രാമാണീകരണം നടത്തി പൂളിൽ നിന്ന് വിലാസം സ്വീകരിച്ച് VPN ഹോസ്റ്റിലെ സേവനങ്ങളിൽ എത്തുന്നു, എന്നാൽ എല്ലാ പൊതു ലക്ഷ്യസ്ഥാനവും സമയപരിധി കഴിഞ്ഞ് നിലയ്ക്കുന്നു. പുറത്തേക്കുള്ള വഴിയില്ലാത്ത ടണൽ ഇങ്ങനെയാണ് കാണുന്നത്, നാല് വേറിട്ട കാര്യങ്ങൾ ശരിയാകുന്നതുവരെ അത് അങ്ങനെ തുടരും. ക്ലയന്റ് ഡിഫോൾട്ട് റൂട്ട് സ്വീകരിക്കണം, സെർവർ ഫോർവേഡ് ചെയ്യണം, ഫയർവാൾ കടത്തിവിടൽ അനുവദിക്കണം, മറുപടികൾക്ക് പൂളിലേക്ക് തിരികെയുള്ള വഴി വേണം. നാല് പരാജയങ്ങൾക്കും ഒരേ ലക്ഷണമാണ്, അതിനാൽ ഓരോ ശ്രമത്തിലും ഒരു കാര്യം മാത്രം മാറ്റി ഫലം രേഖപ്പെടുത്തുക.
ഡിഫോൾട്ട് റൂട്ട് പുഷ് ചെയ്ത് ക്ലയന്റ് എന്ത് ഇൻസ്റ്റാൾ ചെയ്തു എന്ന് ഉറപ്പാക്കുക
സെർവർ വശത്തെ വരി ചെറുതാണ്, കൂടാതെ പുഷ് ചെയ്ത ഓപ്ഷനുകൾ സ്വീകരിക്കുന്ന ക്ലയന്റുകളെ മാത്രമാണ് അത് ബാധിക്കുന്നത്. def1 രൂപം നിലവിലുള്ള ഡിഫോൾട്ട് ഇല്ലാതാക്കുന്നതിന് പകരം രണ്ട് പകുതി-ഡിഫോൾട്ട് റൂട്ടുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നു, ഇത് നിലവിലെ കണക്ഷൻ ജീവനോടെ നിർത്തിക്കൊണ്ടുതന്നെ എല്ലാ ലക്ഷ്യസ്ഥാനവും പിടികൂടുന്നു.
push "redirect-gateway def1"
വീണ്ടും കണക്ട് ചെയ്തശേഷം പ്രൊഫൈൽ വിശ്വസിക്കുന്നതിന് പകരം ക്ലയന്റിന്റെ റൂട്ടിംഗ് പട്ടിക വായിക്കുക. Linux-ൽ രണ്ട് /1 എൻട്രികൾ യഥാർത്ഥ ഡിഫോൾട്ടിന് അടുത്തായി പ്രത്യക്ഷപ്പെടുന്നു, Windows അതേ ജോടി 0.0.0.0/1, 128.0.0.0/1 എന്നിങ്ങനെ കാണിക്കുന്നു. പുഷ് ചെയ്ത ഓപ്ഷനുകൾ അവഗണിക്കുന്ന ക്ലയന്റോ, അവ നിരസിക്കാൻ ക്രമീകരിച്ചിട്ടുള്ളതോ പഴയ ഡിഫോൾട്ട് നിലനിർത്തുകയും ഒരിക്കലും ഇന്റർനെറ്റ് ട്രാഫിക് ടണലിലേക്ക് അയക്കാതിരിക്കുകയും ചെയ്യും. സെർവറിൽ എന്തെങ്കിലും മാറ്റുന്നതിന് മുമ്പ് ഈ ചോദ്യം തീർപ്പാക്കുക, കാരണം സെർവർ വശത്തെ ഒരു നിയമത്തിനും അത് നികത്താനാവില്ല.
ഫോർവേഡിംഗ് ഒരു സെർവർ ക്രമീകരണമാണ്, VPN ക്രമീകരണമല്ല
റൂട്ടിംഗ് തൊടുന്നതിന് മുമ്പ് ഫോർവേഡിംഗ് ഫ്ലാഗ് വായിക്കുക. അവിടെ പൂജ്യം എന്നാൽ കെർണൽ ക്ലയന്റിന്റെ പാക്കറ്റ് സ്വീകരിച്ച് അത് കൈമാറ്റം ചെയ്യാൻ വിസമ്മതിക്കുന്നു എന്നാണ്, ഇത് വിദൂര അറ്റത്തുനിന്നുള്ള ഫയർവാൾ തടയലിനോട് കൃത്യമായി സാമ്യമുള്ളതാണ്. സിസ്റ്റത്തിന്റെ കോൺഫിഗറേഷൻ ഡയറക്ടറി വഴി മൂല്യം സജ്ജമാക്കുക, അത് റീബൂട്ടിന് ശേഷവും നിലനിൽക്കും.
sysctl net.ipv4.ip_forward
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-vpn-forward.conf
sudo sysctl --system
അടുത്തതായി, ഹോസ്റ്റിന് തന്നെ ഇന്റർനെറ്റ് എക്സിറ്റിലേക്ക് പ്രവർത്തിക്കുന്ന റൂട്ട് ഉണ്ടെന്ന് ഉറപ്പാക്കുക. സെർവറിന്റെ ഷെല്ലിൽ നിന്നുള്ള അഭ്യർത്ഥന മേലെയുള്ള വഴി ഉപയോഗയോഗ്യമാണെന്ന് തെളിയിക്കുന്നു, ക്ലയന്റിന്റെ പാക്കറ്റ് ഫോർവേഡ് ചെയ്യുന്നതിനെക്കുറിച്ച് ഒന്നും പറയുന്നുമില്ല, അതിനാൽ അവയെ രണ്ട് വേറിട്ട പരിശോധനകളായി കാണുക. സെർവറിന് ലക്ഷ്യസ്ഥാനത്ത് എത്താനാവുന്നില്ലെങ്കിൽ എത്ര ഫോർവേഡിംഗ് കോൺഫിഗറേഷൻ ഉണ്ടായാലും സഹായിക്കില്ല.
ഉദ്ദേശിക്കുന്ന കടത്തിവിടൽ മാത്രം അനുവദിക്കുക, മറ്റൊന്നുമല്ല
ഫോർവേഡ് ചെയ്ത പാക്കറ്റുകൾ forward വഴി കടക്കുന്നു; VPN ഹോസ്റ്റിന് തന്നെ അഭിസംബോധന ചെയ്ത ട്രാഫിക് input വഴി കടക്കുന്നു. ഇവ വ്യത്യസ്ത തീരുമാനങ്ങളാണ്, input വഴി തുറക്കുന്നത് യന്ത്രത്തിലൂടെയുള്ള കടത്തിവിടൽ അനുവദിക്കുന്നില്ല. ഇവ കൂട്ടിക്കുഴയ്ക്കുന്നതാണ് ഫയർവാൾ എല്ലാം അനുവദിക്കുന്നതുപോലെ തോന്നുകയും ക്ലയന്റുകൾ ഇപ്പോഴും സമയപരിധി കഴിയുകയും ചെയ്യുന്നതിന് ഏറ്റവും സാധാരണ കാരണം.
കുറഞ്ഞ നയം പൂളിൽ നിന്ന് എക്സിറ്റ് ഇന്റർഫേസിലേക്കുള്ള പുതിയ കണക്ഷനുകൾ സ്വീകരിക്കുകയും സ്ഥാപിത ഫ്ലോകളിൽ പെടുന്ന മറുപടികൾ സ്വീകരിക്കുകയും ചെയ്യുന്നു. ഓരോ ബൂട്ടിലും ഇരട്ടി നിയമം ചേർക്കുന്നതിന് പകരം നിങ്ങളുടെ ഡിസ്ട്രിബ്യൂഷൻ ഉപയോഗിക്കുന്ന നിയമസംഹിതയുടെ ഉടമയിൽ അത് വയ്ക്കുക; ഇരട്ടി നിയമങ്ങൾ കൂടിക്കൂടി വരുന്നു, കൗണ്ടറുകൾക്ക് അർത്ഥം നഷ്ടപ്പെടുന്നു.
sudo iptables -A FORWARD -i tun0 -o eth0 -s 10.90.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
ഓരോ ചെയിനും സ്വീകരിക്കുക എന്നാക്കി മാറ്റുന്നത് പരിശോധന വിജയിപ്പിക്കുകയും ഫയർവാളിന്റെ അസ്തിത്വത്തിനുള്ള കാരണം നീക്കുകയും ചെയ്യുന്നു. പരിധി പൂളിലും എക്സിറ്റ് ഇന്റർഫേസിലും ഒതുക്കുക, ബന്ധമില്ലാത്ത ഫോർവേഡിംഗ് വെറുതെ വിടുക.
മറുപടികൾക്ക് പോകാനുള്ള ഒരിടം നൽകുക
പൂളിലെ വിലാസങ്ങൾ സ്വകാര്യമാണ്, അതിനാൽ ഒരു പൊതു സെർവറിന് അവയ്ക്ക് നേരിട്ട് മറുപടി നൽകാനാവില്ല. ഒന്നുകിൽ VPN ഹോസ്റ്റ് പുറത്തേക്ക് പോകുമ്പോൾ ഉറവിട വിലാസം വിവർത്തനം ചെയ്യുന്നു, അല്ലെങ്കിൽ മേലെയുള്ള ഉപകരണം പൂളിലേക്ക് തിരികെയുള്ള റൂട്ട് സൂക്ഷിക്കുന്നു.
sudo iptables -t nat -A POSTROUTING -s 10.90.0.0/24 -o eth0 -j MASQUERADE
കൃത്യമായി ഒരു വിവർത്തന പാളി മാത്രം ചേർക്കുക. മേലെ രണ്ടാമതൊരു NAT ആദ്യത്തേതിനെ മറയ്ക്കുകയും പിന്നീട് എന്തെങ്കിലും കേടാകുമ്പോൾ രണ്ട് ലോഗുകളും ഏതാണ്ട് നിഷ്പ്രയോജനമാക്കുകയും ചെയ്യും. മേലെയുള്ള റൂട്ടർ ഇതിനകം പൂൾ തിരികെ റൂട്ട് ചെയ്യുന്നുണ്ടെങ്കിൽ, ഹോസ്റ്റിൽ വിവർത്തനം ചേർക്കുന്നത് അനാവശ്യമാണ്, തിരികെയുള്ള വഴി അപ്പോൾ നിങ്ങളുടെ ക്രമീകരണത്തെയല്ല, ആ റൂട്ടറിന്റെ ക്രമീകരണത്തെ ആശ്രയിക്കുന്നു.
ക്ലൗഡ് ഇൻസ്റ്റൻസുകൾ ഒരു കവാടം കൂടി ചേർക്കുന്നു, കാരണം ചില പ്ലാറ്റ്ഫോമുകൾ ഉറവിട വിലാസം ഇൻസ്റ്റൻസിന്റേതല്ലാത്ത പാക്കറ്റുകൾ ആ പരിശോധന അയച്ചാൽ ഒഴികെ ഉപേക്ഷിക്കുന്നു. ആ ക്രമീകരണം ഗെസ്റ്റിന് പുറത്താണ്, പ്രാദേശിക പരീക്ഷണ യന്ത്രം പ്രവർത്തിക്കുമ്പോൾ അത് മറക്കാൻ എളുപ്പമാണ്.
അത് സെർവർ ഷെല്ലിൽ നിന്നല്ല, ക്ലയന്റിൽ നിന്ന് തെളിയിക്കുക
സംഖ്യാത്മക IPv4 അഭ്യർത്ഥനയോടെ തുടങ്ങുക, പിന്നെ പേര് തിരയൽ, പിന്നെ ആപ്ലിക്കേഷൻ. ping ഫോർവേഡിംഗും വിവർത്തനവും തെളിയിക്കുന്നു;അത് റെസല്യൂഷനെക്കുറിച്ച് ഒന്നും തെളിയിക്കുന്നില്ല, കാരണം DNS ഓപ്ഷനുകൾ ക്ലയന്റ് ഇന്റഗ്രേഷൻ അവ ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ മാത്രമേ പ്രാബല്യത്തിൽ വരൂ.
curl -4 -m 5 http://198.51.100.10/
dig +short example.com
മാറ്റങ്ങളും പിൻവലിക്കൽ ഘട്ടവും നടക്കുമ്പോൾത്തന്നെ രേഖപ്പെടുത്തുക, പരിശോധന പരാജയപ്പെടുമ്പോൾ എക്സിറ്റ് നയം ഒരു പ്രവർത്തനത്തിൽ തിരികെ വയ്ക്കാനാകും. ഈ രീതി IPv4 മാത്രം ഉൾക്കൊള്ളുന്നു; വിന്യാസം എല്ലാ ട്രാഫിക്കും വഹിക്കുന്നു എന്ന് അവകാശപ്പെടുന്നതിന് മുമ്പ് IPv6 പ്രത്യേകം കണക്കെടുക്കുക.