VPN සේවාදායකය ස්ක්රිප්ට් කිරීම: මුරපදයට පෙර ස්තරය තෝරන්න
සැපයුම්කරුගේ CLI, rasdial, යෙදුම් අභිප්රාය හෝ UI ස්වයංක්රීයකරණය එකින් එක වෙනස් ලෙස අසාර්ථක වේ. ස්තරය තෝරන්න, රහස argv වලින් බැහැර තබන්න, සහ තත්ත්වය සඳහා රැඳී සිටින්න, පිටවීම් කේත සඳහා නොවේ.
ස්ක්රිප්ට් VPN සේවාදායකයන් ලේඛකයා තෝරාගත් ස්තරයේ ආරම්භ කරයි, එම ස්තරය කාර්යයට අවශ්ය වූ ස්තරය වීම දුර්ලභ ය. සැපයුම්කරුගේ විධාන රේඛාව, මෙහෙයුම් පද්ධතියේ ඩයලරය සහ ජංගම යෙදුම් අභිප්රාය සියල්ලම සම්බන්ධතාවයේ ජීවිතයේ විවිධ අවස්ථාවලදී ආපසු එයි. ඔවුන් රහස ද වෙනස් ලෙස හසුරුවයි, එම වෙනස මුරපදය යන්ත්රයේ සෑම පරිශීලකයාටම දිස්වේද යන්න තීරණය කරයි. ස්ක්රිප්ටයේ පළමු පේළිය ලිවීමට පෙර ස්තරය තෝරන්න.
ස්තරය 1: සැපයුම්කරුගේ විධාන රේඛාව
බොහෝ ඩෙස්ක්ටොප් සේවාදායකයන් පැතිකඩ නාමයක් සහ, බොහෝ විට, මුරපදයක් ගන්නා විධාන රේඛාවක් සපයයි. Cisco හි පැරණි සේවාදායකය පරිශීලක සහ මුරපද තර්ක සහිත connect ක්රියාපදය පිළිගත්තේය; macOS අන්තර්ගත සේවාව networksetup හරහා නිරාවරණය කරයි; NetworkManager nmcli වෙත පිළිතුරු දෙයි. මෙම ඇමතුම් විධානය අවසන් වූ විට ආපසු එයි, එය උමං මාර්ගය භාවිතයට ගත හැකි මොහොත නොවේ. ඔබ ක්රියාත්මක කරන අනුවාදය සඳහා සැපයුම්කරුගේම ලේඛන කියවන්න, මෙම අතුරුමුහුණත් වෙනස් වන අතර සමහරක් සම්පූර්ණයෙන්ම ඉවත් කරනු ලැබේ.
nmcli connection up "Work VPN"
networksetup -connectpppoeservice "Work VPN"
වාසිය නම් සැපයුම්කරු තමන්ගේම පැතිකඩ ගබඩාව දන්නා බැවින් ඇමතුම GUI භාවිතා කරන එම වින්යාසයම භාවිතා කරයි. අවාසිය නම් සෑම සැපයුම්කරුවෙකුම තමන්ගේම ක්රියාපද නිර්මාණය කරන අතර එක් සේවාදායකයක් සඳහා ලියන ලද ස්ක්රිප්ටයක් තවත් එකකට මාරු නොවේ. සේවාදායකය ස්ථිර වන අතර අනුවාදය pin කර ඇති විට මෙම ස්තරය කෙටිම මාර්ගය ලෙස සලකන්න.
ස්තරය 2: මෙහෙයුම් පද්ධතියේම සේවාව
Windows හි ඩයලරය මෙහෙයුම් පද්ධතියේ කොටසක් වන අතර එය සැපයුම්කරුගේ පැතිකඩ ගබඩාව වෙනුවට දුරකථන පොත් සටහනක් සමඟ ක්රියා කරයි. එය සේවාදායකයන් අතර වඩාත් ගෙනයා හැකි අතර සේවා ගිණුමකින් ස්ක්රිප්ට් කිරීම පහසු කරයි. එයින් අදහස් වන්නේ සම්බන්ධතාවය එක් තැනක පැවතිය හැකි අතර අනෙක් තැන නොපැවතිය හැකි බවයි, එය වැරදි ලැයිස්තුව දෙස බලන අය අවුල් කරයි.
rasdial "Work VPN" user pass
Get-VpnConnection -Name "Work VPN" | Select-Object ConnectionStatus
සටහන සෑදීමට හෝ ඉවත් කිරීමට අවශ්ය විට එය ඩයල් කිරීම වෙනුවට PowerShell මතුපිට භාවිතා කරන්න. WMI සහ cmdlet ස්තර එකම වස්තූන් විවිධ නම් වලින් නිරාවරණය කරයි, ඉවත් කිරීම විසන්ධි කිරීමෙන් වෙන් වූ ක්රියාවකි. ඩයල් කිරීම පමණක් කරන ස්ක්රිප්ටයක් සංක්රමණයෙන් පසු පැරණි සටහන් ඉතිරි කරයි. පිරිසිදු කිරීම සිදුවේ යැයි පොරොන්දු වීමට පෙර ඔබේ ස්වයංක්රීයකරණය කුමන ගබඩාවට ලියයිද පරීක්ෂා කරන්න.
Remove-VpnConnection -Name "Old VPN" -Force
Get-VpnConnection
macOS හි සමාන දෙය වන්නේ ජාල සේවා ලැයිස්තුවයි, එහි පවතින සේවාවක් නමින් සම්බන්ධ වේ, එම ස්ථානයේම නිර්මාණය නොවේ.
සත්යාපන දත්ත සෑම ස්තරයකම කාන්දු වේ, එබැවින් නාලිකාව තෝරන්න
විධාන රේඛාවේ ඔබ යවන සියල්ල සෑම ස්ථානීය පරිශීලකයාටම ක්රියාවලි වගුවේ දිස්වන අතර සාමාන්යයෙන් shell ඉතිහාසයේ ද ඉතිරි වේ. OpenVPN හි ආධාරක විකල්පය වන්නේ රහස ගොනුවකින් කියවීමයි --askpass සමඟ, සහ ගොනුවටම එය මත තබන විශ්වාසයට ගැළපෙන අවසර අවශ්ය වේ. නම් කළ නළයක් රහස තැටියට ලිවීම වළක්වයි නමුත් එය විවෘත කළ හැකි ඕනෑම ක්රියාවලියකට එහි ලිවීමට ඉඩ දෙයි. Windows හි රහස සත්යාපන කළමනාකරු තුළ හෝ සේවා ගිණුමට පමණක් කියවිය හැකි ගොනුවක තබන්න, කිසි විටෙකත් batch ගොනුවක වචනාර්ථයෙන් නොතබන්න.
openvpn --config /etc/openvpn/work.conf --askpass /etc/openvpn/work.secret --auth-nocache --daemon
ls -l /etc/openvpn/work.secret
එකම රීතිය ටෝකන සහ එක් වරක් භාවිතා කරන කේත සඳහා ද අදාළ වේ: ස්වයංක්රීයකරණයට ඒවා අවශ්ය නම්, ස්වයංක්රීයකරණයට විධාන රේඛා තර්කයක් නොවන නාලිකාවක් අවශ්ය වේ. යාන්ත්රණය වෙනස් කරන විට රහස කරකවන්න, පැරණි අගය කොහේ හෝ ලොගයක වැතිරී ඇති බැවින්. වැඩ කරන සහ කාන්දු වන ස්ක්රිප්ටයක් වැඩ කරන ස්ක්රිප්ටයක් නොවේ.
තත්ත්වය සඳහා රැඳී සිට, පසුව එක් හිමිකරුවෙකු අධීක්ෂණය කරන්න
මෙම ඇමතුම් සෑම එකක්ම උමං මාර්ගය සූදානම් වීමට පෙර ආපසු එයි, එබැවින් සේවාදායකය නිරාවරණය කරන තත්ත්වය අසන්න හෝ එහි ඇතුළත ගමනාන්තයක් කාල සීමාවක් සමඟ පරීක්ෂා කරන්න. සම්බන්ධතා ඇමතුමෙන් පසු වහාම ගොනු පිටපත් කිරීම හෝ දත්ත සමුදාය සම්බන්ධතාවයක් විවෘත කිරීම තරඟයක් වන අතර එය ජාල දෝෂයක් ලෙස පෙනෙන ආකාරයෙන් කලින් කල අසාර්ථක වේ.
ip link show tun0
nmcli -t -f GENERAL.STATE connection show "Work VPN"
curl -sS --max-time 5 https://app.internal.example/health -o /dev/null
විසන්ධි කිරීමට ප්රතිවිරුද්ධ දිශාවෙන් එකම ගැටලුව ඇත: ක්රියාවලිය මාර්ග යාමට පෙර පිටවිය හැක. සේවාදායකයේ කොකු ඇති තැන භාවිතා කරන්න, උදාහරණයක් ලෙස OpenVPN හි up සහ down ස්ක්රිප්ට හෝ systemd ඒකකයක ExecStartPost, ඒවා ඔබට සැබවින්ම වැදගත් වන ලක්ෂ්යයේ ක්රියාත්මක වන බැවින්. කොකු ඒවා කැඳවූ දෙයේ වරප්රසාද සමඟ ක්රියාත්මක වේ, එබැවින් ජාලය නැවත ආරම්භ කරන කොකුවකට උපකල්පනයක් වෙනුවට පැහැදිලි රීතියක් අවශ්ය වේ. සම්බන්ධතාවයේ මුළු ආයු කාලය තුළ හරියටම එක් හිමිකරුවෙකු තබා ගන්න.
අධීක්ෂකයින් දෙදෙනෙකු එකම පැතිකඩ ආරම්භ කර නවත්වන විට, ප්රතිඵලය සැපයුම්කරුගේ බාධාවක් ලෙස කියවෙන නැවත සම්බන්ධ වීමේ ලූපයකි. ස්තරය ලේඛනගත වූ විට, රහසට argv නොවන නාලිකාවක් ඇති විට, රැඳී සිටීමේ කොන්දේසිය කාල සීමාවක් සහිත තත්ත්ව පරීක්ෂාවක් වන විට, සහ එක් ක්රියාවලියක් ජීවන චක්රය හිමිකර ගන්නා විට runbook අවසන් වේ.