നിങ്ങളുടെ സേവനം OpenVPN ഒരിക്കലും പ്രവർത്തിക്കുന്നതിന് മുമ്പ് പരാജയപ്പെടുന്നു, പിശക് നിങ്ങൾ ഒരിക്കലും കോൺഫിഗർ ചെയ്യാത്ത ഒരു മൗണ്ട് യൂണിറ്റിനെക്കുറിച്ച് സംസാരിക്കുന്നു. ഇതാണ് സൂചന: റൂട്ട് മൗണ്ട് യൂണിറ്റ് മാസ്ക് ചെയ്തിരിക്കുന്നതിനാൽ systemd മുഴുവൻ ഇടപാടും നിരസിക്കുന്നു, നിങ്ങളുടെ VPN പ്രൊഫൈൽ ഇതുവരെ വായിച്ചിട്ടില്ല. സാധാരണ കാരണം റൺടൈം യൂണിറ്റ് ഡയറക്ടറിയിൽ അവശേഷിച്ച ഫയലാണ്, തകർന്ന fstab അല്ല, കാണാത്ത സർട്ടിഫിക്കറ്റും അല്ല. ആദ്യം ഫയലിനെ പിന്തുടരുക, കാരണം അത് ഒഴിവാക്കുക എന്നതാണ് ഏറ്റവും വിലകുറഞ്ഞ വിശദീകരണം.

പിശക് റൂട്ട് മൗണ്ടിനെ പേരിടുന്നു, നിങ്ങളുടെ പ്രൊഫൈലിനെയല്ല

systemd കേർണലിന്റെ മൗണ്ട് വിവരത്തിൽ നിന്ന് റൂട്ട് മൗണ്ട് യൂണിറ്റ് സ്വയം സൃഷ്ടിക്കുന്നു, കൂടാതെ യൂണിറ്റിനെ -.mount എന്ന് വിളിക്കുന്നു കാരണം ഡാഷ് റൂട്ട് പാത്തിനെ പ്രതിനിധീകരിക്കുന്നു. ഈ യൂണിറ്റ് സാധാരണയായി മെമ്മറിയിൽ മാത്രമേ ഉണ്ടാകൂ, അതിന് പിന്നിൽ ഫയലില്ല. പിശക് അത് മാസ്ക് ചെയ്തിരിക്കുന്നു എന്ന് പറയുമ്പോൾ, ആരോ ഒരു യൂണിറ്റ് ഫയൽ systemd ലോഡ് ചെയ്യുന്ന സ്ഥലത്ത് വെച്ച് ആ ഫയൽ /dev/null ലേക്ക് ചൂണ്ടിയിരിക്കുന്നു. മാസ്ക് ചെയ്യൽ യഥാർത്ഥ അവസ്ഥയാണ്, സന്ദേശത്തിലെ ടൈപ്പിംഗ് പിശകല്ല.

ഇൻസ്റ്റൻസ് യൂണിറ്റ് പരാജയപ്പെടുന്നു കാരണം അതിന്റെ ജോബ് ഗ്രാഫ് ക്രമവും സ്വന്തം മൗണ്ട് ആവശ്യകതകളും വഴി റൂട്ട് മൗണ്ടിൽ എത്തുന്നു. OpenVPN ബൈനറി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് ഇടപാട് നിരസിക്കപ്പെടുന്നു, അതിനാൽ ക്ലയന്റിന്റെ കോൺഫിഗറേഷനിൽ ഒന്നും കാരണമാകാൻ കഴിയില്ല. അതുകൊണ്ടാണ് പ്രൊഫൈലുകൾ, സർട്ടിഫിക്കറ്റുകൾ അല്ലെങ്കിൽ ക്രെഡൻഷ്യലുകൾ മാറ്റുന്നത് ഈ പ്രത്യേക പരാജയത്തിൽ ഒരു ഫലവും ഉണ്ടാക്കാത്തത്.

OpenVPN ഡീബഗ് ചെയ്യുന്നതിന് മുമ്പ് റൺടൈം ഡയറക്ടറി നോക്കുക

