WireGuard പൂർണ ടണൽ: AllowedIPs 0.0.0.0/0 മതിയാകില്ല
0.0.0.0/0 ഉം ::/0 ഉം പിയർ എന്ത് വഹിക്കുന്നു എന്ന് മാത്രം തിരഞ്ഞെടുക്കുന്നു. ക്ലയന്റ് മാനേജർ, ഗേറ്റ്വേ ഫോർവേഡിംഗ്, DNS, പരാജയ നയം എന്നിവ ഇപ്പോഴും ക്രമീകരിക്കണം.
പിയറിന്റെ AllowedIPs-ൽ 0.0.0.0/0, ::/0 ഇടുന്നത് എല്ലാവരും ഓർക്കുന്ന ഘട്ടമാണ്, അത് പിയർ ഏത് ട്രാഫിക് വഹിക്കാം എന്ന് മാത്രം തീരുമാനിക്കുന്നു. ഈ പ്രിഫിക്സുകൾ ഒരു റൂട്ടും സൃഷ്ടിക്കുന്നില്ല, മറുവശത്ത് ഒന്നും ഫോർവേഡ് ചെയ്യുന്നില്ല, ഓരോ ആപ്ലിക്കേഷന്റെയും റിസോൾവറിനെ ഉണ്ടായിരുന്നിടത്ത് തന്നെ വിടുന്നു. പൂർണ ടണൽ യഥാർത്ഥത്തിൽ പൂർണമാകാൻ നാല് വേറിട്ട കാര്യങ്ങൾ ഒരേസമയം ശരിയാകണം, കൂടാതെ പിന്നീടുള്ള പരിശോധനയ്ക്ക് മുൻപത്തേതിനെ രക്ഷിക്കാനാകാത്തതിനാൽ അവ താഴെയുള്ള ക്രമത്തിൽ പരിശോധിക്കുന്നതാണ് നല്ലത്. താഴെയുള്ള ഓരോ പരിശോധനയും യന്ത്രത്തിൽ നിന്ന് വായിക്കാവുന്ന വസ്തുതയാണ്, പ്രയോഗിച്ചിട്ടുണ്ടെന്ന് നിങ്ങൾ പ്രതീക്ഷിക്കുന്ന ക്രമീകരണമല്ല.
പിയർ പ്രിഫിക്സ് എന്താണ് തിരഞ്ഞെടുക്കുന്നത്, എന്തല്ല
AllowedIPs ഒരേസമയം തിരഞ്ഞെടുക്കലും അനുമതിയുമാണ്. ഈ പിയറിലേക്ക് ഏത് ലക്ഷ്യസ്ഥാനങ്ങൾ അയക്കാമെന്ന് അത് പ്രാദേശിക വശത്തോട് പറയുന്നു, ഈ പിയർ ഏത് ഉറവിട വിലാസങ്ങൾ അവതരിപ്പിക്കാമെന്ന് സ്വീകരിക്കുന്ന വശത്തോട് പറയുന്നു. അതാണ് മുഴുവൻ ജോലി. ആ വിവരണത്തിൽ ഒന്നും ഹോസ്റ്റിൽ റൂട്ട് സൃഷ്ടിക്കുന്നില്ല, വിദൂര വശത്ത് ഫോർവേഡിംഗ് സജീവമാക്കുന്നില്ല, പേരുകളുടെ റിസൊല്യൂഷനെ തൊടുന്നില്ല.
അതുകൊണ്ടാണ് ഒരു കോൺഫിഗറേഷൻ പൂർണമായി തോന്നുകയും വിഭജിത ടണൽ പോലെ പെരുമാറുകയും ചെയ്യുന്നത്. പ്രിഫിക്സ് പറയുന്നത് പിയർ എല്ലാം സ്വീകരിക്കും എന്നാണ്; ഹോസ്റ്റിന്റെ റൂട്ടിംഗ് പട്ടികയാണ് അവിടേക്ക് യഥാർത്ഥത്തിൽ എന്ത് എത്തുന്നു എന്ന് തീരുമാനിക്കുന്നത്, ഗേറ്റ്വേ എന്തെങ്കിലും പുറത്തുപോകുന്നുണ്ടോ എന്ന് തീരുമാനിക്കുന്നു. ആ മൂന്ന് തീരുമാനങ്ങളിൽ ഒന്നും പിയർ വിഭാഗത്തിൽ ജീവിക്കുന്നില്ല.
പിയർ പട്ടിക മാത്രമല്ല, ക്ലയന്റിനെ റൂട്ട് ചെയ്യുക
ഉദാഹരണത്തിന് wg-quick പോലുള്ള മാനേജർമാർ ഹോസ്റ്റിന്റെ റൂട്ടിംഗ് പട്ടിക നിങ്ങൾക്കുവേണ്ടി പ്രോഗ്രാം ചെയ്യുന്നു, അതുകൊണ്ടാണ് രണ്ട് സമാന കോൺഫിഗറേഷൻ ഫയലുകൾ ഇന്റർഫേസ് എങ്ങനെ ഉയർന്നു എന്നതിനെ ആശ്രയിച്ച് വ്യത്യസ്തമായി പെരുമാറുന്നത്. ഏറ്റവും ചെറിയ പ്രൊഫൈൽ ഒറ്റയിരിപ്പിൽ വായിക്കാനുള്ളത്ര ചെറുതാണ്:
[Interface]
Address = 10.8.0.2/32
DNS = 10.8.0.1
[Peer]
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = vpn.example.net:51820
ജോലി രണ്ട് വിശദാംശങ്ങൾ വഹിക്കുന്നു. Address ഫീൽഡ് ക്ലയന്റ് തന്റേതെന്ന് കരുതുന്ന സബ്നെറ്റല്ല, ഒരൊറ്റ ഹോസ്റ്റ് പ്രിഫിക്സാണ്, സ്ഥിരസ്ഥിത AllowedIPs യഥാർത്ഥ സ്ഥിരസ്ഥിത റൂട്ടാക്കി മാറ്റുന്നത് മാനേജറാണ്. അതേ ഫയൽ ip link ഉം wg setconf ഉം ഉപയോഗിച്ച് ഉയർത്തുക, ഒരു റൂട്ടും പ്രത്യക്ഷപ്പെടില്ല, അത് തകർന്ന ടണൽ പോലെ തോന്നുമെങ്കിലും യഥാർത്ഥത്തിൽ റൂട്ടിംഗ് ഘട്ടം ഒഴിവാക്കിയ ആരോഗ്യകരമായ ടണലാണ്. wg-quick കൈപ്പുസ്തകം റൂട്ടിംഗും Table സ്വഭാവവും രേഖപ്പെടുത്തുന്നു, അത് ആ മാനേജർമാർ ചേർക്കുന്നു.
ഫയലല്ല, ഫലം വായിക്കുക: ip route get 1.1.1.1 ടണൽ ഇന്റർഫേസ് പേരിടേണ്ടതാണ്, wg show ചലിക്കുന്ന ട്രാൻസ്ഫർ കൗണ്ടറുള്ള സമീപകാല ഹാൻഡ്ഷേക്ക് റിപ്പോർട്ട് ചെയ്യേണ്ടതാണ്. റൂട്ടില്ലാത്ത ഹാൻഡ്ഷേക്ക് എന്നാൽ മാനേജർ ഒരിക്കലും ഓടിയിട്ടില്ല എന്നാണ്, പ്രൊഫൈൽ വീണ്ടും തിരുത്തിയാലും അത് ശരിയാകില്ല. ഉപയോക്താവ് ആരംഭിക്കുന്ന രീതിയിൽ തന്നെ ഇന്റർഫേസ് ആരംഭിക്കുക, അല്ലെങ്കിൽ പരീക്ഷണം വിന്യാസത്തിനുപകരം നിങ്ങളുടെ ഷെൽ അളക്കും.
എൻഡ്പോയിന്റ് ടണലിന് പുറത്ത് നിർത്തുക
പൂർണ ടണൽ നിലനിൽക്കാൻ സംസാരിക്കേണ്ട ലക്ഷ്യസ്ഥാനം ഉൾപ്പെടെ എല്ലാ ലക്ഷ്യസ്ഥാനങ്ങളും പിടിക്കുന്നു. യഥാർത്ഥ ഗേറ്റ്വേയിലൂടെ എൻഡ്പോയിന്റിന് ഒരു ഹോസ്റ്റ് റൂട്ട് ചേർത്താണ് മാനേജർമാർ അത് കൈകാര്യം ചെയ്യുന്നത്, അതുകൊണ്ടാണ് ശരിയായ കോൺഫിഗറേഷനിൽ മിക്കവാറും എപ്പോഴും ഒരു ബോധപൂർവമായ ഒഴിവ് ഉണ്ടാകുന്നത്. പകുതി കോൺഫിഗറേഷൻ മാനേജർ ഉപയോഗിച്ചും ബാക്കി പകുതി കൈകൊണ്ടും പ്രയോഗിക്കുന്നതാണ് ഈ ഒഴിവ് നഷ്ടമാകുന്ന സാധാരണ വഴി.
എൻഡ്പോയിന്റ് ഒന്നിലധികം വിലാസങ്ങളിലേക്കോ നിങ്ങൾ വഹിക്കാത്ത കുടുംബത്തിലേക്കോ പരിഹരിക്കുന്ന ഹോസ്റ്റ്നെയിമാണെങ്കിൽ, ഒഴിവ് മോശമായി പഴകുകയും സാധാരണമെന്ന് തോന്നിയ വീണ്ടും-കണക്ഷന് ശേഷം ടണൽ പരാജയപ്പെടാം. എൻഡ്പോയിന്റ് നിങ്ങൾ നിയന്ത്രിക്കുന്ന വിലാസത്തിൽ പിന്ന് ചെയ്യുക, അല്ലെങ്കിൽ മാനേജർ അത് വീണ്ടും വിലയിരുത്തുന്നുവെന്ന് ഉറപ്പാക്കുക, ഓരോ നെറ്റ്വർക്ക് മാറ്റത്തിനും ശേഷം ഹോസ്റ്റ് റൂട്ട് വീണ്ടും വായിക്കുക.
അതേ സംവിധാനം പൂർണ ടണലും ക്യാപ്റ്റീവ് പോർട്ടലും എന്തുകൊണ്ട് കലഹിക്കുന്നു എന്ന് വിശദീകരിക്കുന്നു. ഇപ്പോൾ നിങ്ങളുടെ ടണൽ പിടിക്കുന്ന ട്രാഫിക് തടയാൻ പോർട്ടൽ പ്രതീക്ഷിക്കുന്നു, അതിനാൽ ഹോട്ടൽ, വിമാനത്താവള നെറ്റ്വർക്കുകളിൽ പോർട്ടൽ ലോഗിന് ശേഷം ടണൽ ഉയർത്തുന്നു, അതിന് മുമ്പ് ഒരിക്കലുമല്ല.
ഗേറ്റ്വേയിലെ ഫോർവേഡിംഗും മടക്കപ്പാതയും
ഗേറ്റ്വേയിൽ, നിങ്ങൾ വഹിക്കുന്ന കുടുംബത്തിന് ഫോർവേഡിംഗ് സജീവമാക്കുക, വിവർത്തനം ചെയ്യുമ്പോൾ forward ശൃംഖല രണ്ട് ദിശകളിലും അനുവദിക്കുക, ഉറവിട-നിർദ്ദിഷ്ട തിരയലിലൂടെ മടക്കപ്പാത ഉറപ്പാക്കുക. ഇവയൊന്നും വിജയകരമായ ഹാൻഡ്ഷേക്കിൽ നിന്ന് ഉരുത്തിരിയുന്നില്ല, കാരണം ഹാൻഡ്ഷേക്ക് രണ്ട് പിയറുകൾക്ക് UDP കൈമാറാമെന്ന് മാത്രം തെളിയിക്കുന്നു. ഡീകാപ്സുലേറ്റ് ചെയ്ത പാക്കറ്റിന് ശേഷം എന്ത് സംഭവിക്കുന്നു എന്ന് അത് ഒന്നും പറയുന്നില്ല.
sysctl net.ipv4.ip_forward net.ipv6.conf.all.forwarding
ip route get 1.1.1.1 from 10.8.0.2
തിരയൽ ക്ലയന്റിലല്ല, ഗേറ്റ്വേയിൽ പ്രവർത്തിക്കുന്നു, അല്ലെങ്കിൽ നിങ്ങൾ മറ്റൊരു റൂട്ടിംഗ് പട്ടിക വായിക്കും. അത് തെറ്റായ ഇന്റർഫേസ് പേരിട്ടാൽ, അല്ലെങ്കിൽ റൂട്ട് ഇല്ലെന്ന് റിപ്പോർട്ട് ചെയ്താൽ, ക്ലയന്റ് വശത്തെ ഒരു മാറ്റവും ഇന്റർനെറ്റ് എക്സിറ്റ് സൃഷ്ടിക്കില്ല. ഗേറ്റ്വേ പുറത്തുപോകുമ്പോൾ ക്ലയന്റ് വിലാസങ്ങൾ വിവർത്തനം ചെയ്താൽ, മറുപടി ആ വിവർത്തനാവസ്ഥയെ ആശ്രയിച്ചിരിക്കുന്നു, അതിനാൽ നിയമം പ്രവാഹത്തിന്റെ പുറത്തുപോകുന്ന ദിശയ്ക്ക് മാത്രമല്ല, രണ്ട് ദിശകൾക്കും നിലനിൽക്കണം.
DNS-ഉം പരാജയാവസ്ഥയും, വെവ്വേറെ പരീക്ഷിച്ചത്
പ്രോട്ടോക്കോൾ തന്നെ ഒരു ആപ്ലിക്കേഷന്റെയും റിസോൾവർ ക്രമീകരിക്കുന്നില്ല. wg-quick വിതരണത്തിന്റെ റിസോൾവർ സംയോജനത്തിലൂടെ DNS വരി പ്രയോഗിക്കുന്നു, സ്വന്തം സ്റ്റാക്കുള്ള കണ്ടെയ്നറുകൾക്കും ബ്രൗസറുകൾക്കും അത് അവഗണിക്കാം, അതിനാൽ ടണൽ പാക്കറ്റുകൾ അനായാസം വഹിക്കുമ്പോഴും ഒരു പേര് പരാജയപ്പെടാം. വിലാസത്തിനുപകരം ഹോസ്റ്റ്നെയിം ഉപയോഗിച്ച് പരീക്ഷിക്കുക, പ്രൊഫൈലിലെ സെർവർ മറുപടി നൽകി എന്ന് അനുമാനിക്കുന്നതിനുപകരം ഏത് സെർവർ മറുപടി നൽകി എന്ന് രേഖപ്പെടുത്തുക.
വിലാസ കുടുംബങ്ങൾ വെവ്വേറെ ഉത്തരമുള്ള വെവ്വേറെ പരീക്ഷണമാണ്. v4 സ്ഥിരസ്ഥിത റൂട്ട് ഒരു ആപ്ലിക്കേഷന്റെ v6 കണക്ഷൻ എന്ത് ചെയ്യും എന്ന് ഒന്നും പറയുന്നില്ല, രണ്ടാമത്തെ കുടുംബം നിശബ്ദമായി ചോരുന്ന ടണൽ ഉച്ചത്തിൽ പരാജയപ്പെടുന്ന ടണലിനേക്കാൾ മോശമാണ്. ഓരോ കുടുംബത്തിലൂടെയും ഒരു പേര് ചോദിക്കുക, ഓരോ അഭ്യർത്ഥനയും ഉപയോഗിച്ച ഇന്റർഫേസ് വായിക്കുക, വിവർത്തന കൗണ്ടറുകൾ മുമ്പും ശേഷവും പരിശോധിക്കുക, കാരണം ഒന്നിനോടും പൊരുത്തപ്പെടാത്ത നിയമം കാണാത്ത നിയമം പോലെ തന്നെ കാണപ്പെടുന്നു.
അവസാനം, ടണൽ നിൽക്കുമ്പോൾ നിങ്ങൾ ആഗ്രഹിക്കുന്ന അവസ്ഥ പരീക്ഷിക്കുക. പൂർണ ടണൽ അത് അവകാശപ്പെടുന്ന ട്രാഫിക്കിന് അടച്ച് പരാജയപ്പെടണം: ഇന്റർഫേസ് താഴേക്ക് പോകുകയും ആപ്ലിക്കേഷനുകൾ ഭൗതിക ലിങ്കിലൂടെ നിശബ്ദമായി തുടരുകയും ചെയ്താൽ, രൂപകൽപ്പന അധിക ഘട്ടങ്ങളുള്ള വിഭജിത ടണലാണ്. ഉദ്ദേശിച്ച പരാജയ സ്വഭാവം എഴുതുക, ബോധപൂർവം പരിശോധിക്കുക, നാല് ഉത്തരങ്ങൾ രേഖപ്പെടുത്തി അവസാനിപ്പിക്കുക — ഏത് മാനേജർ ഇന്റർഫേസ് ഉയർത്തുന്നു, ഏത് റൂട്ട് സ്ഥിരസ്ഥിതി വഹിക്കുന്നു, ഗേറ്റ്വേയിൽ ആരാണ് ഫോർവേഡ് ചെയ്ത് വിവർത്തനം ചെയ്യുന്നത്, ഏത് റിസോൾവർ മറുപടി നൽകുന്നു.