კლიენტი ჩამოტვირთვის შუაში კვდება და სისტემური უჯრის ხატულა ქრება. გადაცემა სახლის კავშირით გრძელდება. სწორედ ეს თანმიმდევრობაა kill switch-ის არსებობის მიზეზი და Windows-ს მეორე პროდუქტის გარეშე შეუძლია მასთან მიახლოება.

ორი მეთოდი ღირს ცოდნად. ისინი სხვადასხვა ადგილას ცდება და არც ერთი არ არის სრული პასუხი.

მეთოდი პირველი: პროგრამის დაშვება მხოლოდ ერთ პროფილზე

Windows-ის ფაირვოლი წესებს Domain, Private და Public პროფილებით ზღუდავს. ხრიკი იმაშია, რომ გვირაბის ადაპტერს ერთი კატეგორია მისცეთ, ფიზიკურ ადაპტერს კი მეორე. შემდეგ წერთ გამავალ წესს, რომელიც დაცულ პროგრამას გვირაბის პროფილზე უშვებს და ყველგან სხვაგან ბლოკავს. ფაირვოლი კატეგორიას კითხულობს და არა ადაპტერის სახელს.

ჯერ VPN კავშირი დააყენეთ Private-ზე, ხოლო ფიზიკური ქსელი Public-ზე. შემდეგ დაამატეთ ბლოკირების წესი პროგრამისთვის, რომელიც არასასურველ პროფილებზე ვრცელდება. ამის შემდეგ დაადასტურეთ მინიჭება Get-NetConnectionProfile-ით, რადგან წესი სწორედ ამ მინიჭებას მიჰყვება.

Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory

New-NetFirewallRule -DisplayName 'Block browser off VPN' -Direction Outbound `
  -Program 'C:\Program Files\Mozilla Firefox\firefox.exe' -Action Block -Profile Public

New-NetFirewallRule -DisplayName 'Allow browser on VPN' -Direction Outbound `
  -Program 'C:\Program Files\Mozilla Firefox\firefox.exe' -Action Allow -Profile Private

სისუსტე სტრუქტურულია. პროფილის წესი კატეგორიას მიჰყვება, ამიტომ როცა Windows სასტუმროს ქსელს ხელახლა აკლასიფიცირებს, ბლოკირებამ შეიძლება შეწყვიტოს მოქმედება. ამ დროს წესების სიაში არაფერი იცვლება.

მეთოდი მეორე: ფიზიკური ნაგულისხმევი მარშრუტის წაშლა

მარშრუტებით მიდგომა უფრო უხეშია და აუდიტისთვის გაცილებით მარტივი. ჩაიწერეთ ფიზიკური კარიბჭე, მიეცით VPN-ს საშუალება დააყენოს საკუთარი ნაგულისხმევი მარშრუტი უფრო დაბალი მეტრიკით, შემდეგ წაშალეთ ფიზიკური ნაგულისხმევი. ამის შემდეგ ტრაფიკს ვეღარაფერი გადაიტანს.

route print -4
route delete 0.0.0.0 mask 0.0.0.0 192.168.50.1
route print -4 | findstr /c:"0.0.0.0"

როცა კლიენტი კვდება, VPN-ის მარშრუტი თავის ადაპტერთან ერთად მიდის. მანქანა გაჟონვის ნაცვლად ოფლაინში გადადის და სწორედ ეს უნდა წარმოქმნას kill switch-მა.

ორი დეტალი წყვეტს, გაუძლებს თუ არა ის ერთ კვირას. DHCP კარიბჭეს აბრუნებს ყოველ ჯერზე, როცა ბმული რყევდება. სტატიკური მისამართის მქონე ფიზიკური ადაპტერი ამ სიურპრიზს თავიდან ირიდებს. VPN სერვერის საკუთარი მისამართიც უნდა დარჩეს მისაწვდომი. ამ ჰოსტის მარშრუტის გარეშე კლიენტი ვერასოდეს შეძლებს ხელახლა დაკავშირებას იმ წყვეტის შემდეგ, რომელმაც ბლოკირება გამოიწვია.

