Awọn script máa ń bẹrẹ awọn ẹrọ VPN ni ipele ti onkọwe yan, ipele yẹn sì kì í ṣe eyi ti iṣẹ náà nílò. Laini aṣẹ olupese, olupilẹṣẹ ẹrọ ẹrọ amuṣiṣẹpọ ati ipinnu app ẹrọ alagbeka gbogbo wọn máa ń pada ni awọn aaye oriṣiriṣi ninu igbesi aye asopọ. Wọn tún máa ń tọ́jú aṣiri náà lọ́nà yàtọ̀, ìyàtọ̀ yẹn sì máa ń pinnu bóyá ọrọ igbaniwọle yóò hàn sí gbogbo olumulo lori ẹrọ. Yan ipele naa ṣaaju ki o kọ ila akọkọ ti script naa.

Ipele 1: laini aṣẹ olupese

Ọpọ ti awọn ẹrọ desktop máa ń pèsè laini aṣẹ ti ó gba orukọ profaili ati, jù bẹ́ẹ̀ lọ, ọrọ igbaniwọle. Ẹrọ atijọ Cisco gba ọrọ-ìṣe connect pẹlu awọn ariyanjiyan olumulo ati ọrọ igbaniwọle; macOS fi iṣẹ ti a kọ sinu han nipasẹ networksetup; NetworkManager dáhùn sí nmcli. Awọn ipe wọnyi pada nigbati aṣẹ naa ba pari, eyi kii ṣe akoko kanna ti tunnel yoo di lilo. Ka iwe-aṣẹ olupese fun ẹya ti o nfi sori ẹrọ, nitori awọn wiwo wọnyi máa ń yí padà ati pe a yọ awọn kan kuro patapata.

nmcli connection up "Work VPN"
networksetup -connectpppoeservice "Work VPN"

Anfani ni pe olupese mọ ibi ipamọ profaili tirẹ, nitori naa ipe naa lo iṣeto kanna ti GUI yoo lo. Alailanfani ni pe olupese kọọkan n dá awọn ọrọ-ìṣe tirẹ, ati pe script ti a kọ fun ẹrọ kan ko gbe lọ si omiran. Wo ipele yii bi ọna ti o kuru julọ nigbati ẹrọ naa ba duro ati ẹya ti wa ni pinnu.

Ipele 2: iṣẹ ti ẹrọ amuṣiṣẹpọ tikararẹ

Lori Windows olupilẹṣẹ jẹ apakan ti ẹrọ amuṣiṣẹpọ, ati pe o máa ń ṣiṣẹ lodi si titẹ sii iwe foonu dipo ibi ipamọ profaili olupese. Eyi jẹ ki o rọrun lati gbe kọja awọn ẹrọ ati rọrun lati ṣe script lati akọọlẹ iṣẹ. O tún túmọ si pe asopọ le wa ni ibi kan kii ṣe ni ibomiiran, eyi ti o da rudurudu fun awọn ti n wo atokọ ti ko tọ.

rasdial "Work VPN" user pass
Get-VpnConnection -Name "Work VPN" | Select-Object ConnectionStatus

Lo oju PowerShell nigbati o nilo lati ṣẹda tabi yọ titẹ sii kuro dipo pipè rẹ. Awọn ipele WMI ati cmdlet fi awọn nkan kanna han labẹ awọn orukọ oriṣiriṣi, ati yiyọ jẹ iṣẹ ti o yatọ si pipin asopọ. Script ti o máa ń pè nikan yoo fi awọn titẹ sii ti ogbologbo silẹ lẹhin gbigbe. Ṣayẹwo ibi ipamọ ti adaṣe rẹ ń kọ si ṣaaju ki o ṣe ileri pe mimọ yoo ṣẹlẹ.

Remove-VpnConnection -Name "Old VPN" -Force
Get-VpnConnection

Lori macOS ohun kanna ni atokọ awọn iṣẹ nẹtiwọọki, nibiti iṣẹ ti o wa tẹlẹ ti wa ni asopọ pẹlu orukọ dipo ṣiṣẹda rẹ lẹsẹkẹsẹ.

Awọn ẹri máa ń jo ni gbogbo ipele, nitorina yan ikanni naa

Ohunkohun ti o kọja lori laini aṣẹ yoo han ninu tabili ilana fun gbogbo olumulo agbegbe, ati pe o máa ń yè ninu itan shell pẹlu. Aṣayan ti OpenVPN ṣe atilẹyin ni kika aṣiri lati inu faili pẹlu --askpass, ati faili naa funrarẹ nilo awọn igbanilaaye ti o baamu igbẹkẹle ti o fi sinu rẹ. Paipu ti a fun ni orukọ yago fun kikọ aṣiri si disiki ṣugbọn jẹ ki ilana eyikeyi ti o le ṣii rẹ kọ nibẹ. Lori Windows, tọju aṣiri naa ninu oluṣakoso ẹri, tabi ninu faili ti akọọlẹ iṣẹ nikan le ka, ati pe ko gbọdọ jẹ gbolohun ọrọ taara ninu faili batch.

openvpn --config /etc/openvpn/work.conf --askpass /etc/openvpn/work.secret --auth-nocache --daemon
ls -l /etc/openvpn/work.secret

Ofin kanna kan awọn token ati awọn koodu lilo ẹẹkan: ti adaṣe ba nilo wọn, adaṣe nilo ikanni ti kii ṣe ariyanjiyan laini aṣẹ. Yiyi aṣiri nigbati o yipada ilana naa, nitori iye atijọ ti dubulẹ ninu log kan nibakan. Script ti o ṣiṣẹ ti o jo kii ṣe script ti o ṣiṣẹ.

Duro fun ipo, lẹhinna ṣe abojuto olunini kan

Ọkọọkan ninu awọn ipe wọnyi pada ṣaaju ki tunnel ṣetan, nitorina ṣayẹwo ipo ti ẹrọ fi han tabi gbiyanju ibi-afẹde kan ninu rẹ pẹlu akoko idaduro. Didaakọ awọn faili tabi ṣiṣi asopọ data data lẹsẹkẹsẹ lẹhin ipe asopọ jẹ ere-ije, ati pe o máa ń kuna lẹẹkọọkan ni ọna ti o dabi aiṣedeede nẹtiwọọki.

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

Pipin asopọ ni iṣoro kanna ni ọna idakeji: ilana le jade ṣaaju ki awọn ipa ọna lọ. Lo awọn kio ti ẹrọ nibiti wọn wa, gẹgẹbi awọn script up ati down ti OpenVPN tabi ExecStartPost ti apakan systemd, nitori wọn máa ń ṣiṣẹ ni aaye ti o ṣe pataki fun ọ gaan. Awọn kio máa ń ṣiṣẹ pẹlu awọn ẹtọ ti ohunkohun ti o pe wọn, nitorina kio ti o tun bẹrẹ nẹtiwọọki nilo ofin ti o han gbangba dipo arosinu. Tọju olunini kan gangan fun igbesi aye asopọ naa.

Nigbati awọn alabojuto meji ba bẹrẹ ati da profaili kanna duro, abajade jẹ lupu atunṣopọ ti o ka bi iparun olupese. Runbook naa dopin nigbati ipele naa ba jẹ akọsilẹ, aṣiri naa ni ikanni ti kii ṣe argv, ipo idaduro jẹ ayẹwo ipo pẹlu akoko idaduro, ati ilana kan ni o ni oṣuwọn igbesi aye.

Àwọn àpilẹ̀kọ tó jọra