Клиент жүктеу ортасында өледі де, науа белгішесі жоғалады. Тасымал үй желісі арқылы жалғасады. Дәл осы реттілік 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 файрволы ережелерінің анықтамасында құжаттайды, және бұл тек экран суреттерінен тұратын нұсқаулықтан жақсырақ дереккөз.

Қатысты мақалалар