WireGuard-ന് അതിന്റെ ഇന്റർഫേസ് സൃഷ്ടിക്കാൻ കഴിയുന്നില്ല: കേർണൽ അല്ലെങ്കിൽ അനുമതി?
ഏതെങ്കിലും പിയർ ഹാൻഡ്ഷേക്കിന് മുമ്പേ ഇന്റർഫേസ് സൃഷ്ടിക്കൽ പരാജയപ്പെടുന്നു. കാണാത്ത മൊഡ്യൂളിനെ അനുമതി പരിധിയിൽ നിന്നോ നിലവിലുള്ള ഇന്റർഫേസ് ഉടമയിൽ നിന്നോ വേർതിരിക്കാൻ പിശക് വായിക്കുക.
WireGuard-ന് അതിന്റെ ഇന്റർഫേസ് സൃഷ്ടിക്കാൻ കഴിയുന്നില്ല, അതിനാൽ കോൺഫിഗർ ചെയ്യാൻ ഉപകരണമില്ല, കൈമാറാൻ കീയില്ല, ഡീബഗ് ചെയ്യാൻ ഹാൻഡ്ഷേക്കുമില്ല. പരാജയം പൂർണമായും പ്രാദേശിക മെഷീനിൽ തന്നെ നിൽക്കുന്നു, കൂടാതെ പിശകിന്റെ പാഠം പ്രാദേശിക സ്റ്റാക്കിന്റെ ഏത് ഭാഗം നിരസിച്ചു എന്ന് പറയുന്നു. അത് ശരിയായി വായിക്കുന്നത് പിയറിന്റെ കോൺഫിഗറേഷൻ പുനഃസ്ഥാപിക്കുന്നതിനേക്കാൾ വേഗമാണ്. പാളികൾ വേർതിരിക്കാം, സന്ദേശം നിരസിച്ച പാളിയെ പേരെടുത്ത് പറയുന്നു.
ഏതെങ്കിലും പിയർ സംസാരിക്കുന്നതിന് മുമ്പേ പിശക് സംഭവിക്കുന്നു
ഇന്റർഫേസ് സൃഷ്ടിക്കുക എന്നത് wireguard തരത്തിലുള്ള ഉപകരണത്തിനായി കേർണലിനോടുള്ള ഒരു netlink അഭ്യർത്ഥനയാണ്. കേർണലിന് ആ തരം മനസ്സിലാക്കുന്ന ഡ്രൈവർ ഉണ്ടാകാം അല്ലെങ്കിൽ ഇല്ലായിരിക്കാം, ഉത്തരം ഉടൻ തിരികെ വരുന്നു. ഈ ഘട്ടത്തിൽ ഒരു പാക്കറ്റും മെഷീൻ വിട്ടുപോകുന്നില്ല, അതിനാൽ എൻഡ്പോയിന്റ് വിലാസങ്ങളും സെർവർ കീകളും കാരണമാകാൻ കഴിയില്ല.
ഈ ക്രമം രോഗനിർണയത്തിന് പ്രധാനമാണ്. കമാൻഡ് ഒരിക്കലും ഉപകരണം സൃഷ്ടിച്ചിട്ടില്ലെങ്കിൽ, പ്രശ്നം തെറ്റായ പൊതു കീയോ തടഞ്ഞ UDP പോർട്ടോ ആകാൻ കഴിയില്ല. ആദ്യം പ്രാദേശിക സൃഷ്ടി പാത ശരിയാക്കുക, അതിനുശേഷം മാത്രം പുറത്തേക്ക് നോക്കുക.
ഏത് നടപ്പാക്കലാണ് ഉപകരണത്തിന്റെ ഉടമസ്ഥതയിൽ ഇരിക്കേണ്ടത്
ആ അഭ്യർത്ഥനയ്ക്ക് രണ്ട് നടപ്പാക്കലുകൾക്ക് ഉത്തരം നൽകാം. കേർണലിനുള്ളിലെ മൊഡ്യൂൾ wireguard ഉപകരണ തരം രജിസ്റ്റർ ചെയ്യുന്നു, wireguard-go പോലുള്ള ഉപയോക്തൃ സ്ഥല നടപ്പാക്കൽ മറ്റൊരു സംവിധാനത്തിലൂടെ അതേ ഇന്റർഫേസ് നൽകുന്നു. മൊഡ്യൂൾ ഇല്ലെങ്കിൽ, കേർണൽ പിന്തുണയില്ലാത്ത ഉപകരണത്തിന്റെ പിശകോടെ അഭ്യർത്ഥന നിരസിക്കുന്നു, പരിഹാരം മൊഡ്യൂൾ ലോഡ് ചെയ്യുകയോ ഉപകരണങ്ങളെ ഉപയോക്തൃ സ്ഥല നടപ്പാക്കലിലേക്ക് തിരിച്ചുവിടുകയോ ആണ്.
രണ്ടിനും ഇടയിൽ തിരഞ്ഞെടുക്കുന്നതിന് മുമ്പ് യഥാർത്ഥത്തിൽ എന്താണുള്ളതെന്ന് പരിശോധിക്കുക. ആദ്യ കമാൻഡ് മൊഡ്യൂൾ ലോഡ് ചെയ്തിട്ടുണ്ടോ എന്ന് കാണിക്കുന്നു, രണ്ടാമത്തേത് കേർണലിനോട് നേരിട്ട് ചോദിക്കുന്നു:
lsmod | grep wireguard
ip link add wgtest0 type wireguard
രണ്ടാമത്തെ കമാൻഡ് സാധ്യമായ ഏറ്റവും ചെറിയ പുനരുൽപാദനമാണ്: അത് ഒരു ഉപകരണം മാത്രം ആവശ്യപ്പെടുന്നു, മറ്റൊന്നുമല്ല. പിന്തുണയില്ലാത്ത തരം എന്ന സന്ദേശത്തോടെ അത് പരാജയപ്പെട്ടാൽ, കാണാത്ത ഭാഗം നടപ്പാക്കലാണ്, നിങ്ങളുടെ കോൺഫിഗർ ഫയലല്ല.
| Error text | What refused | Next step |
|---|---|---|
| Unknown device type or operation not supported | The kernel has no wireguard driver | Load the module or use the userspace implementation |
| Operation not permitted | Missing privilege | Use the service context or grant the capability |
| File exists | The name is already in use | Inspect the owner before touching it |
| No such device in a container | No tunnel device or capability | Add the device and NET_ADMIN to the container |
അനുമതികളും കണ്ടെയ്നർ പരിധികളും
നെറ്റ്വർക്ക് ഉപകരണം സൃഷ്ടിക്കാനും കോൺഫിഗർ ചെയ്യാനും അനുമതി വേണം, ഒന്നുകിൽ root ആയി അല്ലെങ്കിൽ നെറ്റ്വർക്ക് നിർവഹണ ശേഷിയോടെ. സാധാരണ ഉപയോക്തൃ സെഷന് അത് ചെയ്യാനാകില്ല, ഈ നിയന്ത്രണം രൂപകൽപ്പന തന്നെയാണ്, നിങ്ങൾ പരിശോധിക്കാത്ത ഇൻസ്റ്റാളർ ഓടിച്ച് ഒഴിവാക്കേണ്ട തടസ്സമല്ല.
കണ്ടെയ്നറിനുള്ളിൽ പരിധി ഇരട്ടിയാകുന്നു. കണ്ടെയ്നറിന് ടണൽ ഉപകരണത്തിലേക്കുള്ള പ്രവേശനവും അത് കോൺഫിഗർ ചെയ്യാനുള്ള ശേഷിയും വേണം, അത് നൽകുന്ന ഫ്ലാഗുകൾ Linux-ലെ VPN കണ്ടെയ്നർ ഉപയോഗിക്കുന്നവ തന്നെയാണ്. സാധാരണയായി വെബ് ബ്രൗസ് ചെയ്യാൻ കഴിയുന്ന നിയന്ത്രിത അതിഥിക്കും ഇന്റർഫേസ് സൃഷ്ടിക്കാനാകില്ല, കാരണം ബ്രൗസിംഗിന് അത്തരം ശേഷി വേണ്ടതില്ല. ശേഷി അത് ആവശ്യമുള്ള സേവനത്തിന് നൽകുക, ഹോസ്റ്റിലെ ഓരോ സെഷനും അല്ല.
പേര് സംഘർഷം പരിഹരിച്ച ശേഷം വീണ്ടും ശ്രമിക്കുക
ഇപ്പോൾത്തന്നെ നിലവിലുള്ള ഇന്റർഫേസ് സ്വയമേവ ഒരു അവശിഷ്ടമല്ല. മറ്റൊരു മാനേജർക്ക് പേരിന്റെ ഉടമസ്ഥത ഉണ്ടാകാം, ഇപ്പോൾ അത് ഉപയോഗിക്കുന്നുമാകാം, അതിനാൽ എന്തെങ്കിലും നീക്കം ചെയ്യുന്നതിന് മുമ്പ് അത് പരിശോധിക്കുക:
ip link show wg0
sudo wg show wg0
ഉടമ ഒരു സജീവ സേവനമാണെങ്കിൽ, രണ്ടാമത്തെ ഉപകരണം സൃഷ്ടിക്കുന്നതിന് പകരം ആ സേവനം കോൺഫിഗർ ചെയ്യുക. അത് ശരിക്കും പഴഞ്ചനാണെങ്കിൽ, അത് സൃഷ്ടിച്ച ഉപകരണത്തിലൂടെ നീക്കം ചെയ്യുക, തുടർന്ന് കോൺഫിഗറേഷനും ഉപകരണവും ഒത്തുപോകാൻ രേഖപ്പെടുത്തിയ ക്ലയന്റോ യൂണിറ്റോ ഉപയോഗിച്ച് ഇന്റർഫേസ് ഉയർത്തുക.
സൃഷ്ടി വിജയിച്ചാൽ, അടുത്ത പരാജയം പിന്നീടുള്ള ഘട്ടത്തിൽ പെടുന്നു, കൂടാതെ ഉപകരണം നിലവിലുണ്ടായതിന് ശേഷം പരാജയം റിപ്പോർട്ട് ചെയ്യുന്ന യൂണിറ്റ് ഒരിക്കലും സൃഷ്ടിക്കപ്പെടാത്ത ഉപകരണത്തിൽ നിന്ന് വ്യത്യസ്തമായ പ്രശ്നമാണ്. അനുമതികൾ വീണ്ടും മാറ്റുന്നതിന് മുമ്പ് രണ്ടും വേർതിരിക്കുക.