Qala i-VPN yakwa-Mac egciniwe kusukela kutheminali nge-scutil --nc
Sebenzisa i-scutil --nc ukuqala, ukuhlola nokumisa isevisi ye-VPN ye-macOS egciniwe, gcina ubufakazi ngaphandle kwe-argv, futhi ubonise ukuthi ithrafikhi isebenzisa umhubhe ngempela.
Unesevisi ye-VPN egciniwe kuzilungiselelo zeSistimu, futhi ufuna itheminali iqale yona. Ku-macOS indlela esekelwayo i-scutil --nc, kodwa yemisebenzi ephethwe umphathi wokuxhumana kwenethiwekhi wesistimu uqobo. Ibha yemenyu akuyona i-API: amaklayenti ezinkampani zangaphandle ngokuvamile anokuzenzakalela kwawo, futhi iphrofayela ethunyelwa isevisi yokuphatha ingase yenqabe ukuqala kwendawo. Lolu uhlu lokuhlola engilulandelayo: thola isevisi ngqo, funda isimo sayo, yiqale, linda ukuthi isimo sishintshe, bese ubonisa ukuthi ithrafikhi isebenzisa umhubhe ngempela. Misa esinyathelweni sokuqala esingavumelani, ngoba yonke imiyalo elandelayo icabanga ukuthi eyandulelayo yaphumelela.
Thola isevisi ngaphambi kokuzama ukuyiqala
Qala ngohlu, hhayi ngegama lephrofayela olikhumbulayo:
scutil --nc help
scutil --nc list
Umgqa ngamunye uhlanganisa isimo nesikhombisi sesevisi, uhlobo negama lokubonisa. Isikhombisi yinani okubhalwa ngalo amaskripthi, ngoba amagama okubonisa ayaphindaphinda futhi angashintshwa. Incwadi ye-scutil yakwa-Apple ichaza imodi yokuxhumana kwenethiwekhi, kanti i---nc help efakiwe iwuhlu olugunyaziwe lwemiyalo engaphansi kuleyo Mac; ungacabangi ukuthi ifulegi elivela encwadini endala lisekhona kunguqulo yakho ye-macOS.
Uhlu olungenalutho luwumphumela, hhayi iphutha. Isevisi edalwe iklayenti lomthengisi noma iphrofayela yokuphatha ingase isebenze ngenkathi ingabonakali lapha, noma ibonakale ngohlobo umlawuli womdabu angakwazi ukuluqondisa. Uma kunjalo, sebenzisa ithuluzi lomthengisi noma imibhalo yephrofayela. Ukwenza iphrofayela yomdabu ehambisanayo ukuze nje ube nokuthile ongakuqala kuwukuhweba okubi.
Funda isimo samanje bese uqinisekisa isikhethi
Buza isevisi ngesimo ngaphambi kokuyiqala, ukuze wazi ukuthi ukuqala okuphumelelayo kufanele kushintshe ini:
scutil --nc status "Office VPN"
Uma izinsizakalo ezimbili zabelana ngegama elilodwa lokubonisa, igama alicacile. Dlulisa isikhombisi esikhundleni salokho; umyalo wamukela kokubili, kodwa isikhombisi kuphela esiqinisekisa ukukhetha isevisi eyodwa. Ngaphambi kokuyihlaziya kumaskripthi, hlola ukuthi igama lesimo lingelinye olaziyo — ngokuvamile i-Connected, Disconnected, Connecting noma Disconnecting. Phinda uhlole ukuthi iphrofayela iyaphathwa yini, ngoba ukulungiselelwa okukhiyiwe kungamukela umyalo kodwa kuwushaye indiva noma kucele ukuqinisekiswa.
Lolu cingo lwesimo lushibhile, ngakho lusebenzise njengomqaphi ekuzenzakaleleni: qala kuphela uma isimo siyi-Disconnected, futhi ungathathi i-Connecting njengokwehluleka. Uma isevisi isivele iyi-Connected, yeqa ukuqala esikhundleni sokuphazamisa umhubhe osebenzayo.
Qala ukuxhumana bese ulinda ukuthi isimo sizinzile
Isicelo sokuqala asihambisani nesikhathi. Umyalo ubuya lapho isicelo samukelwa, hhayi lapho ukuqinisekisa kuqeda noma imizila ifakwa. Yisebenzise, bese uhlola isimo ngokulinda okulinganiselwe futhi uphume uma isevisi ibuyela ku-Disconnected:
scutil --nc start "Office VPN"
n=0
while [ "$n" -lt 30 ]; do
state=$(scutil --nc status "Office VPN" | head -n 1)
[ "$state" = "Connected" ] && break
[ "$state" = "Disconnected" ] && { echo "start failed"; exit 1; }
sleep 2
n=$((n + 1))
done
Isimo se-Connecting esingalokothi sixazululwe ngokuvamile sikhomba kubufakazi, i-MFA noma kuseva, hhayi ku-scutil. Umyalo awukwazi ukunikeza ukungena okusebenzisanayo, ngakho iphrofayela elindele ithokheni noma ukhiye wehadiwe izohlala ku-Connecting futhi ekugcineni ihlehle. Funda igama lesimo ngaphambi kokwengeza imizamo emisha; umjikelezo olwa nesicelo sokuqinisekisa awukwazi ukuphumelela.
Ungathathi isimo sokuphuma se-shell njengokulungela. Isignali ewusizo iwuchungechunge lwesimo, ilandelwa ubufakazi bokuthi umhubhe uthwala ithrafikhi. Umyalo wokuqala obuya buthule usengakushiya nokuxhumana okungalokothi kuqinisekiswe.
Bonisa ukuthi umhubhe uthwala ithrafikhi, hhayi nje ukuthi uthi Connected
I-Connected ichaza ukuxhumana, hhayi isinqumo somzila. Izinsizakalo zomdabu ze-PPP ne-IKEv2 zakha isixhumi esibonakalayo se-ppp noma se-utun futhi zifaka imizila, kanti umhubhe ohlukanisiwe ushiya umzila ozenzakalelayo ngamabomu. Hlola izixhumi kanye nemindeni yamakheli emibili:
ifconfig -l
netstat -rn -f inet
netstat -rn -f inet6
scutil --dns
Thola isixhumi esidalwe isevisi esikhundleni sokuqagela inombolo, bese ubuza ithebula lemizila ukuthi yisiphi isixhumi esisetshenziswa indawo ethile: route -n get 10.0.0.10, ufake umsingathi wangaphakathi esikhundleni salokho. Uma kubika isixhumi somzimba, umhubhe uvuliwe kodwa awuwuthwali lowo mfudlana. Hlola imizila yomhubhe ohlukanisiwe, ukulandelana kwesixazululi nomthetho wonke we-firewall wendawo ovumela isixhumi somhubhe kodwa hhayi inqubo.
Ukuxazululwa kwamagama kuwumphumela wamanga ojwayelekile. Amagama angaphakathi angaxazululwa ngesixazululi esingalungile ngenkathi umhubhe uphile ngokuphelele, okubonakala njengokwehluleka kwe-VPN futhi akusikho. I-scutil --dns ikhombisa ukulandelana i-macOS ezokwenza; ngemuva koshintsho lwesixazululi, sula inqolobane nge-dscacheutil -flushcache ne-sudo killall -HUP mDNSResponder.
Gcina ubufakazi namalungelo ngaphandle komugqa womyalo
Ungalokothi ufake iphasiwedi, ukhiye owabiwe ngaphambili noma ithokheni kuma-agumenti. Ama-agumenti abonakala ohlwini lwezinqubo futhi angena emlandweni we-shell, futhi umbhalo wokusekela okopishiwe ungawaveza. Ukuphathwa kobufakazi kwephrofayela uqobo — kungaba into ye-Keychain, isicelo sesistimu noma ukugeleza kokuqinisekisa kweklayenti — yindawo yezimfihlo.
Ukuqalisa umyalo nge-sudo akwenzi ukungena okusebenzisanayo kungabi nokugadwa. Kushintsha umsebenzisi osebenzayo, hhayi ukutholakala kwesicelo se-GUI, ithokheni yehadiwe noma i-keychain yokungena. I-LaunchAgent ingaqala isevisi ngemva kokuba umsebenzisi engene futhi i-keychain ivuliwe; i-LaunchDaemon ngokuvamile ayifinyeleli lezo zingxenye zesikhathi somsebenzisi. Uma inhlangano iphatha isevisi, imithetho yayo yomjikelezo wokuphila inqoba noma yisiphi iskripthi sendawo.
Misa isevisi bese uqinisekisa ukuthi yahlala imisiwe
Misa ngesikhethi esifanayo osisebenzise ukuqala, bese ufunda isimo futhi esikhundleni sokucabanga ukuthi umhubhe unyamalele:
scutil --nc stop "Office VPN"
scutil --nc status "Office VPN"
Ukumisa okubuyela ku-Disconnected kusashiya into eyodwa okufanele ihlolwe: ukuthi iphrofayela isethelwe ukuxhuma uma kudingeka, okungayibuyisela ngaphandle kweskripthi sakho. Uma elinye iklayenti linemizila kuleyo Mac efanayo, leyo mizila ingase yeqe ukumiswa komdabu. Phinda uhlole umzila ngaphambi kokuphetha ngokuthi umshini ungaphandle kwe-VPN.
Kumhlanganisi owusebenzisa ngesandla, gcina ukulandelana kuqinile: uhlu, isimo, ukuqala, ukuhlola, ukuhlolwa komzila, ukumisa, ukuqinisekisa. Ungahlaziyi igama elingumngane kokuphuma okukhululekile uma isikhombisi sikhona, futhi ungathathi ukuphuma kommyalo wokuqala njengokulungela. Umphathi wokuxhumana ubika isimo; ubufakazi bakho yisimo kanye nomzila okhomba emhubheni.