Keenetic: настройка OpenVPN-клиента
Если ваш VPN-сервер работает на OpenVPN, а не на WireGuard, поднять его на уровне роутера — тоже возможно, и без единого стороннего приложения на самих устройствах. KeeneticOS умеет импортировать готовый .ovpn-файл прямо через веб-интерфейс, поднимать туннель и по политикам решать, кто из домашних устройств пойдёт через VPN, а кто — напрямую. Ниже — весь путь: от установки компонента до тонкостей, которые обычно всплывают именно с OpenVPN (а не с WireGuard).
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Что нужно для подключения
Перед тем как открывать веб-интерфейс роутера, соберите три вещи:
- Keenetic с актуальной KeeneticOS. Компонент OpenVPN-клиента доступен на большинстве современных моделей (Giga, Viator, Peak, Hero и аналогичных), кроме самых бюджетных с ограниченной флеш-памятью — там компонент может не влезть в набор, это стоит проверить в списке компонентов заранее.
- Файл
.ovpnс вашего сервера. Это текстовый конфиг клиента, который обычно уже содержит сертификаты и ключи прямо внутри себя (между тегами<ca>,<cert>,<key>,<tls-auth>или<tls-crypt>), поэтому отдельно таскать.crt/.key-файлы, как правило, не нужно. Если сервера ещё нет — я подробно разбирал его установку в статье про настройку OpenVPN на VPS, а про выпуск клиентских сертификатов для нескольких пользователей — в статье про Easy-RSA и multi-user конфигурацию. - Доступ к веб-интерфейсу роутера —
my.keenetic.netиз локальной сети или IP-адрес роутера в браузере, с правами администратора.
Типичный .ovpn выглядит примерно так (сертификаты для краткости сокращены):
client
dev tun
proto udp
remote 203.0.113.10 1194
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-GCM
auth SHA256
verb 3
<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
</key>
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
...
-----END OpenVPN Static key V1-----
</tls-auth>
key-direction 1
Обратите внимание на строку proto — от неё зависит, какой порт и протокол должен быть открыт на сервере и не режет ли его провайдер по пути (об этом ниже, в разделе про типичные проблемы).
Устанавливаем компонент OpenVPN в KeeneticOS
По умолчанию поддержка OpenVPN-клиента в прошивку не включена:
- Откройте веб-интерфейс роутера, перейдите в Общие настройки → Обновления и компоненты.
- Нажмите Изменить набор компонентов.
- В категории VPN найдите OpenVPN-клиент (не путайте с «OpenVPN-сервером» — это отдельный компонент для обратной задачи, когда роутер сам принимает подключения) и отметьте галочкой.
- Нажмите Сохранить — начнётся загрузка, роутер перезагрузится сам.
После перезагрузки в разделе Интернет появится вкладка OpenVPN. Если компонента нет в списке — либо не хватает свободной памяти под компоненты (тогда стоит отключить что-то неиспользуемое, например неактивный VPN-протокол или IPv6-модуль), либо модель официально не поддерживается.
Арендуйте сервер под свои задачи!
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать серверИмпортируем .ovpn через веб-интерфейс
Дальше — сама настройка подключения:
- Перейдите в Интернет → OpenVPN и нажмите Добавить подключение.
- Выберите Импортировать файл настройки и укажите скачанный
.ovpn. - Роутер сам разберёт файл: адрес и порт сервера, протокол (UDP/TCP), шифр, сертификаты и ключи, если они встроены в файл.
- Если сертификаты в файле не встроены, а идут отдельными файлами (
ca.crt,client.crt,client.key, иногдаta.key), мастер попросит загрузить их по очереди — просто укажите нужные файлы в соответствующих полях. - Сохраните — Keenetic создаст новый интерфейс, обычно с именем
OpenVPN0.
Если хочется задать параметры вручную (например, у вас есть данные из панели провайдера, а не готовый файл), выберите Задать параметры вручную — там же можно указать логин и пароль, если сервер настроен на аутентификацию по связке auth-user-pass, а не только по сертификату.
Проверяем, что туннель поднялся
После сохранения откройте вкладку OpenVPN ещё раз и посмотрите статус интерфейса:
- Состояние: Подключено — туннель установлен, TLS-хендшейк прошёл успешно.
- Счётчики Отправлено/Получено растут — значит, трафик реально идёт через сервер.
Через командную строку (SSH или Telnet до роутера) состояние можно посмотреть командой:
show interface OpenVPN0
Если статус долго висит на «Подключение» или интерфейс постоянно переподключается — почти всегда дело либо в TLS-хендшейке (рассинхрон времени на роутере, устаревший сертификат, несовпадающий cipher/auth между клиентом и сервером — подробный разбор по строкам лога есть в статье «OpenVPN: TLS handshake failed»), либо в блокировке порта на пути от роутера до сервера. Если же туннель поднимается, но интернет через него не идёт — это отдельная и довольно частая история, разобранная в статье «OpenVPN подключается, но нет сети».
Политики маршрутизации: какие устройства идут через VPN
Как и с WireGuard, ключевая причина ставить OpenVPN именно на роутер, а не на каждое устройство — точечный контроль трафика. Настраивается в Интернет → Политики:
- Нажмите Добавить политику.
- Задайте имя, например «Через OpenVPN».
- В качестве приоритетного подключения выберите интерфейс OpenVPN0, резервным оставьте основной канал провайдера — если туннель упадёт, устройства не останутся вовсе без интернета.
- Сохраните политику.
- В разделе Мои сети и устройства откройте нужное устройство и назначьте ему созданную политику.
Точно так же работает и маршрутизация по доменам — в Интернет → Политики → Списки доменных имён можно указать конкретные сайты, которые всегда идут через интерфейс OpenVPN0, независимо от политики устройства. Механика (перехват DNS-ответов и динамическое добавление маршрутов) не зависит от типа VPN-протокола, я подробно её разбирал в статье про клиент WireGuard на Keenetic — там же можно посмотреть на процесс с политиками в скриншотах интерфейса, если WireGuard вам ближе по духу.
OpenVPN или WireGuard на Keenetic — если выбор ещё не сделан
Если сервер только предстоит поднимать и протокол не зафиксирован, на роутере разница между ними ощущается конкретнее, чем на VPS:
| Критерий | OpenVPN на Keenetic | WireGuard на Keenetic |
|---|---|---|
| Нагрузка на процессор роутера | Выше — обработка идёт в userspace | Ниже — компактный код и более простая криптография |
| Обход блокировок по DPI | Есть режим TCP на порту 443, маскируется под HTTPS | Сложнее замаскировать, обычно нужна обфускация (например, AmneziaWG) |
| Гибкость аутентификации | Сертификаты, логин/пароль, комбинация | Только пары публичных/приватных ключей |
| Простота конфига | Один файл .ovpn, но тяжелее читается | Компактный конфиг из нескольких строк |
| Готовность на слабых моделях | Может ощутимо просаживать throughput на бюджетных SoC | Обычно держит канал провайдера почти без потерь |
Если у вас уже есть OpenVPN-сервер (например, поднятый по инструкции про обход блокировок в России) — держаться его на роутере вполне разумно, тем более что режим TCP на 443 порту иногда единственный способ пробиться через агрессивный DPI. Если сервера ещё нет и жёсткой привязки к OpenVPN тоже нет — WireGuard на слабом железе обычно ощутимо экономнее по ресурсам роутера, сравнение протоколов в целом (не только на роутере) я разбирал в статье «WireGuard или OpenVPN: что выбрать».
Типичные проблемы именно на роутере
Несколько вещей, которые всплывают на Keenetic чаще, чем на десктопном клиенте:
- UDP-порт блокируется провайдером или DPI, а TCP — нет. Решение — попросить у сервера конфиг с
proto tcpи портом 443 (если сервер настроен принимать оба варианта) и переимпортировать файл. Смена протокола на уже созданном подключении вручную через веб-интерфейс не всегда доступна — проще удалить старое подключение и импортировать новый.ovpnцеликом. - Разрывы и фрагментация пакетов при активной нагрузке. OpenVPN чувствителен к MTU туннеля сильнее, чем WireGuard. Если видите резкое падение скорости на крупных файлах при том, что мелкие запросы работают нормально — это повод проверить, не режет ли провайдер пакеты нестандартного размера; на стороне сервера обычно помогает явно прописанный
mssfixв конфиге. - Токен ощутимо греется, а WAN-скорость роутера заметно проседает. Если ваш тариф провайдера выше, чем реальная пропускная способность OpenVPN-туннеля на конкретной модели Keenetic — это, скорее всего, упор в процессор роутера, а не в сеть. Проверить просто: временно замерить скорость через WireGuard, если он тоже настроен, — заметная разница в пользу WireGuard подтверждает именно эту причину.
- После обновления прошивки подключение пропало из списка. При крупных обновлениях KeeneticOS набор компонентов иногда сбрасывается к минимальному — проверьте Общие настройки → Обновления и компоненты и включите OpenVPN-клиент заново, само подключение (конфиг) при этом обычно сохраняется.
Арендуйте сервер под свои задачи!
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать серверНужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Частые вопросы
Можно ли держать одновременно OpenVPN и WireGuard на одном роутере?
Да, интерфейсы независимы (OpenVPN0 и Wireguard0), можно завести оба и развести их разными политиками — например, рабочие устройства через один сервер, а остальные через другой.
Поддерживает ли Keenetic аутентификацию по логину и паролю без сертификата?
Да, если сервер настроен на auth-user-pass, поле логина и пароля появится при ручной настройке подключения или будет запрошено при первом подключении после импорта файла.
Почему после импорта конфига появилась ошибка про недоверенный сертификат или неверное время?
Чаще всего это рассинхрон системного времени на роутере — TLS чувствителен к точной дате. Проверьте настройки NTP в Общие настройки → Системное время и убедитесь, что синхронизация включена и доступен NTP-сервер.
Обязательно ли нужен именно .ovpn-файл или можно ввести всё вручную?
Импорт файла — самый быстрый и надёжный способ, но ручной ввод параметров тоже полностью поддерживается, если у вас на руках отдельные значения (адрес, порт, протокол, сертификаты) без единого файла.
Влияет ли включение OpenVPN-клиента на скорость обычного интернета без VPN?
Нет, пока политика не назначена устройству или не выставлена как маршрут по умолчанию для всей сети — трафик, для которого VPN не указан явно, идёт через обычный канал провайдера как раньше.
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →