මරා දැමූ openconnect: මාර්ග සහ DNS තවමත් උමඟට යොමු වේ
මළ openconnect ක්රියාවලියක් ස්ථාපිත මාර්ග සහ resolver සටහන් ඉතිරි කළ හැකිය. වසා දැමීමේ මාර්ගය ඔස්සේ යන්න, ඔබේ build ලේඛනගත කරන සංඥාව යවන්න, සහ පිරිසිදු කරන්න.
උමඟ වසා ඇත, නමුත් යන්ත්රය තවමත් එය විවෘත ලෙස හැසිරේ: සෙවුමක් කාලය ඉකුත් වන තෙක් එල්ලී ඇත, සහ මාර්ගයක් තවදුරටත් නොපවතින අතුරුමුහුණතකට යොමු වේ. මෙය තම සම්බන්ධතා විසන්ධි සහායකයා නොකර මියගිය openconnect ක්රියාවලියක ලක්ෂණයයි. එය සෑදූ ජාල තත්ත්වය තවමත් ස්ථාපිතය, සහ පද්ධතියේ වෙන කිසිවක් එය ඉවත් කරන ආකාරය නොදනී.
තත්ත්වය නිර්මාණය වූ අනුපිළිවෙලට යන්ත්රය හරහා යන්න: ක්රියාවලිය, සබැඳිය, මාර්ගය, resolver. සෑම පියවරක්ම පවසන්නේ සේවාදායකයා සැබවින්ම ගියාද නැතහොත් ඔබේ ටර්මිනලයෙන් වෙන් වූයේද යන්නයි, සහ එම වෙනස කිසිවක් අලුත්වැඩියා කළ යුතුද යන්න තීරණය කරයි.
ක්රියාවලියෙන් ආරම්භ කරන්න, වින්යාසයෙන් නොව
මාර්ගයක් ස්පර්ශ කිරීමට පෙර ටර්මිනලයක් විවෘත කර තවමත් ධාවනය වන්නේ කුමක්දැයි අසන්න. pgrep -a openconnect සෑම අවස්ථාවක්ම එහි තර්ක සමඟ ලැයිස්තුගත කරයි, එය pid ගොනුව සහ එයට දුන් ස්ක්රිප්ටය පෙන්වයි. ඔබ බලාපොරොත්තු නොවූ ක්රියාවලියක් අවතාර උමඟ කිසිදු ලොගයකට වඩා ඉක්මනින් පැහැදිලි කරයි.
කිසිවක් ධාවනය නොවන්නේ නම්, සබැඳිය බලන්න. ip link show tun0 අතුරුමුහුණත ඉතිරි වුණාදැයි පවසයි, සහ ip route show dev tun0 තවමත් එයට බැඳී ඇති මාර්ග ලැයිස්තුගත කරයි. ඉන්පසු resolver මෙයින් පරීක්ෂා කරන්න resolvectl status. වෙනස් කිරීමට පෙර ප්රතිදාන තුනම ලියන්න, මන්ද එම වාර්තාව තමයි පසුව පැරණි සටහනක් නව එකකින් වෙන් කරන ක්රමය.
ගිය අතුරුමුහුණතක් සාමාන්යයෙන් එහි මාර්ග රැගෙන යයි. සබැඳියෙන් පසුව ඉතිරි වන මාර්ග සාමාන්යයෙන් අදහස් වන්නේ ක්රියාවලිය තවමත් ජීවතුන් අතර සිටින බව හෝ දෙවන සේවාදායකයක් උපාංගය හිමිකරගෙන සිටින බවයි.
වෙනස්කම් ආපසු හරවන්නේ සහායක ස්ක්රිප්ටයයි
openconnect අතුරුමුහුණත, මාර්ග හෝ resolver සටහන් තමා ඉවත් නොකරයි. එය බාහිර සහායකයක් අමතයි, /etc/vpnc/vpnc-script upstream build එකක සහ /usr/share/vpnc-scripts/vpnc-script Debian සහ Ubuntu පැකේජවල, තෝරා ගනු ලබන්නේ -s සමඟය. උමඟ ඔසවන එම ස්ක්රිප්ටයම එය කඩා දමයි.
ක්රියාවලිය එම සහායකයා අමතා නැතිව පිටව ගියහොත්, තත්ත්වය ඉතිරි වේ. OpenConnect අත්පොත ස්ක්රිප්ටය නොමැතිව මාර්ගගත කිරීම සහ නාම සේවා නිවැරදිව ක්රියා නොකරන බව පැහැදිලිව පවසයි, සහ පිටවන විට අතුරුමුහුණතේ තත්ත්වය කඩා දමන සංරචකය ලෙස සහායකයා විස්තර කරයි. එබැවින් සේවාදායකයා -s සමඟ ආරම්භ කරන විට මාර්ගය වැදගත් වේ.
එම මාර්ගයට පැමිණෙන සංඥාව සංස්කරණ අතර වෙනස් විය. 7.06 අත්පොත SIGTERM ස්ක්රිප්ටය මඟ හරින ක්ෂණික පිටවීමක් ලෙස සලකයි. වර්තමාන build INT සහ TERM සැසිය ලොග් අවුට් වන සහ සහායකයා ධාවනය වන පිරිසිදු නැවැත්මක් ලෙස ලේඛනගත කරයි. ඉතිරි වන දෙකෙන් එකක් උපකල්පනය කරනවාට වඩා ඔබ සතුව ඇති බයිනරි ගොනුවේ SIGNALS කොටස කියවන්න.
man openconnect | sed -n '/^SIGNALS/,/^LIMITATIONS/p'
ඔබේ build ලේඛනගත කරන සංඥාව යවන්න
සංඥාව දැනගත් පසු ක්රියාවලිය රටාවෙන් නොව, pid මගින් නවත්වන්න.
pgrep -a openconnect
sudo kill -INT "$(cat /var/run/openconnect.pid)"
පසුව පිටවීමේ තත්ත්වය විශ්වාස කරනවාට වඩා පළමු කොටසේ චෙක්පත් තුන නැවත කරන්න. ip link show tun0 අසාර්ථක විය යුතුය, ip route show dev tun0 කිසිවක් මුද්රණය නොකළ යුතුය, සහ resolvectl status තවදුරටත් VPN සබැඳිය ලැයිස්තුගත නොකළ යුතුය.
SIGHUP නැවැත්වීමේ බොත්තමක් නොවේ: එය විසන්ධි කරයි, ස්ක්රිප්ටය ධාවනය කරයි, සහ සැසිය නැවත ආරම්භ කළ හැකි ලෙස තබයි: --cookie. SIGUSR2 ක්ෂණික නැවත සම්බන්ධ වීමට බල කරයි. SIGKILL පිරිසිදු කිරීම සම්පූර්ණයෙන් මඟ හරියි, සහ මෙම ලේඛනය කියන්නේ හරියටම එම තත්ත්වය ගැනයි.
resolv.conf ප්රතිස්ථාපනය නොකර resolver අලුත්වැඩියා කරන්න
බොහෝ Ubuntu පද්ධතිවල /etc/resolv.conf systemd-resolved වෙත සංකේතාත්මක සබැඳියක් වන අතර, ඔබ සංස්කරණය කළ යුතු ගොනුවක් නොවේ. එය ප්රතිස්ථාපනය කිරීම VPN එකට පමණක් නොව සෑම ජාලයකටම නාම විභේදනය බිඳ දමයි. ඒ වෙනුවට උමඟේ ලියාපදිංචිය ඉවත් කරන්න:
resolvectl revert tun0
resolvectl query example.com
පද්ධතිය systemd-resolved වෙනුවට resolvconf භාවිතා කරන්නේ නම්, අතුරුමුහුණත අනුව වාර්තාව සබැඳිය අතහැරීමට පවසන තෙක් පවතී, සහ resolvconf -d tun0 සමාන ක්රියාවකි. විධානය තේරීමට පෙර භාවිතා වන්නේ කුමන resolver දැයි පරීක්ෂා කරන්න.
මියගිය සබැඳිය පිටුපස සේවාදායකයකට තවමත් ඉලක්ක වන සෙවුමක් කාලය ඉකුත් වන තෙක් එල්ලී ඇත, සහ එම ප්රමාදය ඉතිරි මාර්ගයකට වඩා කැඩුණු DNS සේවාදායකයක් ලෙස පෙනේ.
ඊළඟ විසන්ධි කිරීම නීරස කරන්න
ආරම්භයේදී සහ වසා දැමීමේදී pid ගොනුවේ මාර්ගය සමානව තබා ගන්න, සෑම විටම --pid-file ලබා දීමෙන්, හෝ openconnect unit එකක් යටතේ ධාවනය කරන්න එහි KillSignal ඔබේ සංස්කරණය ලේඛනගත කරන සංඥාවට ගැළපේ. පළමුව ඉදිරිපස තිරයේ පරීක්ෂා කිරීම සහායකයා මුද්රණය කරන වසා දැමීමේ පණිවිඩ ඔබට පෙන්වයි.
සම්බන්ධ වන්න, විසන්ධි වන්න, සහ චෙක්පත් තුන එක් වරක් ධාවනය කරන්න. පිරිසිදු පිටවීමක් VPN සබැඳියක්, VPN මාර්ගයක් හෝ VPN resolver සටහනක් ඉතිරි නොකරයි. තුනෙන් එකක් ඉතිරි වුවහොත්, අසාර්ථක වූයේ කුමන සංරචකයදැයි දැන් ඔබ දන්නවා. ඊළඟ විමර්ශනය එවිට එල්ලෙන සෙවුමකින් නොව, එම පිළිතුරෙන් ආරම්භ වේ.