ඔබ VPN විසන්ධි කරයි, ping 1.1.1.1 තවමත් පිළිතුරු දෙයි, සහ පිටුව අවසානයේ අත්හැර යාමට පෙර සෑම නම් සෙවුමක්ම එල්ලී තිබේ. ඉන්පසු cat /etc/resolv.conf ටනලය තුළ පමණක් කවදාවත් තිබූ නම් සේවාදායකයක් පෙන්වයි, සාමාන්‍යයෙන් ලැයිස්තුවේ පළමුවැන්න. එම පේළිය මැකීමෙන් මිනිත්තු දහයකට පමණ නිවැරදි වූ බවක් පෙනේ, එය නිදාගැනීමක්, Wi-Fi රෝමිං එකක් හෝ නැවත ආරම්භ කිරීමක් එය නැවත ගෙන එන තෙක්. ඔබ සංස්කරණය කළ ගොනුව යනු සැකසුම නොවේ; එය වෙනත් සංරචකයකට අයත් සබැඳි තත්ත්වයේ නිරූපණයකි.

එක් පැරණි සටහනක් සෑම සෙවුමකටම තත්පර වැය කරන්නේ ඇයි

glibc විසඳුම්කරු නම් සේවාදායක ලැයිස්තුව අනුපිළිවෙලින් ගමන් කර ඊළඟ එක උත්සාහ කිරීමට පෙර කාල සීමාවක් අවසන් වන තෙක් රැඳී සිටී, සහ resolv.conf(5) එම ලැයිස්තුව සටහන් තුනකට සීමා කරයි. ටනලය ගිය පසු 10.8.0.1 වැනි ටනල් පැත්තේ විසඳුම්කරුවෙකු ලැයිස්තුවේ ඉහළින් තබන්න, එවිට සෑම සෙවුමක්ම පිළිතුරු දෙන සේවාදායකයට යාමට පෙර කාල සීමාව ගෙවයි. රෝග ලක්ෂණය DNS දෝෂයක් වෙනුවට මළ සම්බන්ධතාවයක් ලෙස පෙනෙන්නේ එබැවිනි: බ්‍රව්සර අවහිර වේ, කාලය අවසන් වේ, සමහර විට පසුව පැරණි වන කෑෂ් කළ ලිපිනයක් ලබා දෙයි.

«අන්තර්ජාලය කැඩී ඇත» ලෙස පැමිණිල්ල පැමිණෙන්නේ ඇයිද යන්නද මෙය පැහැදිලි කරයි. IP ලිපිනයකට ping කිරීමෙන් සබැඳිය හොඳ බව ඔප්පු වන අතර, එය දෝෂය යෙදුමේ එකක් ලෙස පෙනෙන්නට සලස්වයි. විසඳුම්කරු ලැයිස්තුව කියවිය යුතු පළමු දෙය සහ සංස්කරණය කළ යුතු අවසාන දෙයයි.

මිථ්‍යාව: resolv.conf යනු සැකසුම් ගොනුවකි

වෙනස් කිරීමට පෙර එම මාර්ගය ඇත්ත වශයෙන්ම කුමක්දැයි අසන්න:

ls -l /etc/resolv.conf
readlink -f /etc/resolv.conf

systemd-resolved සත්කාරකයක එය 127.0.0.53 වෙත යොමු වන stub ගොනුවකට සංකේතාත්මක සබැඳියක් වන අතර, සැබෑ සේවාදායක resolvectl මුද්‍රණය කරන එක් එක් සබැඳියේ තත්ත්වයේ ජීවත් වේ. NetworkManager සත්කාරකයක එය NetworkManager ක්‍රියාකාරී සම්බන්ධතාවයෙන් ලියන ගොනුවක් විය හැක. සමහර විකුණුම්කරු සේවාලාභීන්ගේ එය සම්බන්ධ වන විට එතැනම නැවත ලියන, ඔබ වාසනාවන්ත නොවන්නේ නම් විසන්ධි වන විට කිසිදා ප්‍රතිස්ථාපනය නොවන සාමාන්‍ය ගොනුවකි. ඒවා වෙනස් හිමිකරුවන් තුනකි, පළමු දෙක අතින් සංස්කරණය කිරීම කිසිවක් නොකරයි නැතහොත් ඊළඟ ජාල සිදුවීම තෙක් පවතී.

