විධානය ආපසු එයි, සේවාව අසාර්ථක ලෙස පෙනේ, සහ පැහැදිලි කිරීමක් වැනි කිසිවක් ටර්මිනලයට ළඟා නොවේ. එම නිහඬතාවය මිනිසුන් «OpenVPN ආරම්භ නොවේ» ලෙස විස්තර කරන රෝග ලක්ෂණයයි, සහ එය පවසන්නේ නැතිව වැඩසටහන මිය ගියා යැයි අදහස් වන්නේ කලාතුරකිනි. එහි අදහස වන්නේ පණිවිඩය ඔබ නොකියවූ නාලිකාවකට ගිය බව හෝ ඔබ ආරම්භ කළ දේ ඔබ වින්‍යාස කළ දේ නොවූ බවයි. පැතිකඩ සැකකරු ලෙස සැලකීම නතර කළ පසු අවස්ථා දෙකම විනාඩියකට අඩු කාලයකින් රෝග විනිශ්චය කළ හැකිය.

ප්‍රතිදානය අවශෝෂණය කරන ස්ථාන හතරක් ඇත: unit හි journal, සම්බන්ධතාවය හිමි ප්ලගිනය, උමගේ අනෙක් කෙළවර, සහ ධාවනය වන බව ඔබ සිතන දෙයට වඩා වෙනස් binary එකක්. එක් එක් එකට තමන්ගේම පරීක්ෂාවක් ඇත.

නිහඬතාවය යනු ඔබ නිවැරදි නාලිකාව දෙස නොබැලූ බවයි

පෙරබිම් ඇමතුමක් ඔබේ ටර්මිනලයට මුද්‍රණය කරයි. unit එකක් journal එකට මුද්‍රණය කරයි, සහ අසාර්ථක unit එකකට කිසිවක් ලිවීමට පෙරම පිටවිය හැක්කේ අසාර්ථකත්වය එය ආරම්භ කළ ආකාරයේ නම්, එයට පැවසූ දේ තුළ නොවේ. මෙම වෙනස වැදගත් ය: journal හි සටහනක් නොමැති වීම යනු ක්‍රියාවලිය කිසිදා සැබවින්ම නොදුවන ලද බවයි, එසේ වන විට එක් සටහනක් සහ පසුව පිටවීමක් යනු එය දුවා යමක් ප්‍රතික්ෂේප කළ බවයි.

systemctl status openvpn-client@office
journalctl -u openvpn-client@office -b --no-pager

පිරිසිදු පිටවීමක් සංඥාවකින් වෙන් කිරීමට මෙය එක් කරන්න: systemctl show -p Result -p ExecMainStatus openvpn-client@office. තත්ත්වය 1 සහ Result=exit-code යනු වැඩසටහන් තීරණයකි; Result=signal හෝ කාල ඉකුත් වීමක් ඒ වෙනුවට පරිසරය පෙන්වයි, සහ පැතිකඩ සංස්කරණය කිරීමේ කිසිදු ප්‍රමාණයක් එය වෙනස් නොකරයි. යමක් නැවත ආරම්භ කිරීමට පෙර අගයන් දෙකම සටහන් කරන්න, මන්ද නැවත ආරම්භ කිරීම ඒවා නිපදවූ තාවකාලික තත්ත්වය මකා දමයි.

instance නාමය මාර්ගයේ කොටසකි

ඇසුරුම් කළ අච්චු unit එකක් ගොනු මාර්ගයක් නොගනී. එය instance නාමයක් ගනී, සහ එම නාමය පැතිකඩ සොයා ගැනීමට නාමාවලියකට එකතු වේ: office Debian සහ Ubuntu ඇසුරුම්කරණයේ /etc/openvpn/client/office.conf ලෙස විසඳේ. office-v2.conf නමැති ගොනුවක් @office ලෙස ආරම්භ කළත් කිසිදා කියවන්නේ නැත, සහ unit එක නිහඬව පිටවේ එහි දෘෂ්ටිකෝණයෙන් කිරීමට කිසිවක් නොතිබූ බැවිනි. සෙවුම් නාමාවලිය client සහ server මාදිලි අතර වෙනස් වේ, එබැවින් අච්චුව මාරු කරන විට එම වැරැද්ද සම්පූර්ණයෙන්ම වෙනත් තැනකට යොමු කරයි.

