Mac-ის VPN «ითიშება»-ზე გაიჭედა: რა მუშაობს რეალურად
გათიშვა გადასვლაა და არა შეჩერებული გვირაბი. შეამოწმეთ რომელი კომპონენტი ფლობს დაშლას, წაიკითხეთ მარშრუტები და DNS და მოერიდეთ პროცესების ფართო მოკვლას.
«ითიშება» არის მდგომარეობა, რომელსაც კლიენტი იუწყება გვირაბის დაშლის დროს და არა განაჩენი იმისა, რომ ტრაფიკი გაჩერდა. Mac-ზე ეს დაშლა ხანმოკლე მიმდევრობით მიმდინარეობს და იარლიყი იცვლება მხოლოდ მას შემდეგ, რაც კავშირის მფლობელი კომპონენტი უკან იუწყება. როცა რომელიმე ნაბიჯი ელოდება დამხმარეს, დანამატს ან პოლიტიკის გადაწყვეტილებას, იარლიყი შეიძლება დარჩეს იქ ინტერფეისის გაქრობის შემდეგ, ან გვირაბმა გააგრძელოს გადაცემა, სანამ მენიუ ჯერ კიდევ აჩვენებს მას. ტექსტს მოეპყარით როგორც «დაშლა მიმდინარეობს, შედეგი უცნობია» და დაადგინეთ რომელი ნახევარია მართალი.
ორი უკმარისობა მენიუს ზოლიდან ერთნაირად გამოიყურება და საპირისპირო რეაქციას მოითხოვს. ერთში გვირაბი ჯერ კიდევ ატარებს პაკეტებს და მხოლოდ ჩვენებაა მოძველებული. მეორეში გვირაბი გაქრა, მაგრამ ცალკე პოლიტიკა ტრაფიკს დაბლოკილს ტოვებს, რაც ხშირად განზრახ ხდება. მარშრუტები და DNS-ის მდგომარეობა მათ უფრო სწრაფად ჰყოფს, ვიდრე ნებისმიერი მენიუს მოქმედება.
რას თვალს ადევნებს იარლიყი
VPN კლიენტი პატარა მდგომარეობის მანქანას ინახავს და მენიუს ზოლი მისი პროექციაა. macOS-ის მიერ მართული კავშირისთვის ეს მანქანა სისტემის VPN ჩარჩოშია. აპის მიერ მართული გვირაბისთვის ის აპსა და მის პრივილეგირებულ დამხმარეშია. გაჩერების ბოლო ნაბიჯი სოკეტის დახურვა არ არის. ეს არის იმის გათავისუფლება, რაც გვირაბს მუშაობდა: utun ინტერფეისი, მასზე მიმართული მარშრუტები, კლიენტის მიერ ჩასმული ამომხსნელი ჩანაწერები და ნებისმიერი ქსელური ფარის წესი ან პოლიტიკა, რომელიც კავშირის დროს ტრაფიკს ბლოკავდა.
ეს ნაბიჯები ცალკეა, ამიტომ გაჩერება შეიძლება ნებისმიერზე გაიჭედოს. დამხმარე, რომელიც პასუხს წყვეტს, მარშრუტი, რომელსაც მეორე ინტერფეისიც ითხოვს, ან ამომხსნელი ჩანაწერი, რომელსაც სხვა პროფილი ფლობს, შეიძლება კლიენტი ლოდინში დატოვოს. იარლიყი კლიენტის საკუთარი პროგრესის ანგარიშია, რაც მას განზრახვის მხრივ უფლებამოსილს და ქსელის მხრივ არასანდოს ხდის.
იპოვეთ კავშირის მფლობელი კომპონენტი
მშობლიურ კონფიგურაციებში scutil --nc list ბეჭდავს სისტემისთვის ცნობილ სერვისებს და მათ მდგომარეობას, ხოლო scutil --nc status "Work VPN" ერთი სერვისის დეტალებს იძლევა. მესამე მხარის აპის მფლობელობაში მყოფი გვირაბი შეიძლება საერთოდ არ გამოჩნდეს ამ სიაში, ამიტომ ცარიელი შედეგი არ არის მტკიცებულება, რომ არაფერია დაკავშირებული.
როცა პროფილი აპს ეკუთვნის, დაეყრდენით მისი მდგომარეობის ხედს და მის დოკუმენტირებულ «გათიშვის» კონტროლს. ფანჯრის დახურვა გაჩერების მოთხოვნა არ არის, თუ ფონური დამხმარე ფლობს გვირაბს; ხატულა ქრება და დამხმარე ინტერფეისს ცოცხლად ინახავს. Apple-ის VPN პარამეტრების ცნობარი მოიცავს მშობლიურ კონტროლებს და იმას, საიდან მოდის მართული პარამეტრები.
წაიკითხეთ ინტერფეისები, მარშრუტები და DNS
სამი შემოწმება პასუხობს კითხვის უმეტეს ნაწილს კავშირზე ხელის შეხების გარეშე. მთავარია მათი ერთად განმარტება, რადგან თითოეული ცალკე შეცდომაში შემყვანია.
scutil --nc list
netstat -rn -f inet | head -20
ifconfig | grep -A 3 '^utun'
scutil --dns | head -30
- utun ინტერფეისი არსებობს, მის გავლით მიდის ნაგულისხმევი ან გაყოფილი მარშრუტი, ამომხსნელი მიუთითებს პროვაიდერზე: გვირაბი ჯერ კიდევ ამუშავებულია და იარლიყი მოძველებულია.
- utun არ არის, ჩვეულებრივი ნაგულისხმევი მარშრუტი, DNS DHCP-დან, ინტერნეტი არ არის: გათიშვისას ბლოკირების პოლიტიკა თავის საქმეს აკეთებს.
- utun არ არის, მარშრუტი არ არის, ამომხსნელი ჯერ კიდევ პროვაიდერზე მიუთითებს: დაშლა შუა გზაზე შეჩერდა და DNS არის დასალაგებელი ნაშთი.
შემდეგ გაგზავნეთ ერთი მოთხოვნა შიდა ჰოსტზე, რომელმაც მხოლოდ გვირაბით უნდა უპასუხოს და ერთი საჯარო ჰოსტზე. მიღწევადობა პოლიტიკას ნაშთ მდგომარეობისგან ჰყოფს, შემოწმების გაზომვის სავარჯიშოდ გადაქცევის გარეშე. თუ გზა ჯერ კიდევ პასუხობს, ჯერ შეინახეთ დისტანციური სამუშაო და უზრუნველყავით შესვლის მეორე გზა, სანამ შეცვლით ქსელს დისტანციურად მართულ მანქანაზე.
რატომ აცდენს ფართო მოკვლა და პროფილის წაშლა
პროცესების სახელები, როგორიცაა pppd, racoon და configd, გარკვეულ იმპლემენტაციებს ეკუთვნის. მათი მოკვლა შეიძლება სხვა კავშირებზე იმოქმედოს, ტოვებს მარშრუტებსა და utun ინტერფეისებს და არ გაძლევთ ჩანაწერს იმისა, რომელი ნაბიჯი გაიჭედა. ძველი პროცესის სახელი ასევე არ არის მტკიცებულება, რომ ის მიმდინარე პროფილს ფლობს.
პროფილის წაშლა და ხელახლა შექმნა უფრო დიდი ცვლილებაა, ვიდრე გაჭედილი გადასვლის გასუფთავება. მან შეიძლება გადააგდოს მართული პარამეტრები და ლოკალური იდენტობის მასალა იმის ახსნის გარეშე, რა ვერ შესრულდა, და ზედამხედველობის ქვეშ მყოფ Mac-ზე ის შეიძლება უბრალოდ აღდგეს. წაშლა დატოვეთ ნამდვილად მოძველებული კონფიგურაციისთვის და ნაცვლად გადასვლა დიაგნოსტიკას დაუქვემდებარეთ.
გაჩერების მიმდევრობა, რომელიც კვალს ტოვებს
ქვემოთ მოცემული რიგი კავშირის საკუთარ კონტროლებს პასუხისმგებლად ტოვებს და ჩანაწერს ქმნის, თუ გაჭედვა დაბრუნდა. ის ასევე გიშლით ხელს, ჩვენების პრობლემა ქსელურ ცვლილებად აქციოთ.
- შეინახეთ დისტანციური სამუშაო და დაადასტურეთ, რომ Mac-ს სხვა გზით მიაღწევთ, თუ ის დისტანციურია.
- ჩაწერეთ კლიენტის სახელი, ვერსია და პროფილი.
log show --last 5m --predicate 'subsystem == "com.apple.networkextension"'-ით დაიჭირეთ მოკლე ფანჯარა; ძველი გამოშვებები ნაკლებ ისტორიას ინახავს, ამიტომ გაუშვით ის გაჭედვისთანავე. - გამოიყენეთ დოკუმენტირებული «გათიშვის» კონტროლი, დაელოდეთ და შემდეგ გაიმეორეთ ინტერფეისისა და მარშრუტების შემოწმებები.
- თუ იარლიყი მოძველებულია, მაგრამ გვირაბი ჩამოშვებულია, მიატოვეთ ის და მისცემით კლიენტს განახლების საშუალება, ნაცვლად პროცესების იძულებისა.
- თუ დაშლა ნამდვილად გაიჭედა, გადატვირთეთ კლიენტი, შემდეგ დაგეგმეთ Mac-ის გადატვირთვა სამუშაოს შენახვის შემდეგ. მართულ მანქანებს ადმინისტრატორის პროცედურა სჭირდება.
აღდგენის შემდეგ დაადასტურეთ, რომ ჩვეულებრივი ნაგულისხმევი მარშრუტი და DHCP ამომხსნელი დაბრუნდა და რომ დაბლოკილი ტრაფიკი ან აღდგა, ან განზრახ ჯერ კიდევ დაბლოკილია. ჩაწერეთ პროფილი და კლიენტის ვერსია სიმპტომთან ერთად, რათა შემდეგი შემთხვევა მტკიცებულებიდან დაიწყოს და არა მენიუს ზოლის ვარაუდიდან.