Bug 57798 - DCO support?
Summary: DCO support?
Status: ASSIGNED
Alias: None
Product: Sisyphus
Classification: Development
Component: openvpn (show other bugs)
Version: unstable
Hardware: all Linux
: P5 enhancement
Assignee: Nikolay A. Fetisov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-02-09 09:12 MSK by Ivan A. Melnikov
Modified: 2026-02-15 20:43 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan A. Melnikov 2026-02-09 09:12:49 MSK
Было бы здорово иметь в репозитории openvpn с поддержкой DCO. В наших ядрах 6.18 вроде как есть соответствующий модуль.
Comment 1 Nikolay A. Fetisov 2026-02-12 15:54:12 MSK
DCO - это достаточно интересная новая опция, но с ним есть ряд проблем.

Просто переключение на использование DCO для существующих установок невозможно.
Требуется ручная проверка конкретных конфигураций и анализ возможности
использования DCO в них. В частности,
- DCO не поддерживает сети L2 (TAP mode);
- DCO не поддерживает компрессию данных (а это задаётся одновременно на сервере и на клиенте);
- DCO поддерживает очень ограниченный набор протоколов SSL - и их нет в старых клиентах;
- DCO поддерживает только сети /30;
- нет поддержки --fragment, --mssfix;
- и, существенно изменена схема маршрутизации трафика.

В зависимости от настроек OpenVPN с поддержкой DCO может вместо использования
DCO переключиться на обычные TUN/TAP, _но_ выбор схемы маршрутизации трафика 
(использование iproute2 для обычного OpenVPN или прямые изменения в таблицах
маршрутизации ядра для OpenVPN с DCO) задаётся на этапе сборки.
Т.е., поведение собранного с поддержкой DCO OpenVPN отличается от поведения
собранного без поддержки DCO  OpenVPN даже при выборе обычных TUN/TAP вместо DCO.


В сам код, связанный с поддержкой DCO и новой маршрутизации, регулярно вносятся
исправления ошибок, в т.ч. связанных с безопасностью работы.


И, есть два модуля DCO. Старый ovpn-dco-v2, который в upstream-ядро не включался,
и новый ovpn (v3), который появился начиная с ядер 2.6.16.
У нас ovpn.ko есть сейчас только в kernel-image-6.18 и kernel-image-6.19 для
i586/x96_64/aarch64 в Sisyphus, и kernel-image-rockchip64 в Sisyphus и P11.

При этом модуль ovpn умеют использовать:
- Access Server - коммерческий продукт,
- OpenVPN-client3 - клиент под Access Server,
- и OpenVPN 2.7. Первый релиз которого, 2.7.0, вышел вчера, 11.02.2026 г.

Текущий OpenVPN 2.6 в Sisyphus/P11/P10/P9 работать с ovpn (v3) не умеет,
даже если его собрать с поддержкой DCO - ему нужен старый ovpn-dco-v2 .


Т.е., в каком-то обозримом будущем добавить поддержку можно - с переходом
на OpenVPN 2.7, но для текущего стабильного OpenVPN 2.6 это смысла не имеет.
Comment 2 Vitaly Lipatov 2026-02-15 20:43:18 MSK
Очень ждём сборки OpenVPN 2.7.