Ibda VPN Mac salvat mit-terminal b’scutil --nc
Uża scutil --nc biex tibda, tifli u twaqqaf servizz VPN macOS salvat, żomm il-kredenzjali barra minn argv u ppruva li t-traffiku tassew juża l-mina.
Għandek servizz VPN salvat fis-Settings tas-Sistema, u trid li t-terminal jibdah. Fuq macOS it-triq appoġġjata hija scutil --nc, iżda biss għal servizzi li huma proprjetà tal-maniġer tal-konnessjonijiet tan-netwerk tas-sistema stess. Il-bar tal-menu mhix l-API: il-klijenti ta’ partijiet terzi normalment għandhom l-awtomazzjoni tagħhom, u profil imbuttat minn servizz ta’ ġestjoni jista’ jirrifjuta bidu lokali. Din hija l-lista ta’ kontroll li nwettaq: sib is-servizz eżatt, aqra l-istat tiegħu, ibdah, stenna li l-istat jinbidel, u mbagħad ippruva li t-traffiku tassew juża l-mina. Waqqaf fl-ewwel pass li ma jaqbilx, għax kull kmand sussegwenti jassumi li dak ta’ qablu rnexxa.
Sib is-servizz qabel ma tipprova tibdah
Ibda mill-inventarju, mhux mill-isem tal-profil li tiftakar:
scutil --nc help
scutil --nc list
Kull linja tqabbel stat ma’ identifikatur tas-servizz, tip u isem tal-wiri. L-identifikatur huwa l-valur li jinkiteb skript kontrih, għax l-ismijiet tal-wiri jirrepetu u jistgħu jiġu editjati. Il-manwal scutil ta’ Apple jiddokumenta l-mod tal-konnessjoni tan-netwerk, filwaqt li l---nc help installat huwa l-lista awtorevoli tas-sottokmandi fuq dak il-Mac; tassumix li bandiera minn gwida eqdem għadha teżisti fil-verżjoni tal-macOS tiegħek.
Lista vojta hija riżultat, mhux żball. Servizz maħluq minn klijent tal-fornitur jew profil tal-ġestjoni jista’ jkun attiv waqt li jkun inviżibbli hawn, jew viżibbli b’tip li l-kontrollur nattiv ma jistax isuq. F’dak il-każ, uża l-għodda tal-fornitur jew id-dokumentazzjoni tal-profil. Il-ħolqien ta’ profil nattiv parallel biss biex ikollok xi tibda huwa negozju ħażin.
Aqra l-istat attwali u kkonferma s-selettur
Staqsi lis-servizz għall-istat qabel ma tibdah, biex tkun taf x’għandu jinbidel bidu b’suċċess:
scutil --nc status "Office VPN"
Jekk żewġ servizzi jaqsmu isem tal-wiri wieħed, l-isem huwa ambigwu. Għaddi l-identifikatur minflok; il-kmand jaċċetta t-tnejn, iżda biss l-identifikatur huwa garantit li jagħżel servizz wieħed. Qabel ma tanalizzah fi skript, iċċekkja li l-kelma tal-istat hija waħda li tagħraf — normalment Connected, Disconnected, Connecting jew Disconnecting. Iċċekkja wkoll jekk il-profil huwiex ġestit, għax konfigurazzjoni msakkra tista’ taċċetta l-kmand u xorta tinjorah jew titlob konferma.
Dan is-sejħa tal-istat hija rħisa, użaha bħala gwardjan fl-awtomazzjoni: ibda biss meta l-istat ikun Disconnected, u tqisx Connecting bħala falliment. Jekk is-servizz diġà Connected, aqbeż il-bidu minflok tinterrompi mina li qed taħdem.
Ibda l-konnessjoni u stenna li l-istat jistabbilizza
It-talba tal-bidu hija asinkronika. Il-kmand jerġa’ lura meta t-talba tiġi aċċettata, mhux meta tispiċċa l-awtentikazzjoni jew jiġu installati r-rotot. Eżegwiha, imbagħad stħarreġ l-istat b’stennija limitata u oħroġ jekk is-servizz jaqa’ lura għal 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
Stat Connecting li qatt ma jiġi riżolt normalment jindika kredenzjali, MFA jew is-server, mhux scutil. Il-kmand ma jistax jipprovdi login interattiv, għalhekk profil li jistenna token jew ċavetta tal-ħardwer se jibqa’ fi Connecting u fl-aħħar jaqa’ lura. Aqra l-kelma tal-istat qabel ma żżid tentattivi mill-ġdid; linja kontra talba tal-awtentikazzjoni ma tistax tirnexxi.
Tqisx l-istat tal-ħruġ tal-qoxra bħala tħejjija. Is-sinjal utli huwa l-string tal-istat, segwit minn prova li l-mina qed iġġorr it-traffiku. Kmand tal-bidu li jerġa’ lura bil-kwiet xorta jista’ jħallik b’konnessjoni li qatt ma tiġi awtentikata.
Ippruva li l-mina ġġorr it-traffiku, mhux biss li tgħid Connected
Connected jiddeskrivi l-konnessjoni, mhux id-deċiżjoni tar-rotot. Is-servizzi PPP u IKEv2 nattivi joħolqu interface ppp jew utun u jinstallaw rotot, filwaqt li mina maqsuma tħalli r-rotta awtomatika apposta bla ma tmiss. Spezzjona l-interfaces u ż-żewġ familji tal-indirizzi:
ifconfig -l
netstat -rn -f inet
netstat -rn -f inet6
scutil --dns
Sib l-interface li ħoloq is-servizz minflok taqta’ numru, imbagħad staqsi lit-tabella tar-rotot liema interface tuża destinazzjoni partikolari: route -n get 10.0.0.10, bil-host intern flokha. Jekk tirrapporta l-interface fiżika, il-mina hija attiva iżda mhijiex iġġorr dak il-fluss. Iċċekkja r-rotot tal-mina maqsuma, l-ordni tar-riżolutur u kull regola tal-firewall lokali li tippermetti l-interface tal-mina iżda mhux il-proċess.
Ir-riżoluzzjoni tal-ismijiet hija n-negattiv falz tas-soltu. L-ismijiet interni jistgħu jiġu riżolti permezz tar-riżolutur ħażin waqt li l-mina tkun perfettament sana, li tidher bħala ħsara tal-VPN u mhijiex. scutil --dns juri l-ordni li se tuża macOS; wara bidla tar-riżolutur, ibbattal il-cache b’dscacheutil -flushcache u sudo killall -HUP mDNSResponder.
Żomm il-kredenzjali u l-privileġġi barra mil-linja tal-kmand
Qatt tpoġġi password, ċavetta maqsuma minn qabel jew token fl-argumenti. L-argumenti huma viżibbli fil-listi tal-proċessi u jispiċċaw fl-istorja tal-qoxra, u traskrizzjoni tal-appoġġ ikkupjata tista’ tixxerredhom. Il-ġestjoni tal-kredenzjali tal-profil stess — kemm jekk hija oġġett tal-Keychain, talba tas-sistema jew il-fluss tal-awtentikazzjoni tal-klijent — hija l-post għas-sigrieti.
It-tħaddim tal-kmand b’sudo ma jagħmilx login interattiv mingħajr sorveljanza. Dan ibiddel l-utent effettiv, mhux id-disponibbiltà ta’ talba tal-GUI, token tal-ħardwer jew il-Keychain tal-login. LaunchAgent jista’ jibda servizz wara li l-utent jidħol u l-Keychain jiġi żblukkat; LaunchDaemon normalment ma jilħaqx dawk il-partijiet tas-sessjoni tal-utent. Jekk organizzazzjoni tiġġestixxi s-servizz, ir-regoli taċ-ċiklu tal-ħajja tagħha jieħdu preċedenza fuq kull skript lokali.
Waqqaf is-servizz u ivverifika li baqa’ waqaf
Waqqaf bl-istess selettur li użajt biex tibda, imbagħad aqra l-istat mill-ġdid minflok tassumi li l-mina marret:
scutil --nc stop "Office VPN"
scutil --nc status "Office VPN"
Waqfien li jerġa’ lura għal Disconnected xorta jħalli ħaġa waħda x’jivverifika: jekk il-profil huwiex issettjat biex jgħaqqad fuq talba, li jista’ jġibu lura mingħajr l-iskript tiegħek. Jekk klijent ieħor għandu rotot fuq l-istess Mac, dawk ir-rotot jistgħu jgħaddu minn waqfien nattiv. Erġa’ ċċekkja r-rotta qabel ma tikkonkludi li l-magna hija barra mill-VPN.
Għal wrapper li tmexxi bl-idejn, żomm l-ordni fissa: lista, stat, bidu, stħarriġ, test tar-rotta, waqfien, verifika. Tanalizzax l-isem ħbiberija minn output b’forma ħielsa meta l-identifikatur ikun disponibbli, u tqisx il-ħruġ tal-kmand tal-bidu bħala tħejjija. Il-maniġer tal-konnessjonijiet jirrapporta l-istat; il-prova tiegħek hija l-istat flimkien ma’ rotta li tindika lejn il-mina.