resolvectl status යනු සත්‍යය කියන දර්ශනයයි: එක් එක් සබැඳියේ DNS සේවාදායක, මාර්ගගත කිරීමේ වසම්, සහ ටනල් සබැඳිය තවමත් පවතීද යන්න. resolvectl query example.com තවත් ඉදිරියට ගොස් කුමන අතුරුමුහුණත පිළිතුරු දුන්නේද යන්න පෙන්වයි. ගොනුවක් ස්පර්ශ කිරීමට පෙර දෙකම භාවිත කරන්න, සහ තමන්ගේම ආරක්ෂිත DNS සහිත බ්‍රව්සරයක් මේ සියල්ල නොසලකා හරින බව මතක තබා ගන්න.

යමක් සංස්කරණය කිරීමට පෙර හිමිකරු සොයා ගන්න

සාමාන්‍යයෙන් සංරචක තුනක් එකම සැකසුම සඳහා තරඟ කරයි: systemd-resolved, NetworkManager සහ VPN සේවාලාභියා ස්ථාපනය කළ දේ. පළමුව ජීවතුන් අතර සිටින එක හඳුනා ගන්න:

systemctl is-active systemd-resolved
nmcli connection show --active
ps aux | grep -E "openvpn|wg-quick|vpn"

resolved ක්‍රියාකාරී නම් සහ සංකේතාත්මක සබැඳිය එහි stub වෙත යොමු වන්නේ නම්, ගෝලීය ගොනුව ජනනය කළ ප්‍රතිදානයක් වන අතර ඔබේ සංස්කරණය දෘශ්‍යමය පමණි. NetworkManager සම්බන්ධතාවයට හිමිකම් කියන්නේ නම්, සේවාදායක සම්බන්ධතා පැතිකඩට අයත් වේ, එබැවින් නිවැරදි කිරීම ගොනු සංස්කරණයක් නොව nmcli ගුණාංග වෙනසකි. විකුණුම්කරුගේ ඩීමොනයක් ධාවනය වන්නේ නම්, ඊළඟ සම්බන්ධතාවය දක්වා ඉතිරි වන්නේ එහිම ප්‍රතිසාධන මාර්ගය පමණි.

සේවාලාභියා ඉතිරි කළ සබැඳි තත්ත්වය පිරිසිදු කරන්න

මරා දැමූ සේවාලාභියෙකුට තම පිරිසිදු කිරීමේ කොක්ක ධාවනය කළ නොහැක. SIGKILL කිසිසේත් අල්ලා ගත නොහැක, නමුත් SIGINT සහ SIGTERM අල්ලා ගත හැක, එබැවින් බලහත්කාර මරණයකින් පසු «නිකම්ම නතර වූ» ටනලයක් බොහෝ විට අතුරුමුහුණත ලියාපදිංචිය සහ විසඳුම්කරු සටහන දෙකම එතැනම තබයි. නිශ්චිත PID සොයා එයට පමණක් සංඥාව යවන්න:

ps aux | grep -E "openvpn|wg-quick"
sudo kill <pid>
resolvectl revert tun0

සම්පූර්ණ ගැළපුම් ලැයිස්තුව කියවීමට පෙර pkill -f vpn හෝ killall vpn වෙත අත නොදමන්න. -f මුළු විධාන පේළියටම ගැළපේ, එබැවින් එය ආවරණ ස්ක්‍රිප්ටයක්, සංස්කාරක සැසියක් හෝ මාර්ගයේ එම තන්තුව ඇති සම්බන්ධ නොවන ක්‍රියාවලියක් අවසන් කළ හැක. වැඩ මැදදී වැරදි ක්‍රියාවලිය අවසන් කිරීම යනු විසඳුම්කරු ගැටලුවක් නැති වූ ගොනුවක් බවට පත්වන මාර්ගයයි.

resolvectl revert එම සබැඳියේ ධාවන කාලයේ DNS වින්‍යාසය නැවත සකසයි, එය විසඳුම්කරු නැවත ආරම්භ කිරීමට වඩා පටු වන අතර ගෝලීය ගොනුව සංස්කරණය කිරීමට වඩා බෙහෙවින් පටු වේ. ටනල් සබැඳිය සම්පූර්ණයෙන්ම ගොස් ඇත්නම්, systemctl restart NetworkManager සම්බන්ධතා තත්ත්වය නැවත ගොඩනඟයි, සහ මූලාශ්‍ර නූල් නිතරම ආපසු එන පියවර එයයි. Restart=always සහිත සේවා කළමනාකරුවෙකු ගැන අවධානයෙන් සිටින්න, එය මරා දැමූ සේවාලාභියා සහ ඔහුගේ DNS සැකසුම් කෙලින්ම නැවත තැබිය හැකි බැවිනි.

අනෙක් දිශාව: තල්ලු කළ නමුත් කිසිදා නොපැමිණි DNS