එම නොගැළපීම නිහඬ අසාර්ථකත්වයේ වඩාත් පොදු මූලාශ්‍රය වන අතර, පැතිකඩ හොඳ බැවින් එය පැතිකඩ තුළ නොපෙනේ. සැබවින්ම ඇති දේ ලැයිස්තුගත කර ඇසුරුම්කරණය අපේක්ෂා කරන ඕනෑම දිගුවක් ඇතුළුව නාම දෙක අකුරින් අකුර සසඳන්න.

ls -l /etc/openvpn/client/
systemctl list-units 'openvpn*' --all

unit එක සක්‍රීය නමුත් instance එකක් ලැයිස්තුගත කර නොමැති නම්, සක්‍රීය කිරීමම පසුව නම වෙනස් කළ නාමයකට යොමු විය හැකිය. නිවැරදි instance එක නැවත සක්‍රීය කිරීම සාමාන්‍යයෙන් ප්‍රමාණවත් වන අතර, ඉතිරි වූ පැරණි unit ගොනුව ඉවත් කිරීම වටී, එවිට එය ඊළඟ පුද්ගලයා රැවටීමට හේතු නොවේ. ඉතිරි වූ unit ගොනුවක් යනු පසුව යමෙකුට පැයක් වැය වන කුඩා දෙයකි.

ප්ලගිනය උමග හිමි විට, ටර්මිනලයට කිසිවක් නොපෙනේ

ඩෙස්ක්ටොප් ඇප්ලට් එකෙන් ආරම්භ කළ සම්බන්ධතාවය NetworkManager සතු වන අතර, එහි OpenVPN ප්‍රතිදානය ඔබ විවෘත කළ shell එකකට නොව එම සේවාවේ journal එකට යයි. ක්ලයන්ට් එක අතින් ධාවනය කර කිසිවක් නොපෙනීම එම සැකැස්මේ අපේක්ෂිත ය, මන්ද අතින් ධාවනය කළ ක්‍රියාවලිය සම්බන්ධතාවය රැගෙන යන ක්‍රියාවලිය නොවේ.

එය හිමි සේවාව journal එකේ සොයන්න, පසුව ඔබට කියවිය හැකි විස්තර මට්ටමකින් විග්‍රහය නැවත නිපදවන්න. පහත විධාන දෙක එකම අසාර්ථකත්වයේ වෙනස් හිමිකරුවන් දෙස බලයි.

journalctl -b -u NetworkManager --no-pager | grep -i -A3 openvpn
openvpn --config /etc/openvpn/client/office.conf --verb 4 --log /tmp/ovpn.log

ස්වාධීන ධාවනය පණිවිඩ කියවීම සඳහා ය, කළමනාකරණය කළ සම්බන්ධතාවය ප්‍රතිස්ථාපනය කිරීම සඳහා නොවේ, සහ දෙක පසුව වෙනස් වේ: DNS ඒකාබද්ධ කිරීම, මාර්ග සහ ආයු කාලය ප්ලගිනයට අයත් වේ. ස්වාධීන ධාවනයේ විග්‍රහ දෝෂයක් නිවැරදි කිරීම ඇප්ලට් එක පාලනය ගත් පසු නාම විභේදනය ස්වයංක්‍රීයව නිවැරදි නොකරයි, එබැවින් නිරීක්ෂණ දෙක වෙන් කර තබන්න.

binary දෙකක්, එක් PATH එකක්

