Ինչ է իրականում փոխվում, երբ macOS-ում փոխում եք պահված VPN կարգավորումները
Պահված Mac VPN-ի փոխումը պրոֆիլի փոխանակում չէ։ Տեսեք, թե ինչ է փոխվում երթուղիներում, DNS-ում և հավատարմագրերում, և ինչպես ստուգել այն թունելը, որն իրականում ստացել եք։
Բացում եք VPN ցանկը, ընտրում եք մյուս պահված գրառումը և սպասում մաքուր փոխանակման՝ նոր ելքի հասցե, իսկ մնացածը՝ անփոփոխ։ Հենց այս ենթադրությունից պետք է առաջինը հրաժարվել։ macOS-ում պահված VPN-ը ամբողջական ցանցային ծառայություն է, ոչ թե նախապես սահմանված կարգավորում, ուստի ծառայությունների փոխումը կարող է միաժամանակ փոխել երթուղավորումը, DNS-ը և նույնականացումը։ Մենյուի տողը ցույց է տալիս, թե որ ծառայությունն է ակտիվ. այն չի ասում՝ արդյոք դրա տակի թունելը համապատասխանում է ձեր մտադրությանը։
Պահված ցանկը պրոֆիլ ընտրող չէ
Համակարգի կարգավորումներ > Ցանցի յուրաքանչյուր գրառում առանձին ծառայություն է՝ իր սերվերի հասցեով, հաշվով, նույնականացման եղանակով, DNS սերվերներով և այնպիսի ընտրանքներով, ինչպիսին է Ամբողջ տրաֆիկն ուղարկել VPN կապով։ Հին տարբերակներում նույն ցանկը պահում են Համակարգի նախընտրությունները։ Երկու գրառում կարող են մատնանշել նույն հոսթի անվանը և այնուամենայնիվ վարվել տարբեր կերպ, քանի որ արձանագրությունը կամ հաճախորդի ընդլայնումը որոշում է, թե ինչպես է կառուցվում թունելը։
Երրորդ կողմի հաճախորդները պահում են առանձին ցանկեր։ Tunnelblick-ը կարգավորումները կարդում է իր պանակից, WireGuard-ը պահում է իր թունելների ցանկը, իսկ OpenVPN Connect-ը պրոֆիլները պահում է հավելվածի ներսում։ Ոմանք կարգավորումը գրանցում են համակարգում. մյուսները ամեն ինչ պահում են հավելվածի ներսում և երբեք չեն հայտնվում ներկառուցված ցանկում։ Ուստի «անցնել պահվածին» նշանակում է տարբեր գործողություններ՝ կախված այն բանից, թե որ հավելվածին է պատկանում պրոֆիլը։
scutil --nc list տպում է համակարգի կարգավորումում գրանցված VPN ծառայությունները՝ չակերտների մեջ դրված անուններով։ Սկրիպտով փոխելիս օգտագործեք հենց այդ անունները և մի ենթադրեք, որ ցանկը ծածկում է երրորդ կողմի բոլոր թունելները։
Ինչ է իրականում փոխում փոխումը
Չորս բան շարժվում է միասին, երբ ակտիվ ծառայությունը փոխվում է։ Լռելյայն երթուղին հետևում է նոր թունելին, եթե այդ ծառայությունն ուղարկում է ամբողջ տրաֆիկը՝ լուծիչների ցանկը փոխվում է ծառայության նշած DNS սերվերների՝ նոր կապերը որպես աղբյուր վերցնում են նոր թունելի հասցեն՝ և օգտագործվող հավատարմագրերը պատկանում են նոր ծառայությանը։ Ներկառուցված կարգավորումը և հավելվածի պրոֆիլը փոխարինելի չեն, նույնիսկ երբ երկուսն էլ վերջանում են նույն դարպասում։
| What you assume | What the system does |
|---|---|
| Same server name means same tunnel | Protocol, certificate and account are per service |
| All traffic follows the active VPN | Only when Send all traffic over VPN is on |
| DNS switches with the VPN | Only if that service defines DNS servers |
| Disconnect ends the connection | On Demand or a management profile can reconnect |
| Open sessions survive the switch | TCP sessions tied to the old address stall |
DNS-ի մասն է, որ զարմացնում է մարդկանց։ macOS-ը պահպանում է լուծիչների հերթականություն, և scutil --dns ցույց է տալիս, թե որ լուծիչներն են օգտագործվում և որ ինտերֆեյսում։ Առանց DNS սերվերների VPN ծառայությունը կարող է թողնել, որ Wi-Fi-ի լուծիչը պատասխանի, այնպես որ ստանում եք նոր հանրային հասցե հին DNS վարքով և եզրակացնում, որ փոխումը կիսով չափ աշխատեց։
Ինչու է հին կարգավորումը վերադառնում
Եթե անջատվեք, և նույն ծառայությունը մի պահ անց նորից միանա, առաջին հերթին նայեք On Demand-ին։ Ըստ պահանջի միացման կանոնը կարող է վերադարձնել ծառայությունը, երբ հավելվածը լուծում է համապատասխան տիրույթ, և կառավարման պրոֆիլը կարող է պարտադրել նույն կանոնը։ Գրառումը ջնջելը հազվադեպ է ուղղում դա. պրոֆիլով տեղադրված կարգավորումը սովորաբար վերադառնում է պրոֆիլի հաջորդ թարմացման ժամանակ, իսկ ձեռքովը կարող է իր գաղտնաբառը թողնել Keychain-ում, մինչ ծառայությունն արդեն չկա։
Երկրորդ ծառայություն սկսելը միշտ չէ, որ դադարեցնում է առաջինին։ Կախված հաճախորդից և արձանագրությունից՝ կարող եք վերջանալ երկու թունելով և երթուղիների երկու հավաքածուով, և հենց ծառայությունների հերթականությունն ու երթուղու յուրահատկությունը որոշում են, թե որն է կրում տրաֆիկը, ոչ թե վերջին սեղմած պատկերակը։ Ստուգեք ինտերֆեյսները, նախքան ենթադրելը, որ փոխում տեղի ունեցավ։
Ստուգեք թունելը, ոչ թե նշանը
Անցեք համակարգի սեփական տեսքի միջով, նախքան կարգավորումներին դիպչելը։scutil --nc status "Name" հաղորդում է, թե ինչ է կարծում համակարգը՝ifconfig ցույց է տալիս՝ արդյոք ինտերֆեյսը utun հասցե ունի՝netstat -rn -f inet ցույց է տալիս, թե ուր է մատնանշում լռելյայն երթուղին՝scutil --dns ցույց է տալիս փաստացի օգտագործվող լուծիչը։ Ապա բացեք նոր կապ և հաստատեք ելքի հասցեն, որովհետև արդեն մուտք գործած էջը կարող է դեռ օգտագործել հին թունելին կապված սոքեթ։
Եթե DNS-ը դեռ պատասխանում է տեղական ցանցից, համեմատեք ծառայության սահմանված սերվերները լուծիչների ցանկի հետ։ Եթե լռելյայն երթուղին դեռ մատնանշում է ֆիզիկական ինտերֆեյսը, ծառայությունը բաժանված թունել է կամ ամբողջությամբ միացած չէ։ Երկուսն էլ կարգավորման արդյունք են, ոչ թե կոտրված հաճախորդի ապացույց։
Փոխման հերթականություն՝ առանց անակնկալների
- Նշեք ընթացիկ ծառայությունը և արդյոք պրոֆիլը կառավարում է այն։
- Նախ անջատեք այն, երբ երկու թունելները չեն կարող միասին գոյություն ունենալ։
- Միացրեք նպատակակետը և սպասեք «Միացված», ոչ «Միացում»։
- Ստուգեք լռելյայն երթուղին, լուծիչների ցանկը և նոր ելքի հասցե։
- Վերսկսեք երկարատև սեսիաներ պահող հավելվածները։
Պահեք հին գրառումը, քանի դեռ նորը չի անցել այս ստուգումները, և յուրաքանչյուր գրառման տվեք առանձին անուն. նույն պիտակները դժվարացնում են հաջորդ խափանումը վերագրելը։ Apple-ի Mac օգնությունը նկարագրում է ներկառուցված կողմը Mac-ում VPN կապի կարգավորում էջում, որը հղումն է՝ ստուգելու նախքան կառավարվող կարգավորումը խմբագրելը։
Եթե ընտրությունը հետ է վերադառնում, նախ վերաբերվեք դրան որպես քաղաքականություն կամ On Demand։ Հաստատեք, թե ում է պատկանում կարգավորումը և արդյոք այն դրված է ինքնաշխատ միացման, ապա որոշեք՝ ծառայություն եք փոխում, թե պրոֆիլի հետ կռվում։