റൺടൈം യൂണിറ്റ് ഡയറക്ടറിയിൽ കൃത്യമായി ആ പേരുള്ള ഫയൽ തിരയുക, തുടർന്ന് യൂണിറ്റ് എന്താണെന്ന് systemd കരുതുന്നു എന്ന് ചോദിക്കുക. രണ്ട് ഉത്തരങ്ങളും വേഗമേറിയതാണ്, ഒരുമിച്ച് അവ അവശേഷിച്ച ഫയലിനെ യഥാർത്ഥ മൗണ്ട് പ്രശ്നത്തിൽ നിന്ന് വേർതിരിക്കുന്നു.

ls -l /run/systemd/system/-.mount
systemctl status -.mount
systemctl list-unit-files --state=masked | grep mount

സാധാരണ യന്ത്രത്തിൽ അത്തരം ഫയൽ ഉണ്ടാകില്ല, മാസ്ക് ചെയ്തവയുടെ പട്ടികയിൽ റൂട്ട് മൗണ്ട് ഉണ്ടാകില്ല. ആദ്യ കമാൻഡ് /dev/null ലേക്ക് സിംബോളിക് ലിങ്ക് അച്ചടിച്ചാൽ രോഗനിർണയം ഉറപ്പായി. അതേ ഡയറക്ടറിയിൽ അതേ ഉപകരണങ്ങൾ സൃഷ്ടിച്ച tmp.mount മാസ്കും ഉണ്ടാകാം, അത് മറ്റൊരു പേരിൽ അതേ തരം പരാജയം ഉണ്ടാക്കുന്നു. മുഴുവൻ ഡയറക്ടറിയും നോക്കുക, പിശകിലെ പേര് മാത്രമല്ല.