අතින් ගොඩනගා /usr/local යටතේ ස්ථාපනය කළ එක shell ඇමතුමකදී ජය ගනී, මන්ද /usr/local/sbin Ubuntu හි පෙරනිමි PATH එකේ /usr/sbin ට පෙර එන බැවිනි. unit එකක් ඔබේ PATH භාවිත නොකරයි; එය ExecStart තුළ ලියා ඇති නිරපේක්ෂ මාර්ගය ධාවනය කරයි. එබැවින් ඔබේ ටර්මිනලයේ ක්‍රියා කරන අනුවාදය සහ සේවාවක් ලෙස අසාර්ථක වන අනුවාදය සැබවින්ම වෙනස් වැඩසටහන් විය හැකිය.

කිසිවක් නැවත ගොඩනැගීමට පෙර දෙක සසඳන්න. තුන්වන විධානය තර්කය තීරණය කරන්නේ එයයි.

command -v openvpn
whereis openvpn
systemctl cat openvpn-client@office | grep ExecStart

තවත් පරිසර වෙනසක් එම ස්ථානයේම සැඟවී ඇත. ඇසුරුම් කළ unit එකක් /run යටතේ systemd එය සඳහා නිර්මාණය කරන ධාවන කාල නාමාවලියක් මත රඳා පවතී; එම සැකසුම මඟ හරින අතින් ලියූ ප්‍රතිස්ථාපන unit එකක් එකම ගොනුවක් විවෘත කිරීමට පෙර අසාර්ථක විය හැකිය, සහ අසාර්ථකත්වය OpenVPN පණිවිඩයක් නොමැති සාමාන්‍ය ප්‍රතික්ෂේපයක් ලෙස පෙනේ.

ක්ලයන්ට් එකට වාර්තා කළ නොහැකි අසාර්ථකතා

සමහර ප්‍රතිඵල ඈත කෙළවරේ තීරණය වේ. HTTP තත්ත්වයකින් පිළිතුරු දී සම්බන්ධතාවය වසා දමන ගේට්වේ එකක් ඔබට එහි තත්ත්වය පවසා ඇත, සහ ඊළඟ ප්‍රයෝජනවත් පියවර ඔබේ දේශීය ගොනු නොව එහි ලොගය හෝ අක්තපත්‍රය පිටුපස ඇති ගිණුමයි. එම තත්ත්වයේදී දේශීයව කිසිවක් කැඩී නැත, සහ වන්දි ලෙස පැතිකඩ සංස්කරණය කිරීම ඊළඟ රෝග විනිශ්චය දුෂ්කර කරයි. ක්ලයන්ට් වින්‍යාසය ස්පර්ශ කිරීමට පෙර එම ලොගය කියවන්න.

තවත් නිහඬ අවස්ථාවක් වන්නේ නිවැරදිව ක්‍රියා කරන ක්ලයන්ට් එකකි. client මාදිලියේ උමගක් කිසිදා වරායක සවන් නොදේ, එබැවින් විවෘත ශ්‍රාවකයක් අපේක්ෂා කරන පරීක්ෂාවක් කිසිවක් වාර්තා නොකර අසාර්ථකත්වයක් ලෙස පෙනේ. හිස් වරාය ලැයිස්තුවකින් නිගමනයකට ඒමට පෙර ඔබ ආරම්භ කළ මාදිලිය තහවුරු කරන්න.

ස්තර පිළිවෙලට ක්‍රියා කරන්න: unit එක තිබේද සහ instance නාමය නිවැරදිද, journal එකට හෝ --log ගොනුවට කිසිවක් ළඟා වී ඇත්ද, කුමන binary සහ පැතිකඩ සැබවින්ම ක්‍රියා කළේද, සහ අසාර්ථකත්වය දේශීයද නැතහොත් දුරස්ථද. සෑම පිළිතුරක්ම එක් ස්තරයක් ඉවත් කරයි. පැතිකඩෙන් ආරම්භ කිරීම යනු කිසිදා විවෘත නොකළ විය හැකි ගොනුවක් නැවත ලිවීමයි.

අදාළ ලිපි