Пропуштањето апликација низ тунел не го пренесува нејзиното рутирање врз сѐ што таа апликација ќе стартува, иако интерфејсот сугерира спротивно. Врска предава барање на друга програма, таа програма го отвора својот сокет, и платформата ги применува правилата на новиот процес, а не на оној што го прикажа текстот. Токму тој втор процес го гледа политиката на тунелот, и тој не е оној што го поставивте.

Затоа вклучена апликација може да отвори прелистувач што стои надвор од тунелот. Исклучена прелистувач може да врати работа на апликација што стои внатре во неа. Двете насоки на ова изненадување се вообичаено однесување.

Делот од работниот тек што никој не го постави

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

Затоа набљудувањето изгледа произволно: истиот клик се рутира на два начина зависно од тоа кој ракувач ќе одговори. Поштенски клиент во тунелот отвора врска во прелистувач што живее надвор од тунелот, и страницата се вчитува од вашата домашна адреса. Прелистувач надвор од тунелот отвора документ во прегледувач што живее внатре во него, и датотеката пристигнува преку излезот. Ниту еден од двата резултати не е дефект во клиентот.

Веќе активен ракувач ја влошува работата. Ако прелистувачот е веќе отворен, врската станува порака до постоечки процес, и тој процес го задржува рутирањето што го имал при стартувањето. Затворањето и повторното отворање на ракувачот го менува резултатот, и затоа проблемот никогаш не се репродуцира по барање.

PlatformPolicy objectWhat it is evaluated against
AndroidPer-app VPN allowlistPackage name of the process opening the socket
WindowsApplication traffic filtersApplication path in the filter rule
LinuxUID or cgroup routing rulesOwner of the socket, which can be a different program

Кој процес навистина ја воспостави врската

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

ss -tnp state established '( dport = :443 )'
Get-NetTCPConnection -State Established | Select-Object RemoteAddress,OwningProcess

Првата команда го именува процесот зад секој воспоставен сокет на Linux, а втората го прави истото на Windows со разрешување на идентификаторот на процесот што го поседува. Споредете го името на процесот со имињата во вашата политика. Ако името е прелистувачот и прелистувачот е исклучен, кликот го напуштил тунелот по дизајн, а не поради дефект. Поврзувањето на правило од политиката со жив сокет е целиот метод.

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

Покриеноста е својство на работниот тек

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

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

Држете го идентитетот одвоен од рутирањето. Врската може да носи токен за сесија или идентификатор на сметка, без оглед на тоа кој излез го прима барањето. Правилно рутиран клик сепак може точно да ѝ каже на дестинацијата кој го следел.

Документирајте го работниот тек, а не првото поле за избор. Кога задачата опфаќа четири програми, дијаграмот со четири програми е тој што предвидува каде оди сообраќајот, а поставката за една апликација е само еден негов ред.

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