Покретање два VPN клијента истовремено је расправа о рутирању, а не подешавање приватности. Који год тунел поседује специфичнију руту, прима саобраћај, а други остаје повезан, али беспослен. Корпоративни гејтвеј тада види везу која долази са личног излаза, док корпоративни клијент на вашем рачунару још увек види сваки адаптер. Одлучити која је од те две чињенице важна јесте цела вежба.

Табела рута бира једног победника

Снимите табелу пре и после покретања корпоративног клијента и читајте колону интерфејса, а не само одредиште. Обична подразумевана рута из спољног тунела лако се потискује, јер је пар /1 специфичнији од /0. Дословни пар 0.0.0.0/1 и 128.0.0.0/1 покрива цео IPv4 простор у две половине и побеђује сваку појединачну подразумевану руту. Након што се инсталира, спољни тунел и даље изгледа повезан и не носи ништа.

ip route show default
ip route show | grep -E '^(0.0.0.0/1|128.0.0.0/1)'

Рутирање по правилима може потпуно надјачати главну табелу, па читајте и правила и руте. Правило које означен саобраћај шаље у другу табелу побеђује пре него што се главна табела уопште погледа. Тако једна апликација може остати на физичкој вези док све остало користи тунел.

ip rule show

Windows то решава метрикама

На Windows-у победник је рута са најнижом метриком за одредиште, а два клијента могу оба инсталирати подразумевану руту са различитим метрикама. Читајте табелу и конфигурацију интерфејса заједно, јер адаптер са нижом метриком није увек онај који очекујете. Клијент који поставља и метрику интерфејса може померити подразумевану руту без додавања иједне руте. Адаптер који изгуби остаје укључен и једноставно не прима ништа.

route print -4
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4DefaultGateway

Упоредите два излаза и именујте интерфејс који поседује 0.0.0.0/0. Ако га оба клијента полажу, метрика одлучује, због чега тест редоследа повезивања може изгледати недоследно на различитим машинама. Ако ниједан излаз не показује подразумевани гејтвеј, клијент не ради у пуном тунелу и аргумент ланца је беспредметан.

Два посматрача, два различита погледа

Удаљени гејтвеј види једну везу која долази са спољног излаза плус све што клијент прослеђује у свој тунел. Локални клијент види адаптере, руте и постојање другог тунела, јер ради са овлашћењима да их створи. Раздвајање тих погледа је поента; тврдња да клијент не може приметити није.

Претпоставите да клијент може набројати шта год жели и планирајте за поглед гејтвеја уместо тога. Дизајн који зависи од тога да клијент остане слеп једну је надоградњу далеко од квара.

DNS и IPv6 су места где ланац цури

DNS следи оно подешавање резолвера које победи, а то није нужно путања којом пакети иду. Корпоративни резолвер достигнут кроз корпоративни тунел доследан је с дизајном; локални резолвер достигнут изван њега није, и открива имена која је тунел требало да сакрије. IPv6 је друго цурење: dual-stack хост наставља да користи IPv6 према одредиштима која тунел носи само преко IPv4. Проверавајте породице одвојено, јер тунел само за IPv4 не говори ништа о IPv6 рутама или резолверима.

ip -6 route show default
resolvectl status | grep -A2 'DNS Servers'

Поправите резолвер и IPv6 руту намерно, уместо да налегнете други тунел одозго. Двострука инкапсулација такође кошта MTU, па је мањи унутрашњи MTU прво што треба испробати када се странице заглуше након успостављања ланца. Резолвер који брзо одговара није доказ да је прави резолвер.

Повезани чланци