VPN для Windows 11 и 10: системный прокси, TUN и kill switch
Чем отличаются режимы системного прокси и TUN, зачем нужен kill switch и как проверить, что весь трафик Windows идёт через VPN.
На Windows VPN-приложение может перенаправлять трафик двумя разными способами, и от выбора зависит, какие программы на самом деле защищены. Разберёмся, как это устроено, на примере Colitu для Windows 10 и 11.
Режим системного прокси
В этом режиме приложение запускает локальный прокси-сервер и прописывает его в настройках Windows. Браузеры и большинство программ, которые учитывают системный прокси, отправляют трафик через него.
- Плюсы: лёгкий и почти не влияет на скорость.
- Минусы: программы, которые устанавливают соединения сами (многие игры, торрент-клиенты, некоторые мессенджеры и утилиты), обходят прокси и идут напрямую.
Режим TUN
Здесь приложение создаёт виртуальный сетевой адаптер. Windows отправляет в него весь IP-трафик, и уже приложение решает, что с ним делать. Через туннель идут и игры, и UDP, и DNS-запросы.
- Плюсы: охвачены все программы, включая те, что игнорируют прокси. Одно исключение сделано намеренно: часть региональных сайтов (домены и диапазоны IP из встроенного списка) идёт напрямую, мимо VPN, чтобы продолжали работать сервисы, которые не принимают иностранные IP-адреса (подробнее).
- Минусы: Windows может запросить подтверждение при первом включении; на очень старом железе нагрузка чуть выше.
Правило простое: если какая-то программа при включённом VPN всё равно показывает ваш настоящий адрес или страну — включите TUN.
Kill switch
Если VPN-соединение неожиданно оборвётся, Windows молча продолжит отправлять трафик напрямую. Kill switch не даёт этому случиться: пока он включён, исходящие соединения в обход туннеля блокируются.
В Colitu kill switch построен на Windows Filtering Platform — том же механизме, что использует официальный клиент WireGuard. Правила хранит отдельная служба Windows (ColituKillSwitch) в виде постоянных фильтров: если приложение или ядро VPN аварийно завершится, интернет останется заблокированным, пока Colitu не подключится заново. Обычная перезагрузка или выключение Windows снимает блокировку намеренно, если только не включены одновременно автоподключение и запуск вместе с Windows — тогда блокировка держится, пока Colitu не подключится заново; кнопка «Отключить» тоже её снимает. Разрешены только само приложение, ядро VPN, локальная сеть и DHCP. Он включён по умолчанию. Он активен и в режиме TUN, и в режиме системного прокси; в режиме прокси приложения, которые не используют прокси, остаются без интернета, пока вы подключены. Если службы нет, приложение предупредит и перейдёт на прежний kill switch внутри приложения, который не переживает сбой.
Установка и проверка подлинности
- Скачайте установщик на странице Colitu для Windows.
- Если SmartScreen предупреждает о неизвестном издателе, сначала сравните SHA-256 файла со значением на странице. В PowerShell:
Get-FileHash .\ColituVPN-Setup-*-x64.exe -Algorithm SHA256. - Запустите установку, войдите в аккаунт и нажмите «Подключиться».
Обновления приложение устанавливает само, но только если подпись манифеста обновления (ECDSA P-256) и контрольная сумма файла совпадают.
Как проверить, что всё работает
- Откройте «Мой IP» без VPN и запомните адрес.
- Подключитесь и обновите страницу: адрес и страна должны смениться, а страница покажет, что адрес принадлежит серверу Colitu.
- Для программ вне браузера включите TUN и проверьте ещё раз.
Приватность журналов
Ядра VPN пишут в журнал строки о DNS-запросах и подключениях. Colitu для Windows не сохраняет такие строки, а в оставшихся сообщениях об ошибках маскирует домены и адреса. Поэтому, даже отправляя журнал в поддержку, вы не отправляете историю своих сайтов.
Код приложения открыт: github.com/colitu/windows.