რეალურად რა იცვლება, როცა 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-ის დახმარება მშობლიურ მხარეს აღწერს გვერდზე VPN კავშირის დაყენება Mac-ზე, რომელიც საცნობაროა მართვადი კონფიგურაციის რედაქტირებამდე.
თუ არჩევანი უკან ბრუნდება, ჯერ პოლიტიკად ან On Demand-ად მიიჩნიეთ. დაადასტურეთ, ვის ეკუთვნის კონფიგურაცია და არის თუ არა ის ავტომატურ დაკავშირებაზე დაყენებული, შემდეგ გადაწყვიტეთ სერვისს ცვლით თუ პროფილს ებრძვით.