Извршувањето на два 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 е второто протекување: двостеков домаќин продолжува да го користи IPv6 кон одредишта што тунелот ги носи само преку IPv4. Проверете ги семејствата одделно, бидејќи тунел само за IPv4 не кажува ништо за рутите или резолверите IPv6.

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

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

Поврзани статии