მეთოდი მესამე: კარიბჭის გარეშე, ერთი მუდმივი ჰოსტის მარშრუტი

მესამე ვარიანტი იწყება ადაპტერის პარამეტრებიდან კარიბჭის გასუფთავებით. შემდეგ მას ცვლის ერთი მუდმივი მარშრუტი VPN-ის საბოლოო წერტილამდე. ამის შემდეგ მანქანას შეუძლია სერვერთან ისაუბროს და სხვა არავისთან, სანამ გვირაბი ამოვა.

route -p add 198.51.100.44 mask 255.255.255.255 192.168.50.1 metric 1
route print -4 | findstr 198.51.100.44

კარიბჭის აღდგენა ჩვეულებრივ ინტერნეტს აღადგენს, რაც ამას სუფთა ჩართვა-გამორთვის გადამრთველად აქცევს. ის არ არის დამოკიდებული სკრიპტზე, რომელიც ინტერფეისის მოვლენებს აკვირდება. მას არც აინტერესებს, როგორ კლასიფიცირდება ქსელი.

ფასია სრული იზოლაცია, სანამ გვირაბი გამორთულია. განახლებები ჩერდება და მათთან ერთად ის ჩამოტვირთვაც, რომელმაც ეს სავარჯიშო გამოიწვია. სამუშაო ლეპტოპზე ეს ხშირად სწორია, პირად მანქანაზე კი განზრახ მისაღები გადაწყვეტილებაა.

რატომ არაფერს ამტკიცებს გლობუსის ხატულა

Windows ხელმისაწვდომობას Microsoft-ის საბოლოო წერტილის წინააღმდეგ შემოწმებით იუწყება. ეს შემოწმება თქვენი გვირაბის შესახებ არაფერს ამბობს. დაკავშირებული გვირაბი შეიძლება იჯდეს გლობუსის უკან, რომელიც ინტერნეტის არარსებობას იუწყება, ხოლო მკვდარმა შეიძლება ჯანსაღი კავშირი აჩვენოს.

გამოსცადეთ კლიენტის პროცესის მოკვლით და შემდეგ სცადეთ ნომრით საჯარო მისამართამდე მისვლა. სახელის მოთხოვნას ქეშიდანაც შეიძლება უპასუხონ, ამიტომ არც ხატულა და არც DNS პასუხი მტკიცებულება არ არის.

რა უნდა ჩაიწეროს ნამდვილი წყვეტის შემდეგ

ტესტი ჩაატარეთ თანმიმდევრობად და არა ერთ შემოწმებად. მოკალით პროცესი გათიშვის ნაცვლად, შემდეგ სცადეთ რიცხვითი მისამართი ორივე ოჯახში. ამის შემდეგ აღადგინეთ კლიენტი და დაადასტურეთ, რომ ის კვლავ აღწევს საკუთარ სერვერამდე თქვენს მიერ შენახული მარშრუტით.

taskkill /IM openvpn-gui.exe /F
ping -4 198.51.100.44
ping -6 2606:4700:4700::1111
route print -4 | findstr /c:"0.0.0.0"

გაიმეორეთ თანმიმდევრობა ძილის შემდეგ, Wi-Fi-ის შეცვლის შემდეგ და კაბელიდან უსადენოზე გადასვლის შემდეგ. სწორედ ამ გადასვლებზე ცდება როგორც პროფილის მეთოდი, ისე DHCP-ის ქცევა. მაგიდაზე მდგარი წესი სასტუმროში სულაც არ უნდა გაუძლოს.

დაწერეთ გაუქმების ნაბიჯი ყოველი წესისა და მარშრუტის გვერდით. Microsoft გამავალი წესების შექმნას Windows-ის ფაირვოლის წესების ცნობარში აღწერს და ეს უკეთესი წყაროა, ვიდრე მხოლოდ ეკრანის სურათებით შედგენილი გზამკვლევი.

დაკავშირებული სტატიები