Куда деваться с OpenVPN

топ 100 блогов klink0v — 17.06.2025

Был такой хороший клиент для предоставления доступа в корпоративную сеть под названием OpenVPN. Почему "был"? Потому что в версии 2.7 его испохабили. Но обо всём по порядку. Почему эта софтина в принципе заслуживала внимания.


  • Кросплатформенная: есть подо всё, включая мобильники и прасти хоспади огрызки.

  • Позволяет "спускать" (push) с сервера на клиента всевозможные настройки включая search domains, static routes и разные другие.

  • Гибкая конфигурация для каждого клиента при помощи ccd (client config directory).

  • Умеет в Radius и во второй фактор (2FA) путём подключения сторонних сервисов.

  • Поддерживает разные режимы (TCP / UDP), всякие фрагментации пакетов, защиту контрольного канала при помощи TLS-Crypt и прочие полезности.

  • Замах на кровавый энтерпрайз: можно автомагически загружать конфигурацию в клиента при помощи скармливания ему определенного URL-а.

  • Быстродействие: с появлением DCO стал работать совсем шустро.

Еще в Linux-е при интеграции OpenVPN + Systemd-Resolved + NetworkManager можно делать прям "полноценный" Split DNS на уровене клиента, когда определенные домены ресолвятся через тоннель, а все остальные — "как обычно". Причём настраивается это минимальными усилиями.

Теперь о грустном.

Во-первых, разработчики официально объявили, что они не позволят вносить никаких изменений / дополнений в протокол. Что делает его бесполезным в современных условиях в России / Китае / арабских странах и некоторых других. Во-вторых, обмен ключами идет по тому же самому каналу, что и Payload. А это значит, что UDPшное TLS-рукопожатие легко обнаруживается по характерным таймингам, а по TCP "основное" соединение работает медленно и печально. В-третьих, в версии 2.7 они выпилили WinTun-адаптер, что сразу добавляет проблем под форточками.

Почему это важно? Потому что форточки берут DNS-сервер из того соединения, у которого наименьшая метрика. А наименьшая метрика будет у самого скоростного из них. WinTun-адаптер эмулировал скорость 100 ГБит/с, поэтому DNS-сервер всегда брался из WinTun-соединения. "Обычный" же тапок и DCO-адаптер эмулируют скорость 1 ГБит/с и местами начинают конкурировать с "железными" сетевыми картами. Да, есть директива вида «push "block-outside-dns"», которая тупо через WFP отрезает udp:53 внаружу. Если конечно пользователь не отключил этот WFP или не понаставил себе каких-нибудь там касперских.

Но и это ещё не всё. Если хочется использовать директивы наподобие "fragment", то под форточками они не позволяют включать DCO-адаптер. То есть мы откатываемся к классическому тормозному "тапку".

Далее. Когда виндовый клиент включает OpenVPN, то в тоннель уходят либо все его DNS-запросы, либо никакие. Чего-то промежуточного не бывает. Если "никакие", то становится неудобно шариться по внутрикорпоративным ресурсам. Если "все", то это ломает механизмы географической оптимизации. Т.е. тебе начинают предлагать не ближайший к тебе CDN-ресурс, а тот который ближе к корпоративному DNS-серверу. Иногда он может оказаться о-о-о-очень далеко.

Резюмируя, у OpenVPN под Windows есть две большие проблемы: DNS и характерный яркий TLS.

С другой стороны, я недавно столкнулся с последними версиями Cisco AnyConnect и слегонца подывился. У него обмен ключами происходит через самый обычный HTTPS. А дальнейший payload идет через DTLS, т.е. поверх UDP. То есть мы сразу убираем один из двух главных недостатков OpenVPN. Что у него с DNS-ами, я особо не всматривался. Но спускать (push) отдельные статические маршруты точно можно, и 2FA он тоже поддерживает.

Вот я и задумался, а может быть ну его нафиг, этот OpenVPN? Может чего с OpenConnect хорошего сделать получится? Кто-нибудь пробовал?

Оставить комментарий

Архив записей в блогах:
Фраза из старого анекдота вспомнилась мне при чтении этого поста , посвященного новой книге Чарльза Мюррея «Столкновение с реальностью: две истины о расах в Америке» . Интересно место, где речь идет о количестве "хороших негров" (дальше - мой перевод): "Для теста IQ установлено ...
В Советском Союзе известным производителем резиновых шлёпанцев был завод «Полимер» в городе Сланцы Ленинградской области. Многие покупатели полагали, что выдавленное на подошвах слово «Сланцы» это название обуви. Далее слово вошло в активный словарный запас и превратилось в синоним слов ...
...
Скумбрия из баночки, консервы. Называется скумбрия атлантическая, натуральная с добавлением масла. Очень вкусная. Но что интересно - произведена в Приморском крае. Это скумбрия атлантическая сама в Тихий океан приплыла, или на сейнере привезли из Атлантики? Прямо беспокоюсь. :) ...
Голубь - символ мира и любви, без него нельзя представить себе современный город, но чрезмерно активное размножение этих пернатых в городских условиях многим причиняет беспокойство. Помимо загрязненных голубиным пометом зданий, памятников и тротуаров с ними связана опасность ...