Kill switch во Windows без дополнителен софтвер: профили или рути?
Профилите на заштитниот ѕид ја следат категоријата на мрежата, рутите го следат адаптерот. Споредете ги двете, потоа тестирајте го случајот на пад кога тунелот го нема, а иконата лаже.
Клиентот умира на средина од преземање и иконата во системската лента исчезнува. Преносот продолжува преку домашната врска. Токму таа низа е причината зошто постои 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, и тоа е подобар извор од водич само со слики од екран.