SIGKILL පසු OpenVPN DNS ඉතිරි වේ: පළමුව හිමිකරු පරීක්ෂා කරන්න
SIGKILL හට OpenVPN හි down hook ධාවනය කළ නොහැක, නමුත් systemd-resolved තවමත් සබැඳිය අනුව DNS ඉවත් කළ හැක. කුමක් පිටවුණිද, resolver කා සතුද සහ කුමක් ඉතිරිව ඇත්ද යන්න තීරණය කරන්න.
OpenVPN සේවාදායකයා මරා දැමීමෙන් පසු DNS විසඳීම නතර වේ, සහ පළමු ප්රවණතාවය /etc/resolv.conf නැවත ලිවීමයි. එම වෙනස්කම සක්රීය resolver එකක් බිඳිය හැකි අතර සැබෑ පැරණි තත්ත්වය වෙනත් තැනක පවතී. පළමුව විසඳිය යුතු ප්රශ්නය වන්නේ tunnel ස්ථාපනය කළ DNS සැකසුම් හිමිකරු කවුද, සහ පිරිසිදු කිරීම මඟ හැරුණු පිටවීම ඇත්තටම වැදගත් වූයේද යන්නයි.
කොන්දේසි තුනක් අලුත්වැඩියාව තීරණය කරයි: ක්රියාවලිය අවසන් කළ සංඥාව, සැකසුම් ලබාගත් resolver සංරචකය, සහ tunnel සබැඳිය තවමත් පවතීද යන්න. එම අනුපිළිවෙලින් පිළිතුරු දෙන්න, එවිට ගෝලීය ගොනුවක් ස්පර්ශ නොකර නිවැරදි කිරීම සාමාන්යයෙන් ලැබේ.
කුමන ආකාරයේ පිටවීමක් සිදුවුණිද යන්න තීරණය කරන්න
Community සංස්කරණයේ OpenVPN සඳහා SIGINT සහ SIGTERM දෙකම සුමට පිටවීමේ ඉල්ලීම් වේ. SIGKILL අල්ලා ගත නොහැක: එය අවහිර කළ නොහැකි අතර හසුරුවා ගත නොහැක, එබැවින් කිසිදු වසාදැමීමේ ක්රියාවලියකට ධාවනය වීමට අවස්ථාවක් නොලැබේ. ඉදිරිපස ටර්මිනලයේ සාමාන්ය Ctrl+C SIGINT උත්පාදනය කරයි, නමුත් රැඳී සිටීම අත්හරින අධීක්ෂකයා සාමාන්යයෙන් SIGKILL දක්වා ඉහළ යයි. වෙනස වැදගත් වන්නේ දෙවන අවස්ථාව පමණක් hooks මඟ හැරුණු බවට සහතික වන බැවිනි.
screen හෝ tmux තුළ ධාවනය කිරීම Ctrl+C කුමන සංඥාව යවයිද යන්න වෙනස් නොකරයි. ටර්මිනලය සාමාන්යයෙන් කරන දෙය නොව ක්රියාවලියට ඇත්තටම ලැබුණු දෙය පරීක්ෂා කරන්න.
සේවාවක් හෝ සම්බන්ධතා කළමනාකරුවකු tunnel ධාවනය කරන්නේ නම්, pid මරා දැමීම වෙනුවට එම එක් සම්බන්ධතාවය එහි හිමිකරු හරහා නවත්වන්න. කළමනාකරුවා ක්රියාවලිය නැවත ඉහළ නැංවිය හැකි අතර, ඔබට නව tunnel එකක් සහ ව්යාකූල resolver තත්ත්වයක් ඉතිරි වේ. ස්වාධීන ක්රියාවලියකට පිරිසිදු කිරීම ධාවනය වීමට සාමාන්ය අවසන් කිරීමේ ඉල්ලීමක් පමණක් අවශ්ය වේ.
resolver කා සතුද යන්න තීරණය කරන්න
systemd-resolved, resolvconf විලාසයේ script එකක් සහ සරල ගොනු නැවත ලිවීම යනු වෙනස් හිමිකරුවන් තිදෙනෙකි. පළමුවැන්න සබැඳිය අනුව සැකසුම් මතකයේ තබා ගන්නා අතර අතුරුමුහුණත අතුරුදහන් වූ විට ඒවා ඉවත් කරයි. දෙවැන්න යමක් ඉවත් කරන තෙක් පවතින වාර්තා තබා ගනී. තෙවැන්න ගොනුවක් ලියා ප්රතිස්ථාපනය එය ලියූ අයට භාර කරයි.
අලුත්වැඩියා විධානයක් තෝරා ගැනීමට පෙර හිමිකරු හඳුනා ගන්න. භාවිතයේ ඇත්තේ කුමක්ද යන්න අනුව එකම රෝග ලක්ෂණයට වෙනස් නිවැරදි පිළිතුරු තුනක් ඇත.
NetworkManager මගින් කළමනාකරණය වන VPN එකකට දැනටමත් resolver වෙනස්කම් හිමි විය හැක. ඊට ඉහළින් දෙවන සහායකයකු එකතු කිරීමෙන් එකම සබැඳිය සඳහා තරඟ වදින හිමිකරුවන් දෙදෙනෙක් නිර්මාණය වන අතර, පරාජිතයාගේ තත්ත්වය ඊළඟ නැවත සම්බන්ධ වීමේදී යළි දිස් වේ. කළමනාකරුවා වගකිව යුතු නම්, සැකසුම script එකක නොව කළමනාකරු තුළ නිවැරදි කරන්න.
down hook එකට කළ හැකි දේ සහ කළ නොහැකි දේ
script එක down TUN/TAP උපාංගය වැසුණු පසු එක් වරක් ධාවනය වේ. down-pre එකතු කිරීම එම අනුපිළිවෙල පෙරළා උපාංගය තවමත් පවතින විට script එක ධාවනය කරයි, ජීවමාන සබැඳිය අවශ්ය සහායකයන් එය ඉල්ලා සිටී.
කිසිදු උපදෙසක් SIGKILL පසු hook එකක් ධාවනය නොකරයි. වරප්රසාද ද down-pre මගින් ප්රතිස්ථාපනය නොවේ: daemon එක user හෝ group දක්වා බැස්සොත් හෝ chroot තුළට ගියොත්, hook එක එය ඉතිරි කරන ප්රවේශය සමඟ ධාවනය වේ. කැඳවන ලද hook එකකට තවමත් resolver යාවත්කාලීන කිරීමට අසමත් විය හැක. OpenVPN යොමුව සංඥා සහ callback ජීවන චක්රය ආවරණය කරයි.
ක්රියාවලියේ පිටවීමේ තත්ත්වය සමඟ hook එකේම දෝෂය පරීක්ෂා කරන්න. අතුරුදහන් පිරිසිදු කිරීම සහ අසමත් පිරිසිදු කිරීම resolver තුළ එකම ලෙසත් ලොග තුළ වෙනස් ලෙසත් පෙනේ.
ඇත්තටම ඉතිරිව ඇති තත්ත්වය පරීක්ෂා කරන්න
systemd-resolved භාවිතා කරන පද්ධතියක, resolvectl status මගින් තවමත් VPN හි DNS සේවාදායක හෝ මාර්ගගත කිරීමේ වසම් දරන සබැඳිය පෙන්වයි. එම සබැඳිය ගිය සම්බන්ධතාවයකට හෝ තවමත් ක්රියාත්මක වන වෙනත් tunnel එකකට අයත් විය හැක.
අතුරුදහන් වන අතුරුමුහුණත තම සබැඳි සැකසුම රැගෙන යයි, එබැවින් මඟ හැරුණු hook එකක් පිරිසිදු DNS සමඟ පවතින්නට හැක. සබැඳිය තවමත් ලියාපදිංචි වී නවතා දැමූ සම්බන්ධතාවයට පමණක් අයත් නම්, හිමිකාරී කළමනාකරු එය ඉවත් කළ යුතුය. පැරණි script එකක් ගෝලීය resolver ගොනුවක් නැවත ලියා ඇත්නම්, ඒ වෙනුවට එම script එකේ ලේඛනගත ප්රතිස්ථාපන පියවර සොයන්න.
තවත් සබැඳියක් සොරකම් නොකර ප්රතිසාධනය කරන්න
සබැඳිය අනුව සැකසුම් ඔබේ කළමනාකරණයේ ඇත්නම්, resolvectl revert සබැඳියේ නම ගෙන එම අතුරුමුහුණත සඳහා ධාවන කාල DNS සැකසුම ඉවත් කරයි. එය පැතිකඩ සංස්කරණයක් නොව ධාවන කාල ක්රියාවකි, එබැවින් ස්ථාවර සම්බන්ධතා සැකසුම ස්පර්ශ නොවී පවතී. වැරදි සබැඳිය නම් කළොත් ක්රියාත්මක tunnel එකක DNS ඉවත් කරනු ඇත, එබැවින් නම තත්ත්ව ප්රතිදානයෙන් ලැබේ.
සංස්කරණය කිරීමට පෙර /etc/resolv.conf කළමනාකරණය වන සංකේතාත්මක සබැඳියක් බව තහවුරු කරන්න, පසුව නැවත වරක් සාමාන්ය ලෙස සේවාදායකයා නවත්වා DNS නැවත බලන්න. දෙවන නැවතුම පිරිසිදු කරන්නේ නම්, පෙර ගැටලුව සැකසුම නොව බලහත්කාර පිටවීම විය.