පැරණි සටහනේ දර්පණ රූපය වන්නේ කිසිදු භාවිතා කළ හැකි විසඳුම්කරුවෙකු නොමැති ටනලයකි. පැතිකඩේ DNS විකල්පය ඉල්ලීමකි; සම්බන්ධතාවය කළමනාකරණය කරන සංරචකය එය විසඳුම්කරුට භාර දිය යුතුය. ලොගය පෙන්වන්නේ සේවාදායකය ලැබුණු නමුත් ටනල් සබැඳිය කිසිදු DNS සැකසුමක් රැගෙන නොයන බව නම්, නොමැති දේ ඒකාබද්ධතාවයයි, සේවාදායකය නොවේ.

භාරදීම අතින් සිදු කර පරීක්ෂා කරන්න, එය «සේවාදායකය වැරදියි» සහ «කිසිවෙකු එය යෙදුවේ නැත» වෙන් කරයි:

resolvectl dns tun0 10.10.10.10
resolvectl domain tun0 ~.

සියල්ල අල්ලා ගන්නා මාර්ගගත කිරීමේ වසම සෑම නමක්ම එම සබැඳියට යවයි, එය සම්පූර්ණ ටනල් සේවාලාභියෙකුට අවශ්‍ය දෙය වන අතර බෙදුණු DNS භාවිත නොකළ යුතු දෙයයි. මෙම සැකසුම් ඊළඟ සම්බන්ධතාවයේදී අතුරුදහන් වේ. NetworkManager තුළ ඒවා ස්ථිර කිරීමට ස්වයංක්‍රීය DNS අක්‍රීය කරන්න, සම්බන්ධතාවයේ සේවාදායකය සකසන්න සහ වසම එක් කරන්න:

nmcli connection modify office ipv4.ignore-auto-dns yes
nmcli connection modify office ipv4.dns 10.10.10.10
nmcli connection modify office ipv4.dns-search "~."

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

ඊළඟ බාධාව බවට පත්වන විසඳුම්

සම්බන්ධ වීමට පෙර resolv.conf පිටපත් කර පසුව ප්‍රතිස්ථාපනය කිරීම runbook එකක නීත්‍යානුකූල පේළියකි, සහ එය අලුත්වැඩියාවක් නොව විසඳුමකි. ක්‍රෑෂ් එකක් හෝ බලහත්කාර නැවත ආරම්භයක් ප්‍රතිස්ථාපනය මඟ හරින බැවින් එය වැදගත් වන විටම අසාර්ථක වේ. ඊළඟ පුද්ගලයා එය මත නොගොඩනඟන පිණිස එය විසඳුමක් ලෙස ලියා තබන්න.

systemd-resolved අක්‍රීය කර පොදු සේවාදායක දෘඩකේත කිරීම අනෙක් ජනප්‍රිය පියවරයි. එය සම්බන්ධ වීම සහ විසන්ධි වීම අනුමාන කළ හැකි කරයි සහ අනෙක් සෑම ජාලයකටම එක් එක් සබැඳියේ DNS ඉවත් කරයි, එය අභ්‍යන්තර නම් සඳහා බෙදුණු DNS බිඳ දමයි සහ විමසුම් තම තුළම තබා ගැනීමට අදහස් කළ ටනලයක අරමුණ අසාර්ථක කරයි. resolvconf ස්ථාපනය කර පොදු සේවාදායක ඇමිණීම අමතර ස්ථරයක් සමඟ එම වියදමම වේ. ඒවායින් ඕනෑම එකක් රෝග විනිශ්චයක් ලෙස සලකන්න: එය බ්‍රව්සිං නැවත ගෙන එන්නේ නම්, පොදු සේවාදායක නිවැරදි බව නොව විසඳුම්කරු ඒකාබද්ධතාවය වැරදිකරු බව ඔබ ඉගෙන ගත්තා.

ටිකා තබා ගන්නා නිවැරදි කිරීම සෑම ස්ථරයකටම එක් හිමිකරුවෙකි: ටනල් සබැඳියේ DNS කුමන සංරචකයටද සහ ගෝලීය පෙරනිමිය කුමකටද යන්න තීරණය කර එය ලියා අනෙක් ඒවා මාර්ගයෙන් ඉවත් කරන්න. ඉන්පසු විසන්ධි වීමෙන් පසු VPN පමණක් විසඳන නමකින් තහවුරු කරන්න. පෞද්ගලික නමක් තවමත් පිළිතුරු දෙන්නේ නම් ලියාපදිංචිය ඉවත් කර නැත; කිසිවක් විසඳන්නේ නැත්නම් ගොනුව තවදුරටත් නොපවතින සේවාදායකයක් වෙත යොමු වේ. දෙකම බ්‍රව්සරයක් විවෘත කිරීමට පෙර resolvectl තුළ දැකිය හැක.

අදාළ ලිපි