ls -la /run/systemd/system/*.mount

ഡയറക്ടറി ശുദ്ധവും യൂണിറ്റ് ഇപ്പോഴും മാസ്ക് ചെയ്തതുമാണെങ്കിൽ, മാസ്ക് തിരയൽ പാതയിൽ മറ്റെവിടെയോ ആണ്, ഏത് ഫയൽ ലോഡ് ചെയ്യുന്നു എന്ന് systemctl cat -.mount കാണിക്കും.

ഫയൽ ഇല്ലാതാക്കുക, വീണ്ടും ലോഡ് ചെയ്യുക, വീണ്ടും ആരംഭിക്കുക

റൺടൈം ഫയൽ നീക്കം ചെയ്യുന്നതും മാനേജർ വീണ്ടും ലോഡ് ചെയ്യുന്നതും മതി, അത് പാക്കേജിൽ നിന്ന് വന്ന ഒന്നിനെയും സ്പർശിക്കുന്നില്ല. ആരംഭിക്കുന്നതിന് മുമ്പ് വീണ്ടും ലോഡ് ചെയ്യുക, കാരണം ഡയറക്ടറി വീണ്ടും വായിക്കുന്നത് വരെ systemd ലോഡ് ചെയ്ത യൂണിറ്റിന്റെ അവസ്ഥ സൂക്ഷിക്കുന്നു.

sudo rm -f /run/systemd/system/-.mount /run/systemd/system/tmp.mount
sudo systemctl daemon-reload
systemctl status -.mount
sudo systemctl start [email protected]

പിന്നീട് പരിഹാരം പ്രവർത്തിച്ചു എന്ന് കരുതുന്നതിന് പകരം സേവനത്തിന്റെ സ്വന്തം ജേണൽ വായിക്കുക. ശുദ്ധമായ തുടക്കം systemd യൂണിറ്റ് സ്വീകരിച്ചു എന്ന് മാത്രം തെളിയിക്കുന്നു; ക്ലയന്റ് ഇപ്പോഴും കാണാത്ത പ്രൊഫൈൽ, എത്തിച്ചേരാനാകാത്ത സഹപ്രവർത്തകൻ അല്ലെങ്കിൽ സ്ഥിരീകരിക്കാത്ത സർട്ടിഫിക്കറ്റ് കാരണം മരിക്കാം. ഇവ മാസ്ക് ചെയ്ത യൂണിറ്റിന് പിന്നിൽ ഒളിച്ചിരുന്ന OpenVPN-ന്റെ സാധാരണ പ്രശ്നങ്ങളാണ്. ഏത് പ്രൊഫൈൽ ലോഡ് ചെയ്തു, ടണൽ യഥാർത്ഥത്തിൽ നിർമ്മിച്ചോ എന്ന് ജേണൽ രേഖപ്പെടുത്തുന്നു. യൂണിറ്റ് ആരംഭിച്ച് ടണൽ ആരംഭിക്കുന്നില്ലെങ്കിൽ, നിങ്ങൾ മറ്റൊരു പ്രശ്നത്തിലേക്ക് പോയി, അത് പുരോഗതിയാണ്.

journalctl -u [email protected] -b --no-pager

/run താൽക്കാലിക ഫയൽ സിസ്റ്റം ആയതിനാൽ, റീബൂട്ട് ഫയലും മായ്ക്കുന്നു. അത് റീബൂട്ടിനെ ഉപകാരപ്രദമായ പരിശോധനയാക്കുന്നു: സേവനം റീബൂട്ടിന് ശേഷം പ്രവർത്തിച്ച് അടുത്ത വിന്യാസത്തിന് ശേഷം വീണ്ടും പരാജയപ്പെട്ടാൽ, ഫയൽ ഇമേജിൽ ചുട്ടെടുക്കപ്പെടുന്നു.

അത് ഇമേജിൽ നിന്ന് തിരികെ വരുന്നത് തടയുക

നിർമ്മാണ വേളയിൽ മൗണ്ട് യൂണിറ്റുകൾ മാസ്ക് ചെയ്യുന്ന കണ്ടെയ്നർ അല്ലെങ്കിൽ വെർച്വൽ മെഷീൻ ടെംപ്ലേറ്റ് ആ മാസ്ക് ഓരോ ക്ലോണിലേക്കും കൊണ്ടുപോകും. അടുത്തതായി ഫയൽ സിസ്റ്റം ആവശ്യമുള്ളത് തകരുന്നു, സന്ദേശം വന്ന ഇമേജിനെക്കാൾ മൗണ്ടിനെ കുറ്റപ്പെടുത്തുന്നു. ഒരു പ്രവർത്തിക്കുന്ന ഇൻസ്റ്റൻസിനുള്ളിൽ പരിഹരിക്കുന്നത് അടുത്ത ഇൻസ്റ്റൻസ് സൃഷ്ടിക്കുന്നത് വരെ പ്രശ്നം മറയ്ക്കുന്നു.

നിർമ്മാണ സന്ദർഭത്തിൽ ഫയലിന്റെ പേരും അത് സൃഷ്ടിക്കുന്ന കമാൻഡും തിരയുക, തുടർന്ന് ടെംപ്ലേറ്റിൽ നിന്ന് മാസ്ക് നീക്കി വീണ്ടും നിർമ്മിക്കുക. മാസ്ക് നിർമ്മാണ വേളയിൽ യഥാർത്ഥത്തിൽ ആവശ്യമാണെങ്കിൽ, നിർമ്മാണം അവസാനിപ്പിക്കുന്ന അതേ പാളിയിൽ അത് നീക്കുക, അങ്ങനെ അയക്കുന്ന ഇമേജ് ശുദ്ധമായി ആരംഭിക്കും. പുതിയ ക്ലോണിൽ പരിശോധിക്കുക, കൈകൊണ്ട് നന്നാക്കിയ യന്ത്രത്തിൽ അല്ല. ഇമേജ് മാറി എന്ന് തെളിയിക്കുന്ന ഏക പരിശോധന അതാണ്.

ഓർക്കേണ്ട ലക്ഷണം പിശകും നിങ്ങൾ കോൺഫിഗർ ചെയ്യുന്ന കാര്യവും തമ്മിലുള്ള പൊരുത്തക്കേട് ആണ്. systemd മൗണ്ടിനെക്കുറിച്ച് പരാതിപ്പെടുമ്പോൾ നിങ്ങൾ VPN ക്ലയന്റ് ആരംഭിക്കുകയാണെങ്കിൽ, ആദ്യം സന്ദേശത്തിലെ യൂണിറ്റ് പേര് വായിക്കുക, പിന്നീട് സേവനത്തിന്റെ പേര്.

അനുബന്ധ ലേഖനങ്ങൾ