Linux-ൽ VPN ആരംഭിക്കുമ്പോൾ യഥാർത്ഥത്തിൽ എന്തു സംഭവിക്കുന്നു
Linux-ൽ VPN ആരംഭിക്കുന്നത് ഒരു ഇന്റർഫേസ് സൃഷ്ടിക്കുന്നു, റൂട്ടുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നു, റിസോൾവർ മാറ്റുന്നു. ഓരോ ഘട്ടവും ഏതു സേവനത്തിന്റെ ഉടമസ്ഥതയിലാണെന്ന് അറിയുന്നത് മിക്ക സെറ്റപ്പ് പരാജയങ്ങളും വിശദീകരിക്കുന്നു.
കണക്ട് അമർത്തുക, Linux മെഷീനിൽ മൂന്നു കാര്യങ്ങൾ മാറുന്നു: ഒരു ഇന്റർഫേസ് പ്രത്യക്ഷപ്പെടുന്നു, റൂട്ടുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നു, റിസോൾവർ വ്യത്യസ്തമായി ഉത്തരം നൽകാൻ തുടങ്ങുന്നു. മിക്ക സെറ്റപ്പ് പരാജയങ്ങളും ആ മൂന്നിൽ ഒന്ന് മറ്റുള്ളവയില്ലാതെ സംഭവിക്കുന്നതിൽ നിന്നോ, രണ്ടു പ്രോഗ്രാമുകൾ അവയുടെ ഉടമസ്ഥതയെപ്പറ്റി യോജിക്കാത്തതിൽ നിന്നോ ഉണ്ടാകുന്നു. ക്രമം മനസ്സിലാക്കുന്നത് ക്ലൈന്റിന്റെ ലോഗ് ഔട്ട്പുട്ട് വായിക്കുന്നതിനേക്കാൾ വേഗത്തിൽ പരാജയം വിശദീകരിക്കുന്നു.
എന്തെങ്കിലും പ്രവർത്തിക്കുന്നതിനു മുൻപേ ഒരു ഇന്റർഫേസ് പ്രത്യക്ഷപ്പെടുന്നു
ഒരു ടണൽ ക്ലൈന്റ് ഒരു വെർച്വൽ ഇന്റർഫേസ് തുറന്ന് അതിനു പാക്കറ്റുകൾ നൽകുന്നു. TUN ഉപകരണം IP പാക്കറ്റുകൾ വഹിക്കുന്നു, റൂട്ടഡ് VPN-ന് അതാണ് വേണ്ടത്; TAP ഉപകരണം Ethernet ഫ്രെയിമുകൾ വഹിക്കുന്നു, ബ്രിഡ്ജ്ഡ് ഡിസൈനിന് അതാണ് വേണ്ടത്. കേർണൽ മൊഡ്യൂൾ ഉപകരണം നൽകുന്നു, സെഷൻ നീളുന്നിടത്തോളം ക്ലൈന്റ് അതിന്റെ ഉടമയാണ്.
ഇന്റർഫേസ് ഉയരുന്നത് ടണൽ പ്രവർത്തിക്കുന്നതിനു തുല്യമല്ല. പിയർ എത്തിച്ചേരാനാകാത്തപ്പോഴും അത് വിലാസത്തോടെ നിലനിൽക്കാം, അതുകൊണ്ടാണ് ഇന്റർഫേസ് പട്ടിക അവസാനത്തേതല്ല, ആദ്യത്തെ പരിശോധനയാകുന്നത്. താൻ ഉയർന്നു നിൽക്കുന്നു എന്ന് റിപ്പോർട്ട് ചെയ്യുന്ന ഉപകരണം വെർച്വൽ ലിങ്കിനെക്കുറിച്ചുള്ള കേർണലിന്റെ കാഴ്ച്ച വിവരിക്കുന്നു, പിയറിന്റെ ഉത്തരം നൽകാനുള്ള തയ്യാറെടുപ്പല്ല.
നൽകിയ ഇന്റർഫേസ് മോഡ് അതേപടി വിടുക. TUN പ്രൊഫൈൽ TAP ആക്കുന്നത് റൂട്ടഡ് സെർവറെ ബ്രിഡ്ജ്ഡ് ആക്കുന്നില്ല, സാധാരണയായി സ്ഥാപിക്കപ്പെടുകയും ഒന്നും കൈമാറാതിരിക്കുകയും ചെയ്യുന്ന ഒരു കണക്ഷൻ ഉണ്ടാക്കുന്നു.
റൂട്ടുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നത് ടണലിന്റെ ഉടമയാണ്
റൂട്ടുകൾ രണ്ടാമത്തെ മാറ്റമാണ്, അവയുടെ ഉടമസ്ഥത അവയുടെ ഉള്ളടക്കത്തേക്കാൾ പ്രധാനമാണ്. NetworkManager പ്രൊഫൈൽ, systemd യൂണിറ്റ്, കൈകൊണ്ട് പ്രവർത്തിപ്പിച്ച ക്ലൈന്റ് എന്നിവയ്ക്കെല്ലാം റൂട്ടുകൾ ഇൻസ്റ്റാൾ ചെയ്യാം, അവയിൽ രണ്ടെണ്ണം ഒരേസമയം ചെയ്താൽ പിന്നീട് ആർക്കും വിശദീകരിക്കാനാകാത്ത ഒരു പട്ടിക ഉണ്ടാകുന്നു.
ip -br addr show ip route show ip -6 route show
പൂർണ്ണ ടണൽ പ്രൊഫൈൽ ഡിഫോൾട്ട് റൂട്ട് മാറ്റിസ്ഥാപിക്കുന്നു; സ്പ്ലിറ്റ് ടണൽ പ്രൊഫൈൽ കൂടുതൽ നിർദ്ദിഷ്ട റൂട്ടുകൾ ചേർക്കുകയും ഡിഫോൾട്ട് അതേപടി വിടുകയും ചെയ്യുന്നു. രണ്ടും സാധാരണമാണ്, രണ്ടാമത്തേതാണ് വിദൂരത്തുനിന്ന് നിയന്ത്രിക്കുന്ന യന്ത്രത്തിൽ ഡിഫോൾട്ട് റൂട്ട് ഇല്ലാതാക്കുന്നത് മോശം ആദ്യ പരീക്ഷയാകാനുള്ള കാരണം. അത് നീക്കം ചെയ്യുന്നത് പ്രശ്നം പരിഹരിക്കാൻ ഉപയോഗിക്കുന്ന സെഷൻ നഷ്ടപ്പെടുത്താനുള്ള ഏറ്റവും വേഗതയുള്ള വഴിയുമാണ്.
അനുമാനിക്കാതെ പട്ടിക വായിക്കുക. കൂടുതൽ നിർദ്ദിഷ്ട റൂട്ടോ പോളിസി നിയമമോ ട്രാഫിക് ടണലിലേക്ക് അയയ്ക്കാം, അതേസമയം ഡിഫോൾട്ട് റൂട്ട് ഇപ്പോഴും ഫിസിക്കൽ ഇന്റർഫേസിലേക്ക് ചൂണ്ടുന്നു, ഇത് പൂർണ്ണ പട്ടിക വായിക്കുന്നതുവരെ വിരുദ്ധമായി തോന്നും. ആ സംയോജനം സ്പ്ലിറ്റ് ടണലിന് സാധാരണമാണ്, ഒരു വരി ഡിസൈൻ വിശദീകരിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നവർക്ക് ആശയക്കുഴപ്പമുണ്ടാക്കുന്നു. നിങ്ങളുടെ യഥാർത്ഥ ലക്ഷ്യസ്ഥാനവുമായി യോജിക്കുന്ന റൂട്ട് തിരയുക, ഡയഗ്രാമുമായി യോജിക്കുന്നതല്ല.
റിസോൾവർ കൈ മാറുന്നു
DNS മൂന്നാമത്തെ മാറ്റമാണ്, നിങ്ങൾ നോക്കാത്ത ഒരിടത്ത് കൈകാര്യം ചെയ്യപ്പെടാൻ ഏറ്റവും സാധ്യതയുള്ളതും. ഡെസ്ക്ടോപ്പിൽ NetworkManager ഓരോ കണക്ഷനും റിസോൾവർ ക്രമീകരണങ്ങൾ അയയ്ക്കാം. systemd-resolved ഉപയോഗിക്കുന്ന സിസ്റ്റത്തിൽ ക്രമീകരണങ്ങൾ ഓരോ ലിങ്കിനും ബാധകമാകുന്നു, /etc/resolv.conf ഒരു സ്റ്റബ് അല്ലെങ്കിൽ സിംബോളിക് ലിങ്ക് ആകാം, നിങ്ങൾ തിരുത്തേണ്ട ഫയലല്ല.
resolvectl status readlink -f /etc/resolv.conf cat /etc/resolv.conf
റിസോൾവർ ഫയലിലേക്കുള്ള കൈകൊണ്ടുള്ള തിരുത്തൽ വീണ്ടും കണക്ട് ചെയ്തതിനു ശേഷം അപ്രത്യക്ഷമായാൽ, അത് അത് പരിപാലിക്കുന്ന ഘടകം കണ്ടെത്തി പകരം പ്രൊഫൈൽ മാറ്റാനുള്ള സൂചനയാണ്. ജനറേറ്റ് ചെയ്ത ഫയൽ തിരുത്തുന്നത് വീണ്ടും കണക്ട് ചെയ്യുമ്പോൾ മായ്ക്കപ്പെടുന്ന മാറ്റമാണ്.
സ്വകാര്യ നാമങ്ങൾക്ക് സാധാരണയായി ആന്തരിക റിസോൾവറും ഓപ്പറേറ്റർ നൽകിയ സെർച്ച് ഡൊമെയ്നുകളും ആവശ്യമാണ്. പൊതു റിസോൾവർ പകരം വയ്ക്കുന്നത് VPN നിലനിൽക്കുന്ന അതേ റിസോഴ്സ് തന്നെ തകർക്കാം, ലക്ഷണം DNS പരാജയത്തെക്കാൾ റൂട്ടിംഗ് പരാജയമായി തോന്നുന്നു. നാമവും വിലാസവും വെവ്വേറെ പരിശോധിക്കുക, കാരണം ഒന്നു പ്രവർത്തിക്കുകയും മറ്റൊന്ന് പരാജയപ്പെടുകയും ചെയ്യുന്നത് എവിടെ നോക്കണമെന്ന് കൃത്യമായി പറയുന്നു. ആ ഒരു താരതമ്യം ഒരു മണിക്കൂർ റൂട്ട് ഡീബഗ്ഗിംഗ് ലാഭിക്കുന്നു.
ഓരോ കണക്ഷനും ഒരു മാനേജർ
പ്രൊഫൈൽ ഫോർമാറ്റാണ് ഏതു പ്രോഗ്രാമിന് ഇത് ഉപയോഗിക്കാമെന്ന് തീരുമാനിക്കുന്നത്. OpenVPN പ്രൊഫൈലിന് OpenVPN അല്ലെങ്കിൽ പൊരുത്തപ്പെടുന്ന പ്ലഗിൻ ആവശ്യമാണ്, WireGuard കോൺഫിഗറേഷന് പിയർ കീകളും അനുവദിച്ച പ്രിഫിക്സുകളുമുള്ള സ്വന്തം ഫോർമാറ്റുണ്ട്. ഫയൽ എക്സ്റ്റൻഷൻ എന്തു സൂചിപ്പിച്ചാലും, ഇംപോർട്ട് ഡയലോഗ് ഒന്നിനെ മറ്റൊന്നാക്കി വിവർത്തനം ചെയ്യുന്നില്ല.
ഒരു മാനേജർ തിരഞ്ഞെടുത്ത് കണക്ഷന്റെ ഉടമസ്ഥത അതിന് നൽകുക. ഒരേ ടണൽ രണ്ടു ടൂളുകളിലൂടെ ഉയർത്തുന്നത് റൂട്ട് പട്ടികയും വീണ്ടും കണക്ട് ചെയ്യുന്ന സ്വഭാവവും അവ്യക്തമാക്കുന്നു, സാധാരണയായി രണ്ടാമത് ആരംഭിക്കുന്നത് പുനർനിർമ്മിക്കാൻ ബുദ്ധിമുട്ടുള്ള രീതികളിൽ വിജയിക്കുന്നു.
നിങ്ങളുടെ ഡിസ്ട്രിബ്യൂഷൻ പിന്തുണയ്ക്കുന്ന പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്ത് ഓപ്പറേറ്ററിൽ നിന്ന് പ്രൊഫൈൽ നേടുക. അതിനെ ഒരു ക്രെഡൻഷ്യലായി കണക്കാക്കുക, കാരണം അതിൽ സാധാരണയായി ഒരു സ്വകാര്യ കീ അല്ലെങ്കിൽ തത്തുല്യമായ വസ്തു അടങ്ങിയിരിക്കുന്നു, നിങ്ങളുടെ ബാക്കി രഹസ്യങ്ങൾ കഴിയുന്നിടത്ത് അത് സൂക്ഷിക്കുക. ഡൗൺലോഡ് ഫോൾഡറിൽ വിട്ടിട്ടുള്ള പ്രൊഫൈൽ മേശപ്പുറത്ത് വിട്ടിട്ടുള്ള താക്കോലാണ്.
ഉയർന്നു നിൽക്കുന്നെങ്കിലും പ്രവർത്തിക്കുന്നില്ലെങ്കിൽ എന്തു പരിശോധിക്കണം
ഇന്റർഫേസ് ഉയർന്നു നിൽക്കുകയും ക്ലൈന്റ് വിജയം റിപ്പോർട്ട് ചെയ്യുകയും ചെയ്യുമ്പോൾ, പുറത്തേക്കു പ്രവർത്തിക്കുക: റൂട്ട് പട്ടിക ലക്ഷ്യസ്ഥാനത്തിന് ടണൽ തിരഞ്ഞെടുക്കുന്നുണ്ടോ, റിസോൾവർ സ്വകാര്യ നാമത്തിന് ഉത്തരം നൽകുന്നുണ്ടോ, എതിർവശത്തിന് മടക്കുവഴിയുണ്ടോ. ഓരോന്നിനും വെവ്വേറെ കമാൻഡും വെവ്വേറെ ഉടമയുമുണ്ട്.
nmcli connection show --active nmcli device status wg show
nmcli റെഫറൻസ് പൂർണ്ണ സെറ്റ് വേണമെങ്കിൽ സ്റ്റാറ്റസ്, കണക്ഷൻ കമാൻഡുകൾ രേഖപ്പെടുത്തുന്നു. ഇവിടെ പ്രധാനമായത് ഒരു പ്രൊഫൈൽ സജീവമായിരിക്കുന്നതും ഒരു ഉപകരണം ട്രാഫിക് വഹിക്കുന്നതും തമ്മിലുള്ള വ്യത്യാസമാണ്, കാരണം രണ്ടും വിയോജിക്കാം.
സെറ്റപ്പ് പൂർത്തിയായി എന്നു പറയുന്നതിനു മുൻപ് അതേ മാനേജരിലൂടെ ഒരിക്കൽ വീണ്ടും കണക്ട് ചെയ്യുക, ഡിസ്കണക്ടിനു ശേഷവും DNS പ്രവർത്തിക്കുന്നുണ്ടെന്ന് പരിശോധിക്കുക. ആദ്യ നെറ്റ്വർക്ക് മാറ്റം വരെ മാത്രം പ്രവർത്തിക്കുന്ന ഒരു കോൺഫിഗറേഷൻ പൂർത്തിയായിട്ടില്ല, അത് ഈ നിമിഷം മാത്രം പ്രവർത്തിക്കുന്നു.