OpenVPN-клиент на Keenetic: импорт профиля .ovpn, политики и проверка утечек
Если ваш VPN-сервер работает на OpenVPN, туннель можно поднять прямо на роутере Keenetic. Тогда устанавливать клиент на каждое устройство не придётся, а через политики подключений можно решить, какие устройства пойдут через VPN, а какие останутся на обычном канале провайдера. Ниже описан весь путь: подготовка профиля, установка компонента, импорт, назначение политики и проверка внешнего адреса, DNS, IPv6 и поведения при обрыве туннеля.
Чтобы развернуть свой собственный VPN за 10 минут, Вам нужно:
- Заказать у нас Виртуальный сервер VPS MAATRIX в США, Великобритании или Франции (на Ваш выбор) и выбрать при установке тип VPN - WireGuard, OpenVPN, Amnezia (в зависимости от Вашего роутера). После оплаты этот сервер автоматически настроит VPN сразу для всей Вашей домашней или офисной сети.
- Вам останется просто подключить Ваш компьютер или роутер к этому серверу. Для роутера инструкцию можно взять с нашего сайта: просто введите модель Вашего роутера в каталоге и выполните указанные действия для настройки. Если Вашего роутера в списке нет - напишите пожалуйста нам в telegram @maatrixserv и мы предоставим Вам инструкцию.
- После подключения роутера к арендованному Вами серверу, все Ваши телефоны, планшеты, компьютеры и телевизоры заработают через него сами по Wi-Fi.
Ну а если что-то не будет получаться - наша техническая поддержка с радостью Вам поможет в telegram @maatrixserv , пожалуйста, обращайтесь!
Содержание
- Подготовьте профиль и проверьте модель роутера
- Установите компонент «Клиент и сервер OpenVPN»
- Импортируйте конфигурацию в веб-интерфейсе
- Убедитесь, что туннель установлен
- Назначьте устройствам политику подключения
- Проверьте внешний IP, DNS и IPv6
- Проверьте поведение при обрыве туннеля
- Решите, оставаться ли на OpenVPN
- Разберите типичные проблемы на роутере
Подготовьте профиль и проверьте модель роутера
Для настройки нужны три вещи: роутер Keenetic с актуальной KeeneticOS, доступ администратора к веб-интерфейсу (адрес my.keenetic.net из домашней сети или IP-адрес роутера) и клиентский профиль OpenVPN с вашего сервера. Если сервера пока нет, его установка разобрана в статье про настройку OpenVPN на VPS. Как выпускать отдельные сертификаты для нескольких пользователей и устройств, описано в материале про Easy-RSA и multi-user конфигурацию. Роутеру лучше выдать собственный сертификат, чтобы его можно было отозвать, не затрагивая остальных клиентов.
Keenetic принимает конфигурацию одним текстом, поэтому сертификаты и ключи должны быть встроены в профиль, а не лежать рядом отдельными файлами .crt и .key. Обычно генераторы профилей так и делают. Структура выглядит примерно так (ключевой материал заменён многоточиями, адрес взят из документационного диапазона):
client
dev tun
proto udp
remote 203.0.113.10 1194
resolv-retry infinite
nobind
persist-key
persist-tun
data-ciphers AES-256-GCM
auth SHA256
remote-cert-tls server
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
Перед импортом просмотрите несколько строк. В remote указаны адрес и порт сервера, а в proto — транспорт, UDP или TCP. От этой пары зависит, пропустит ли соединение провайдер. Блок <ca> и строка remote-cert-tls server отвечают за проверку подлинности сервера: роутер убеждается, что подключается к узлу с сертификатом вашего центра сертификации. Если в профиле есть verify-x509-name, оставьте её. Удалять эти строки ради совместимости не нужно: без них клиент может подключиться к чужому серверу, выдающему себя за ваш.
Отдельно проверьте размер файла. По официальной документации Keenetic на моделях KN-1110, KN-1210, KN-1310, KN-1410, KN-1510, KN-1610, KN-1710, KN-1810 и KN-1910 суммарный размер сохранённых конфигураций OpenVPN ограничен 24 Кбайт. Для других моделей объём хранилища нужно смотреть в их документации, но если у вас одна из перечисленных, лишнего в профиле быть не должно. Обычно хватает удаления комментариев. Сертификаты, ключи и параметры шифрования удалять нельзя.
Установите компонент «Клиент и сервер OpenVPN»
Поддержка OpenVPN в KeeneticOS устанавливается отдельным компонентом:
- Откройте Управление → Настройки системы.
- Нажмите Изменить набор компонентов.
- Отметьте Клиент и сервер OpenVPN. Этот компонент отвечает за обе роли.
- Сохраните изменения и дождитесь окончания обновления. Роутер может перезагрузиться.
Затем перейдите в Интернет → Другие подключения. Если тип OpenVPN там так и не появился, проверьте, поддерживает ли его ваша модель и хватает ли места для компонентов. Удалять компоненты, на которых держится текущее подключение к провайдеру, ради установки VPN не стоит: можно остаться без интернета и без удалённого доступа к роутеру.
Заодно убедитесь, что системное время синхронизируется по NTP. TLS проверяет сроки действия сертификатов, и если дата на роутере сбита, рукопожатие с сервером не пройдёт даже при правильном профиле.
Импортируйте конфигурацию в веб-интерфейсе
Сам импорт сводится к вставке текста:
- Откройте клиентский
.ovpnв текстовом редакторе и скопируйте всё содержимое целиком, включая блоки с сертификатами. - В разделе Интернет → Другие подключения добавьте VPN-подключение и выберите тип OpenVPN.
- Задайте понятное имя и вставьте текст в поле Конфигурация OpenVPN.
- Сохраните настройки и включите подключение.
Отдельного мастера для загрузки сертификатов и ключей здесь нет, поэтому всё должно быть внутри вставленного текста. Профиль можно собрать и вручную, но тогда параметры шифрования, сертификаты и ключ tls-auth или tls-crypt должны в точности совпадать с серверными.
Если сервер дополнительно требует логин и пароль, одиночная строка auth-user-pass не подойдёт: интерактивного запроса пароля при подключении Keenetic не поддерживает. Замените её встроенным блоком со своими реквизитами:
<auth-user-pass>
YOUR_VPN_LOGIN
YOUR_VPN_PASSWORD
</auth-user-pass>
Проверку сертификата сервера при этом сохраняйте: логин и пароль подтверждают личность клиента, а подлинность сервера по-прежнему проверяется через CA. Сохраните исходный .ovpn в надёжном месте вне роутера. По документации Keenetic конфигурация OpenVPN не входит в startup-config, поэтому резервная копия этого файла не восстановит туннель.
Убедитесь, что туннель установлен
Вернитесь в Интернет → Другие подключения и посмотрите на состояние созданного подключения. Если оно установлено, а счётчики переданных и полученных данных растут, TLS-рукопожатие прошло и трафик идёт через сервер. Подробности каждой попытки подключения можно найти в системном журнале роутера. Расположение этого пункта меню зависит от версии KeeneticOS.
Если подключение долго висит в процессе установки или постоянно переподключается, есть две частые причины. Первая — проблемы на этапе TLS: сбитое время, истёкший или отозванный сертификат, несовпадение шифров или auth между клиентом и сервером. Как разобрать такие ошибки по строкам журнала, описано в статье «OpenVPN: TLS handshake failed». Вторая — порт или транспорт блокируется где-то между роутером и сервером. Бывает и так, что туннель поднимается, но сайты через него не открываются. Этому случаю посвящена статья «OpenVPN подключается, но нет сети».
Назначьте устройствам политику подключения
Главное преимущество VPN на роутере — возможность управлять трафиком отдельных устройств. Для этого используются политики в разделе Интернет → Приоритеты подключений:
- Нажмите Добавить политику и задайте имя, например «Через OpenVPN».
- Включите в политике созданное OpenVPN-подключение.
- Решите, нужен ли резервный выход через провайдера. Если его добавить, при падении туннеля устройства продолжат работать, но с адресом провайдера. Если такой обход недопустим, оставьте в политике только VPN.
- Сохраните политику.
- В разделе Мои сети и устройства откройте нужное устройство и назначьте ему эту политику.
Устройства без назначенной политики продолжают работать через обычное подключение, и их скорость сам по себе туннель не затрагивает.
В KeeneticOS начиная с версии 5.0 есть ещё один вариант — маршруты по доменным именам в разделе Маршрутизация → DNS-маршруты. У этой функции есть условия: в описанной производителем схеме клиент должен использовать DNS роутера и находиться в политике по умолчанию. Работа независимо от политики устройства не гарантируется. Создание списка доменов и привязка интерфейса описаны в официальной инструкции по DNS-маршрутам.
Проверьте внешний IP, DNS и IPv6
Проверку удобно делать на одном тестовом устройстве с назначенной политикой и для сравнения на устройстве без неё.
Внешний IPv4. Откройте на тестовом устройстве любой сервис, показывающий ваш публичный адрес. Там должен отображаться адрес выхода VPN-сервера, а на устройстве без политики — адрес провайдера. Адрес выхода может отличаться от указанного в remote, если у сервера несколько адресов. Сверьте его с данными сервера.
DNS. Запустите тест утечки DNS и посмотрите, чьи резолверы видит внешний сервис. Если там серверы провайдера, проверьте настройки DNS и маршрут запросов. Сам тест показывает резолвер, который обработал запрос, а не весь путь до него; один только адрес резолвера не доказывает обход туннеля. Применяет ли Keenetic DNS-серверы, переданные сервером OpenVPN, и как именно, зависит от версии прошивки. Поэтому ориентируйтесь на результат теста и при необходимости настройте DNS роутера явно.
IPv6. Если провайдер выдаёт IPv6, а туннель передаёт только IPv4, устройство может выходить на IPv6-сайты напрямую, минуя VPN. Откройте тест IPv6 на тестовом устройстве. Если он показывает адрес провайдера, ограничьте IPv6 для этого устройства или сегмента сети, либо настройте передачу IPv6 через туннель на стороне сервера. Такую проверку стоит повторять после обновлений прошивки и изменения настроек провайдера.
Проверьте поведение при обрыве туннеля
Не меняя политику тестового устройства, временно отключите OpenVPN-подключение в веб-интерфейсе и снова откройте сервис определения IP. Если в политике остался только VPN, интернет на устройстве должен пропасть. Если вместо этого появился адрес провайдера, в политике есть резервный выход или устройство на самом деле работает в другой политике. Перепроверьте оба места. Затем включите туннель обратно и убедитесь, что адрес снова сменился на адрес выхода VPN. После этого повторите тест DNS: при восстановлении соединения запросы иногда остаются на старом резолвере.
Решите, оставаться ли на OpenVPN
Если OpenVPN-сервер уже работает, например настроен по инструкции про OpenVPN на сервере и ограничения доступа в России, использовать его на роутере вполне разумно. OpenVPN гибок в аутентификации: поддерживает сертификаты, логин с паролем и их сочетание. Цена этой гибкости — более тяжёлая конфигурация и обычно более высокая нагрузка на процессор роутера, чем у WireGuard. На бюджетных моделях это бывает заметно. Работа по TCP/443 иногда помогает там, где UDP ограничен, но протокол при этом остаётся распознаваемым как OpenVPN, и прохождение через DPI никто не гарантирует. Если сервер ещё только предстоит выбрать, сравнение протоколов есть в статье «WireGuard или OpenVPN: что выбрать». OpenVPN и WireGuard могут работать на одном Keenetic одновременно как независимые подключения в разных политиках.
Разберите типичные проблемы на роутере
UDP не проходит, TCP доступен. Попросите у администратора сервера отдельный TCP-профиль и создайте с ним новое тестовое подключение, не трогая рабочее. Одной замены proto в клиентском файле недостаточно: сервер должен принимать соединения на том же порту и по тому же транспорту.
Мелкие страницы открываются, крупные загрузки зависают. Одна из возможных причин — MTU и фрагментация крупных пакетов на маршруте. Сначала посмотрите журнал и сравните поведение с VPN и без него. Параметр mssfix может помочь TCP-соединениям внутри OpenVPN поверх UDP, но значение подбирают под конкретный маршрут, и согласовывать его лучше с настройками сервера. Универсального числа для всех нет.
Скорость через VPN ниже ожидаемой. Во время передачи большого файла посмотрите загрузку процессора роутера и сравните скорость по кабелю с туннелем и без него. Ограничением может оказаться роутер, сервер или сам маршрут. Тест WireGuard на том же сервере даст дополнительную подсказку, но сам по себе ещё не докажет, что дело именно в процессоре.
Подключение пропало после обновления. Проверьте, на месте ли компонент «Клиент и сервер OpenVPN», и посмотрите системный журнал. Если конфигурацию придётся вводить заново, пригодится сохранённый исходный .ovpn. После восстановления повторите проверки внешнего IP, DNS, IPv6 и отключения туннеля.
Чтобы развернуть свой собственный VPN за 10 минут, Вам нужно:
- Заказать у нас Виртуальный сервер VPS MAATRIX в США, Великобритании или Франции (на Ваш выбор) и выбрать при установке тип VPN - WireGuard, OpenVPN, Amnezia (в зависимости от Вашего роутера). После оплаты этот сервер автоматически настроит VPN сразу для всей Вашей домашней или офисной сети.
- Вам останется просто подключить Ваш компьютер или роутер к этому серверу. Для роутера инструкцию можно взять с нашего сайта: просто введите модель Вашего роутера в каталоге и выполните указанные действия для настройки. Если Вашего роутера в списке нет - напишите пожалуйста нам в telegram @maatrixserv и мы предоставим Вам инструкцию.
- После подключения роутера к арендованному Вами серверу, все Ваши телефоны, планшеты, компьютеры и телевизоры заработают через него сами по Wi-Fi.
Ну а если что-то не будет получаться - наша техническая поддержка с радостью Вам поможет в telegram @maatrixserv , пожалуйста, обращайтесь!
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →