Всем привет!
Столкнулся с проблемой, которая уже две недели не даёт мне покоя. Перепробовал всё, но техподдержка Keenetic уходит от ответа. Решил вынести вопрос на суд сообщества.
[BUG] PBR + OpenVPN (redirect-gateway) не работает на KN-3013 / 5.1.1
Оборудование: Keenetic Speedster (KN-3013)
Прошивка: 5.1.1
Настройка Policy-Based Routing (PBR) для перенаправления всего трафика с Xbox через OpenVPN-туннель.
Туннель OpenVPN поднимается штатно, пинг до шлюза туннеля (10.8.0.1) проходит (0% потерь). Однако трафик от устройств, привязанных к политике, в туннель не уходит и не доходит до VPN-сервера.
Маршруты добавляются не в ту таблицу.
При поднятии туннеля с опцией redirect-gateway def1 OpenVPN-клиент роутера добавляет маршруты 0.0.0.0/1 и 128.0.0.0/1 в table 0 (основную таблицу), а не в таблицу политики (4096):
[i] Jul 20 10:31:06 OpenVPN0: net_route_v4_add: 0.0.0.0/1 via 10.8.0.1 dev [NULL] table 0 metric -1
Ручной маршрут - ненадёжный костыль.
При ручном добавлении default-маршрута в таблицу 4096 маршрут появляется и работает, но после переподключения OpenVPN он исчезает из интерфейса. При этом в CLI он остаётся:
show ip route table 4096
0.0.0.0/0 10.8.0.1 OpenVPN0 U 1000
Техподдержка не может подтвердить работу PBR.
Техподдержка утверждает, что маршруты добавляются корректно, но не может объяснить, почему трафик не идёт, и не может показать правило fwmark lookup, которое является основой PBR. Они предлагают проверять таблицу (show ip route table), но это показывает только маршруты, а не правило, которое направляет трафик в эту таблицу. Без правила fwmark lookup даже наличие маршрута бесполезно.
В CLI роутера отсутствует команда ip rule show (или она недоступна в моей версии). При этом поддержка не может предложить альтернативный способ проверки правила.
Техподдержка называет исчезновение маршрута "ожидаемым поведением" и утверждает, что проблем нет, хотя маршрут есть в CLI, пинг проходит, а трафик не идёт. Это игнорирование фактов.
Туннель исправен, проблема в роутере.
Пинг с роутера до сервера (10.8.0.2 -> 10.8.0.1) проходит. Логи VPN-сервера пусты - трафик от клиента физически не приходит.
Проблема воспроизводится не только с OpenVPN, но и с WireGuard и Xray (SOCKS5). Это указывает на системную проблему PBR, а не на конкретный протокол.
Есть ли у кого-то рабочий пример PBR для OpenVPN с redirect-gateway def1 на прошивке 5.1.1 (KN-3013)? Возможно, есть скрытый параметр в конфиге OpenVPN (например, route-table 4096) или команда в CLI, чтобы принудительно привязать маршруты к таблице политики?
Проще говоря роутер не может направить 1 устройство из моей сети туда куда я хочу!
Готов предоставить любые дополнительные логи. Если это системная ошибка ядра NDMS - надеюсь, разработчики увидят этот пост.
Помогите пожалуйста !
Всем большое спасибо !
2026-07-23_13-43-05.pdf
show ip policy Policy0.txt