OpenVPN active (exited) කියනවාද? ඔබ ආරම්භ කළ අවස්ථාව සොයා ගන්න
active (exited) යනු ටනලයක් නොව, RemainAfterExit රඳවා ගන්නා /bin/true හි එක් වරක කාර්යයකි. අවස්ථාව සොයා ගන්න, එය යොමු කරන ගොනුව කියවා, පසුව එහි ජර්නලය කියවන්න.
ඔබ ටනලය පරීක්ෂා කර, systemctl status openvpn ධාවනය කළ විට Main PID නොමැතිව සහ හිස් ක්රියාවලි ලැයිස්තුවක් සමඟ active (exited) ලැබේ. සේවාව ආරම්භ වී මිය ගියා යනු ස්වාභාවික කියැවීමයි, එබැවින් ඔබ unit විවෘත කර /bin/true සොයා ගෙන පැකේජය කැඩී ඇතැයි නිගමනය කරයි. Debian පැකේජකරණයේ එම තත්ත්වය නිර්මාණයට අනුව ක්රියා කරන wrapper වන අතර, ටනලය එය ආරම්භ කරන instance unit එකක ජීවත් වේ. සමස්ත unit කිසිදා කියන්නේ නැත කුමන අවස්ථාව එය ගොඩනැගුවේද කියා.
මෙම unit මත active (exited) ඇත්තටම අදහස් කරන්නේ කුමක්ද
පැකේජ කළ unit එක් වරක කාර්යයකි: එහි ExecStart /bin/true වන අතර, අවසන් වූ unit එකක් active (exited) ලෙස වාර්තා වී තබා ගන්නේ RemainAfterExit=yes ය. එම නියෝගය ඉවත් කළහොත් එම සාර්ථක /bin/true කාර්යය inactive (dead) තුළ අවසන් වේ, එය මිනිසුන් බලාපොරොත්තු වන සහ ප්රතිවිරුද්ධ දිශාවට වැරදි ලෙස කියවන තත්ත්වයයි. විධානය යනු ආදේශකයක් පමණක් වන අතර, unit වෙනත් unit කරන කාර්යය ගැන වාර්තා කරයි. මෙම සැකැස්මේ කිසිවක් කැඩී නැත, සහ /bin/true ප්රතිස්ථාපනය කිරීම ටනලය නොව පැකේජකරණ ගිවිසුම වෙනස් කරයි.
wrapper නියෝජනය කරයි. පැකේජ වින්යාසය හෝ එහි systemd ජනකය සපයන instance unit ආරම්භ කරයි, එබැවින් හිස් ක්රියාවලි ලැයිස්තුවක් ටනලය ගැන කිසිවක් ඔප්පු නොකරයි. කිසිදු අවස්ථාවක් තෝරා නොගත් විටද wrapper සාර්ථක වන අතර කිසිවක් ආරම්භ නොකරයි. තත්ත්වය පිළිතුරු දෙන්නේ wrapper ධාවනය වූවාද යන්නට මිස ටනලයක් තිබේද යන්නට නොවේ.
වරහන් තුළ ඇති වචනය නොව status ප්රතිදානයේ පේළි තුන කියවන්න. Loaded systemd කියවූ unit ගොනුව නම් කරයි, Active අවසන් සාර්ථක ධාවනයේ කාල මුද්රාව දරයි, සහ Main PID නොමැති වීම අවසන් වූ එක් වරක කාර්යයකට ගැලපේ. එම පේළි තුනම මෙම wrapper ආරම්භයෙන් තත්පරයකින් වැටුණු සේවාවකින් වෙන් කර හඳුනා ගැනීමේ ක්රමයද වේ.
status නැවත කියවීමට පෙර unit ලැයිස්තුගත කරන්න
කුමක් ධාවනය වේද යන්න ඇසීමට පෙර systemd වෙතින් කුමක් ඇත්ද යන්න අසන්න. කිසිදු අවස්ථාවක් නිර්මාණය නොකර අච්චුවක් ස්ථාපනය කළ හැකි අතර, නිර්මාණය කළ unit එකක් පමණක් ටනලයක් දරයි. පූරණය වූ කට්ටලයෙන් ආරම්භ කරන්න:
systemctl list-units 'openvpn*'
එම ලැයිස්තුව systemd මේ මොහොතේ පූරණය කළ දෙය වන අතර, එය ටනල ලැයිස්තුවකට වඩාත් සමීපතම දෙයයි. ස්ථාපිත unit ගොනු වෙනත් ප්රශ්නයකට පිළිතුරු දෙන අතර, කිසිවක් නිර්මාණය නොකළ විටද එම ලැයිස්තුව අච්චුවක් පෙන්වයි:
systemctl list-unit-files 'openvpn*'
ලැයිස්තු දෙකම එකට කියවන්න, මන්ද දෙවැන්නේ අච්චුවක් සහ පළමුවැන්නේ අවස්ථාවක් වෙනස් පිළිතුරු දෙකකි. පවතින අච්චුවක් සහ ධාවනය වන අවස්ථාවක් එකම කරුණ නොවන අතර, දෙවැන්න පමණක් ටනලයක් අදහස් කරයි. පැකේජ පිරිසැලසුම් බෙදාහැරීම් සහ OpenVPN අනුවාද අතරද වෙනස් වේ. පැරණි openvpn@ අච්චුවක්, වෙන් වූ client සහ server යුගලයක්, සහ බෙදාහැරීම් wrapper යන සියල්ලම තමන්ගේම පැකේජකරණයේ නීත්යානුකූල විය හැක.
ඔබ සොයා ගත් නිබන්ධනයට නොව ඔබේ යන්ත්රයට අනුව සකසන්න. වෙනත් අයෙකුගේ ප්රතිදානයේ අවස්ථා නාමය office විය හැකි අතර ඔබේ home හෝ work විය හැක. මාරු වන්නේ ක්රමය මිස තන්තුව නොවේ.
අවස්ථා නාමයෙන් එය කියවන ගොනුව දක්වා යන්න
upstream client අච්චුවේ unit හි කාර්ය නාමාවලිය /etc/openvpn/client වන අතර එහි විධානය එතැනින් %i.conf ගනී, එබැවින් openvpn-client@office /etc/openvpn/client/office.conf කියවයි. උදාහරණය විශ්වාස කිරීම වෙනුවට ස්ථාපිත unit මත එම සිතියම තහවුරු කරන්න, මන්ද ඔබේ අච්චුව පැරණි හෝ බෙදාහැරීමේ නැවත ලියවීමක් විය හැක:
systemctl cat [email protected]
එම ප්රතිදානයේ පහළින් දිස්වන drop-in කියවන්න, මන්ද .d/ යටතේ ඇති ගොනුවක් ExecStart, කාර්ය නාමාවලිය හෝ වින්යාස මාර්ගය වෙනස් කළ හැක. ඔබ office.ovpn ලෙස බාගත කළ පැතිකඩ අවස්ථාව විවෘත කරන ගොනුව නොවේ. මෙම පරතරය නිසාම ඔබ කිසිදා සංස්කරණය නොකළ මාර්ගයක් දෝෂයක් නම් කරයි.
පැතිකඩ තුළ ඇති සාපේක්ෂ මාර්ග ඊළඟ උගුලයි. ca, cert සහ key යොමු සාපේක්ෂව තබා ප්රධාන ගොනුව ගෙන යාමෙන් නැති-ගොනු දෝෂයක් තවත් නැති-ගොනු දෝෂයක් සමඟ මාරු වේ. දෙවැන්න ඔබට ඇති බවට විශ්වාසය තිබූ ගොනුවකට යොමු කරයි, එබැවින් පැතිකඩ නාමාවලිය ගොනු නාමයට වඩා වැදගත් වේ.
එය ආරම්භ කර, පසුව එම අවස්ථාවේ ජර්නලය කියවන්න
ඔබ දැන් පරීක්ෂා කළ අවස්ථාව ආරම්භ කරන්න, මන්ද සමස්ත unit හි ලොගයේ ටනලයේ දෝෂ නොපවතී. පසුව මෙම ඇරඹුමේ ජර්නලය කියවා එම අනුපිළිවෙලින් වින්යාස දෝෂය, ගොනු ප්රවේශ දෝෂය සහ සම්බන්ධතා දෝෂය සොයන්න, මන්ද එක් එක් ඇරඹුමේ වෙනස් අදියරකදී අසාර්ථක වේ.
sudo systemctl start [email protected]
journalctl -u [email protected] -b
ආරම්භ කිරීම සහ සක්රීය කිරීම වෙනස් තීරණ ය: start unit එක දැන් ධාවනය කරයි, enable ඊළඟ ඇරඹුම සකසයි, සහ enable --now දෙකම එක් පියවරකින් කරයි. daemon-reload unit අර්ථ දැක්වීම් නැවත කියවන අතර ධාවනය වන ක්රියාවලියක් නැවත ආරම්භ නොකරයි හෝ සංස්කරණය කළ පැතිකඩක් යොදන්නේ නැත. පැතිකඩ වෙනස් කිරීමෙන් පසු අවස්ථාව නැවත ආරම්භ කරන්න, මන්ද ගොනුව නැවත කියවන්නේ එයයි.
එකම ටනලය මත දෙවන කළමනාකරුවෙකු නොතබන්න
NetworkManager සහ OpenVPN 3 සැසි කළමනාකරුවන්ට තමන්ගේම සම්බන්ධතා තත්ත්වය ඇත, සහ ඔවුන්ගෙන් එකක් අසල systemd අවස්ථාවක් එකම ටනලය මත හිමිකරුවන් දෙදෙනෙකු තබයි. රෝග ලක්ෂණය නම් ටනලය ඉහළ ගොස් තත්පර කිහිපයකින් ප්රතිස්ථාපනය වීම, හෝ නතරව රැඳී සිටීමට ප්රතික්ෂේප කිරීමයි. ඔබේ බෙදාහැරීම ඩෙස්ක්ටොප් සඳහා ලේඛනගත කරන කළමනාකරු තෝරා ගන්න, සහ සේවාදායකයේ systemd අරමුණු සහගතව භාවිත කරන්න.
අවස්ථාවක් ආරම්භ කිරීමට පෙර දැනටමත් හිමිකරුවෙකු සිටීද පරීක්ෂා කරන්න. ඩෙස්ක්ටොප් ඇප්ලට් එක සම්බන්ධතාවය පෙන්වන විට, ඔබ ආරම්භ කරන අවස්ථාව එය සම්පූර්ණ කරනවා වෙනුවට එය සමඟ තරඟ කරයි. දෙකම ධාවනය කර අනුපිළිවෙල රැඳේ යැයි බලාපොරොත්තු වනවා වෙනුවට ඔබ භාවිත නොකරන කළමනාකරු අබල කරන්න. එම ගැටුම ඔබ කිසිදා ආරම්භ නොකළ ක්රියාවලියක් විසින් ටනලයක් ගොඩනඟා පසුව කඩා දමන ජර්නල ද පැහැදිලි කරයි.
මුල් ප්රශ්නයට අවස්ථා නාමය, එය කියවූ ගොනුව සහ අසාර්ථක වූ ජර්නල පේළිය සමඟ පිළිතුරු දෙන්න. systemd ඒකාබද්ධ කිරීම ගැන OpenVPN හි සටහන් අච්චු පිරිසැලසුම සහ අවස්ථා නාමය විසඳන ගොනු සිතියම විස්තර කරයි.