Սկրիպտները, որոնք պահուստավորումից առաջ VPN են պահանջում, հաճախ openvpn-ը գործարկում են ուղղակիորեն: Դա թողնում է այն պրոֆիլը, DNS-ը և երթուղիների մշակումը, որը Tunnelblick-ն արդեն ղեկավարում է: Աջակցվող ուղին Tunnelblick-ի սեփական AppleScript ինտերֆեյսն է, որն ընդունում է connect, state և disconnect հարցումներ անվանված կոնֆիգուրացիայի համար: Օգտագործեք այն և թողեք հավելվածը պատասխանատու մնա:

Խոսեք հավելվածի հետ, ոչ openvpn-ի

Tunnelblick-ին է պատկանում OpenVPN պրոֆիլը, շարժիչի ընտրությունը, սկրիպտները և DNS-ի ու երթուղիների ինտեգրումը: Առանձին openvpn բինար ֆայլը գործարկման այլ կարգ է, ոչ թե նույն միացման կարճ ուղի:

Հավելվածի սկրիպտային ինտերֆեյսի կանչը պահպանում է այդ սեփականությունը անփոփոխ և յուրաքանչյուր հարցում դարձնում ստուգելի:

Այստեղի օրինակները ենթադրում են, որ Tunnelblick-ը գտնվում է Applications-ում, աշխատող կոնֆիգուրացիան կոչվում է HQ, և հրամանները կատարվում են մուտք գործած Mac օգտատիրոջ սեսիայում: Փոխեք անունը ձեր ունեցած ճշգրիտ կոնֆիգուրացիայով:

Գործարկեք ճիշտ մեկ անվանված պրոֆիլ

connect հարցումը նշում է կոնֆիգուրացիայի անունը: Դա հարցում չէ միանալու վերջին ընտրվածին:

Կատարեք այն օգտատիրոջ սեսիայում, որին պատկանում է կոնֆիգուրացիան՝

osascript -e 'tell application "/Applications/Tunnelblick.app" to connect "HQ"'

Անցեք սովորական մուտքի հուշումները: macOS-ը կարող է հարցնել՝ թույլատրվա՞ծ է արդյոք կանչող հավելվածին կառավարել Tunnelblick-ը. հաստատելուց առաջ ստուգեք, թե որ հավելվածը և որ նպատակը: Այդ երկխոսությունը սեղմումով շրջանցող ավտոմատացումը զրկում է երկխոսությանն իմաստից:

connect հարցումը վերադառնում է մինչև թունելը բարձրանալը

Tunnelblick-ի սկրիպտային ուղեցույցը հստակ է. connect-ը վերադառնում է մինչև միացման ավարտը: Զրոյական ելքի կարգավիճակը նշանակում է, որ հարցումն ընդունվել է, ոչ թե որ տրաֆիկը հոսում է:

Կարդացեք վիճակը առանձին՝

osascript -e 'tell application "/Applications/Tunnelblick.app" to get state of first configuration where name = "HQ"'

CONNECTED-ը միացման վիճակի արդյունք է: Այն դեռ չի ապացուցում, որ ձեր աշխատանքին անհրաժեշտ մասնավոր ռեսուրսը հասանելի է, ուստի դա ստուգեք առանձին՝ նախքան կախյալ աշխատանքը սկսելը:

Սկրիպտային ինտերֆեյսի մյուս կառավարիչները ընդգրկում են ավելի լայն գործողություններ և պետք չեն, երբ փոփոխվում է միայն մեկ պրոֆիլ:

Սպասեք ժամկետով, ապա ձախողվեք

Անվերջ հարցումը այն է, ինչից սկրիպտը կախված է մնում ողջ գիշեր և արգելափակում հաջորդ գործարկումը: Տվեք սպասմանը ժամկետ, կարճ միջակայք և հստակ ձախողման ելք: CONNECTED-ից բացի ցանկացած վիճակ դիտարկեք որպես ոչ պատրաստ, ներառյալ անցումայինները: Գրանցեք վերջին տեսած վիճակը, որպեսզի ձախողումն ինքն իրեն բացատրվի:

Սահմանափակ ցիկլն այսպիսի տեսք ունի՝

for i in $(seq 1 30); do
  state=$(osascript -e 'tell application "/Applications/Tunnelblick.app" to get state of first configuration where name = "HQ"')
  if [ "$state" = "CONNECTED" ]; then exit 0; fi
  sleep 1
done
echo "tunnel did not reach CONNECTED" >&2
exit 1

Երեսուն վայրկյանը օրինակ է, ոչ թե համընդհանուր ժամկետ: Ժամկետը ընտրեք այն նույնականացման ուղուց, որն իրականում օգտագործում է պրոֆիլը, և պահեք այն աշխատահոսքի գրառման մեջ:

Ստուգեք վիճակը և անջատեք անունով

Նույն պրոֆիլը կանգնեցնելու համար կանչեք disconnect նույն անունով: Դա հարցումը պահում է նեղ և մյուս կոնֆիգուրացիաները թողնում է անխափան:

osascript -e 'tell application "/Applications/Tunnelblick.app" to disconnect "HQ"'

Պրոֆիլի անունը և կարգավորիչը միասին պահեք աշխատահոսքի գրառման մեջ՝ սպասվող նույնականացման և ավարտի ստուգումների հետ միասին: Այդ գրառումն է, որ հրամանը դարձնում է վեց ամիս անց ստուգելի:

Համակարգչի հետ գործարկման վարքը այլ ռեժիմ է: Օգտագործեք Tunnelblick-ի փաստաթղթավորված գործարկման տարբերակը և այն հավատարմագրերի կարգավորումը, որն այն սպասում է: Մուտք գործած աշխատասեղանի սեսիայում կատարված հրամանը և մեքենայի հետ սկսվող ծառայությունը չեն կիսում համատեքստը: Մի ենթադրեք, որ մուտքի ժամանակ աշխատող սկրիպտը կաշխատի նաև բեռնման պահին: Փորձարկեք գործարկման ուղին առանձին՝ նույն ժամկետով և գրանցմամբ:

Առնչվող հոդվածներ