VPN ലീക്ക് പരിഹരിക്കാൻ IPv6 നിർജ്ജീവമാക്കണോ? പകരം നയം തീരുമാനിക്കുക
ലിങ്ക്-ലോക്കൽ വിലാസം ലീക്ക് അല്ല, ആഗോള IPv6 റൂട്ടും അല്ല. ആദ്യം തടയൽ, കൊണ്ടുപോകൽ, അവഗണിക്കൽ എന്നിവയിൽ നിന്ന് തിരഞ്ഞെടുക്കുക.
IPv6 ശ്രേണിയിലെ ഒരു വിലാസം ടെസ്റ്റ് പേജിൽ പ്രത്യക്ഷപ്പെടുന്നു, ടണൽ അത് വ്യക്തമായി കൊണ്ടുപോകുന്നില്ല, ഇന്റർനെറ്റിലെ ഏറ്റവും ജനപ്രിയമായ ഉപദേശം IPv6 എല്ലായിടത്തും നിർജ്ജീവമാക്കുക എന്നതാണ്. ആ കമാൻഡ് പാനൽ ശരിക്കും നിശബ്ദമാക്കുന്നു. പക്ഷേ അത് ആക്സസ് നെറ്റ്വർക്ക് ആശ്രയിച്ചേക്കാവുന്ന ഒരു പ്രോട്ടോക്കോളും നീക്കം ചെയ്യുന്നു, വിലാസം യഥാർത്ഥ ലീക്ക് ആയിരുന്നോ, ലിങ്ക്-ലോക്കൽ ഇന്റർഫേസ് വിലാസമായിരുന്നോ, അതോ സ്വന്തം ജോലി ചെയ്യുന്ന ഒരു റിസോൾവർ ആയിരുന്നോ എന്ന് അറിയാതെ നിങ്ങളെ വിടുന്നു. ശരിയായ നിയന്ത്രണം മൂന്ന് വ്യവസ്ഥകൾ തീരുമാനിക്കുന്നു, അവയിൽ ഒന്ന് മാത്രമാണ് തടയലിലേക്ക് നയിക്കുന്നത്.
ഉപകരണം യഥാർത്ഥത്തിൽ എന്താണ് അളന്നതെന്ന് തിരിച്ചറിയുക
ഏറ്റവും സാധാരണമായ തെറ്റായ അലാറം ലിങ്ക്-ലോക്കൽ വിലാസമാണ്, അത് fe80: ൽ തുടങ്ങുന്നു, IPv6 പ്രാപ്തിയുള്ള എല്ലാ ഇന്റർഫേസിലും ഉണ്ട്, യന്ത്രത്തിന് IPv6 വഴി ഇന്റർനെറ്റിൽ എത്താനാകുമോ ഇല്ലയോ എന്നത് പ്രശ്നമല്ല. ഇന്റർഫേസ് പട്ടികകളിലും ചില ആപ്ലിക്കേഷൻ ഡയഗ്നോസ്റ്റിക്സിലും ഇത് കാണാം, നിങ്ങളുടെ ട്രാഫിക് പാതയെക്കുറിച്ച് ഒന്നും പറയുന്നുമില്ല.
രണ്ടാമത്തെ തെറ്റായ അലാറം fc00::/7 നുള്ളിൽ ഒരു അദ്വിതീയ ലോക്കൽ വിലാസമാണ്, അത് നെറ്റ്വർക്കിനുള്ളിൽ ഉപയോഗിക്കുന്ന സ്വകാര്യ ശ്രേണിയാണ്. ഹോസ്റ്റിന്റെ എല്ലാ വിലാസങ്ങളും പ്രിന്റ് ചെയ്യുന്ന ഉപകരണം അത് പൊതു വിലാസത്തിനൊപ്പം സന്തോഷത്തോടെ പട്ടികപ്പെടുത്തും. വേഗം വായിക്കുന്നയാൾ അതിനെ ലീക്ക് എന്ന് വിളിച്ച്, ഇല്ലാത്ത ഒരു പ്രശ്നത്തിന് ഒരു മണിക്കൂർ ചെലവഴിക്കുന്നു.
മൂന്നാമത്തേത് ഒട്ടും തെറ്റായ അലാറം അല്ല. ടണലിന് പുറത്ത് ഇന്റർനെറ്റിൽ എത്തുന്ന ആഗോള വിലാസമാണ് യഥാർത്ഥ ലീക്ക്, എന്തെങ്കിലും തീരുമാനിക്കുന്നതിന് മുമ്പ് അത് അളക്കുന്നത് മൂല്യവത്താണ്:
ip -6 addr show scope global
ip -6 route show default
curl -6 -sS --max-time 6 https://ifconfig.co
ആദ്യ കമാൻഡ് ആഗോള വിലാസം പ്രിന്റ് ചെയ്യുകയും മൂന്നാമത്തേത് ടണലിന്റേതല്ലാത്ത പൊതു IPv6 വിലാസം തിരികെ നൽകുകയും ചെയ്താൽ, ടണലിന് പുറത്ത് നിങ്ങൾക്ക് യഥാർത്ഥ പാതയുണ്ട്. ആദ്യത്തേത് ലിങ്ക്-ലോക്കൽ എൻട്രികളല്ലാതെ ഒന്നും പ്രിന്റ് ചെയ്യുന്നില്ലെങ്കിൽ, പരിഹരിക്കാൻ ലീക്ക് ഒരിക്കലും ഉണ്ടായിരുന്നില്ല.
നിയന്ത്രണം മൂന്ന് വ്യവസ്ഥകൾ തീരുമാനിക്കുന്നു
തീരുമാനം "IPv6 നല്ലത്" അല്ലെങ്കിൽ "IPv6 മോശം" എന്നതല്ല. തീരുമാനം നിങ്ങൾ മൂന്ന് സാഹചര്യങ്ങളിൽ ഏതിലാണ് എന്നതാണ്, ഓരോന്നിനും വ്യത്യസ്തമായ ശരിയായ ഉത്തരമുണ്ട്, തെറ്റ് വരുത്തിയാൽ വ്യത്യസ്ത ചെലവും.
| Situation | Correct control | Cost if you disable IPv6 instead |
|---|---|---|
| Exit has no IPv6, host does | Block IPv6 deliberately in the tunnel policy | Same visible result, no documentation of intent |
| Exit carries IPv6, host leaks | Route IPv6 into the tunnel and verify | You lose IPv6 reachability entirely |
| Access network is IPv6-only | Change nothing; use the tunnel's IPv6 | Machine loses connectivity completely |
ആദ്യ വരി ആളുകൾ സാധാരണ ഉദ്ദേശിക്കുന്നതാണ്, അത് ന്യായമാണ്. എക്സിറ്റിൽ IPv6 പിന്തുണയില്ലാത്ത ക്ലയന്റ് ഹോസ്റ്റിന്റെ സ്വന്തം IPv6 ട്രാഫിക് നിശബ്ദമായി പുറത്ത് വിടരുത്, കാരണം അതാണ് രേഖപ്പെടുത്തിയ ഡ്യുവൽ-സ്റ്റാക്ക് ലീക്ക്. കാര്യം അത് പ്രഖ്യാപിത നയമായി തടയുക എന്നതാണ്, കേർണലിൽ പ്രോട്ടോക്കോൾ ഓഫ് ചെയ്യുകയല്ല. കാണുന്ന ഫലം ഒന്നുതന്നെ, പിന്നീട് പരിശോധിക്കാനാകുന്നത് ഒന്ന് മാത്രം.
മൂന്നാമത്തെ വരിയിലാണ് പൊതുവായ ഉപദേശം സജീവമായി ദോഷകരമാകുന്നത്. മൊബൈൽ ഓപ്പറേറ്റർമാരും ചില വീട്ടു കണക്ഷനുകളും IPv4 ലക്ഷ്യങ്ങൾക്കായി വിവർത്തനത്തോടെ IPv6-only നെറ്റ്വർക്കുകൾ നടത്തുന്നു. അവിടെ IPv6 നീക്കം ചെയ്താൽ നെറ്റ്വർക്ക് വാഗ്ദാനം ചെയ്യുന്ന ഏക ഗതാഗതവും നീക്കം ചെയ്യും, അത് നിങ്ങൾ ഡീബഗ് ചെയ്തിരുന്ന തകരാറിനെക്കാൾ വളരെ മോശം തടസ്സം സൃഷ്ടിക്കുന്നു.
എക്സിറ്റിൽ IPv6 ഇല്ലെങ്കിൽ ബോധപൂർവം തടയുക
ക്ലയന്റിന്റെ സ്വന്തം സംവിധാനത്തിന് മുൻഗണന നൽകുക, കാരണം ടണൽ ഉയർന്നിരിക്കുന്നിടത്തോളം അത് കൃത്യമായി ബാധകമാകുന്നു, ടണൽ വീഴുമ്പോൾ പിൻവലിയുന്നു. OpenVPN ഇതിന് ഓപ്ഷൻ ഉണ്ട്, മറ്റ് ക്ലയന്റുകൾക്ക് iptables തത്തുല്യമായ നിയമം ഉണ്ട്:
block-ipv6
ip6tables -A OUTPUT -o eth0 -j REJECT --reject-with ipv6-port-unreachable
നിർദ്ദേശം പ്രൊഫൈലിൽ ഉള്ളതാണ്; നിയമം നിങ്ങൾക്ക് പരിശോധിച്ച് നീക്കാവുന്ന ഫയർവാളിൽ ഉള്ളതാണ്. രണ്ടും അടഞ്ഞ നിലയിൽ പരാജയപ്പെടുന്നു, അതാണ് നിങ്ങൾക്ക് വേണ്ടത്, രണ്ടും കോൺഫിഗറേഷൻ ഡിഫിൽ കാണാം, സ്റ്റാർട്ടപ്പ് സ്ക്രിപ്റ്റിൽ കുഴിച്ചിട്ട കേർണൽ sysctl കാണില്ല.
അത് എന്തിനാണെന്ന് രേഖപ്പെടുത്തുക. അഭിപ്രായമില്ലാത്ത തടയൽ നിയമം IPv6 മറ്റെന്തിനെങ്കിലും ആവശ്യമുള്ള അടുത്ത വ്യക്തി നീക്കം ചെയ്യും, പിന്നീട് ലീക്ക് നിശബ്ദമായി മടങ്ങും.
എക്സിറ്റ് IPv6 കൊണ്ടുപോകുന്നുവെങ്കിൽ അത് റൂട്ട് ചെയ്ത് രണ്ട് കുടുംബങ്ങളും പരിശോധിക്കുക
സെർവർ പിന്തുണയ്ക്കുന്നുവെങ്കിൽ IPv6 കൊണ്ടുപോകുന്നതാണ് മികച്ച ഉത്തരം, അത് അത്ര ബുദ്ധിമുട്ടല്ല. ആവശ്യകത എന്തെന്നാൽ ടണൽ ഇന്റർഫേസിന് ആ കുടുംബത്തിലെ വിലാസം ഉണ്ടായിരിക്കണം, അതിന്റെ ഡിഫോൾട്ട് റൂട്ട് ഫിസിക്കൽ ഇന്റർഫേസിന് പുറത്തല്ല, ടണലിനുള്ളിലേക്ക് ചൂണ്ടണം:
ip -6 route get 2606:4700:4700::1111
ip -6 route show default
curl -6 -sS --max-time 6 https://ifconfig.co
curl -4 -sS --max-time 6 https://ifconfig.co
റൂട്ട് അന്വേഷണമാണ് നിർണ്ണായക പരീക്ഷണം: അത് ടണൽ ഇന്റർഫേസ് പേരിട്ടാൽ IPv6 ട്രാഫിക് കൊണ്ടുപോകുന്നു. തുടർന്ന് രണ്ട് curl വിളികൾ ഓരോ കുടുംബവും എന്ത് കാണുന്നു എന്ന് സ്ഥിരീകരിക്കുന്നു, അവ താരതമ്യം ചെയ്യുന്നതാണ് രണ്ട് പാതകളും ഇപ്പോൾ ഒരേ എക്സിറ്റിലൂടെ പുറത്തുപോകുന്നു എന്ന് തെളിയിക്കാനുള്ള വഴി.
വിജയകരമായ കണക്ഷനിൽ നിർത്തരുത്. ടണൽ വീണ്ടും ബന്ധിപ്പിച്ച് വീണ്ടും പരിശോധിക്കുക, കാരണം സെർവർ അത് പ്രാരംഭ കോൺഫിഗറേഷനിൽ മാത്രം അയച്ചാൽ തള്ളിയ IPv6 റൂട്ട് പുനഃസ്ഥാപനത്തിൽ നഷ്ടപ്പെടാം. തുടർന്ന് ഒരു ഒഴിവാക്കിയ ലക്ഷ്യം പരിശോധിക്കുക, കാരണം സ്പ്ലിറ്റ്-ടണൽ നിയമങ്ങളിലാണ് രണ്ട് കുടുംബങ്ങളും ഏറ്റവും കൂടുതൽ വിയോജിക്കുന്നത്.
ആക്സസ് നെറ്റ്വർക്ക് IPv6 മാത്രമാണെങ്കിൽ അത് അവഗണിക്കുക
ചില നെറ്റ്വർക്കുകൾ IPv6 മാത്രം നൽകുന്നു, ഉപകരണം ഓപ്പറേറ്ററുടെ ഭാഗത്തെ വിവർത്തന സംവിധാനത്തിലൂടെ IPv4 സേവനങ്ങളിൽ എത്തുമെന്ന് പ്രതീക്ഷിക്കുന്നു. അത്തരം യന്ത്രത്തിൽ IPv6 നിർജ്ജീവമാക്കുന്നത് സുരക്ഷാ മെച്ചമല്ല; അത് എന്തിലേക്കും ഉള്ള ഏക പാത നീക്കം ചെയ്യുന്നു. ആർക്കും ആവശ്യമില്ലാത്ത ഒരു ടെസ്റ്റ് ഫലത്തിന് വേണ്ടി നിങ്ങൾ സ്വയം സൃഷ്ടിക്കുന്ന തടസ്സമാണത്.
ഇവിടെ തെറ്റ് വരുത്തുന്നതിന്റെ ലക്ഷണം വ്യതിരിക്തവും അസുഖകരവുമാണ്: ടണൽ സ്ഥാപിക്കുന്നതായി തോന്നുന്നു, നാമ വിശകലനം പ്രവർത്തിക്കുന്നു, ഒന്നും ലോഡ് ചെയ്യുന്നില്ല. IPv6 മാറ്റത്തിന് ശേഷം ഇത് കണ്ടാൽ ഉടൻ ക്രമീകരണം പുനഃസ്ഥാപിച്ച് ഡയഗ്നോസിസ് മറ്റെവിടെയോ തുടരുക.
എന്ത് തിരഞ്ഞെടുത്താലും തീരുമാനം പ്രൊഫൈലിലോ ഫയർവാളിലോ വ്യക്തമായി സൂക്ഷിക്കുക, എക്സിറ്റ് യഥാർത്ഥത്തിൽ പിന്തുണയ്ക്കുന്നതുമായി അത് ബന്ധിപ്പിക്കുക, കൂടാതെ RFC 7359 ഡ്യുവൽ-സ്റ്റാക്ക് ചർച്ച വിവരിക്കുന്ന ഡ്യുവൽ-സ്റ്റാക്ക് സ്വഭാവം രേഖപ്പെടുത്തുക. പ്രഖ്യാപിത തടയൽ ഒരു നയമാണ്. നിർജ്ജീവമാക്കിയ പ്രോട്ടോക്കോൾ ആർക്കും ഓഡിറ്റ് ചെയ്യാനാകാത്ത ഒരു വഴിമാറ്റമാണ്, ടെസ്റ്റ് പേജിൽ നിന്ന് രണ്ടും ഒരുപോലെ തോന്നും.