Клиент WireGuard на OpenWrt: настройка и проверка трафика

Клиент WireGuard на OpenWrt: настройка и проверка трафика

Kevin Wu
11 октября 2026 г.· 10 мин чтения

Клиент WireGuard на OpenWrt требует настроенного peer, маршрута, разрешения пересылки и обратного пути для ответов устройству LAN. Начните с одного разрешённого назначения и одного устройства, затем отдельно проверьте DNS и IPv6, прежде чем расширять охват.

Ключевые выводы

  • Недавнее рукопожатие подтверждает связь peers, но не пересылку из LAN.
  • AllowedIPs, системные маршруты, межсетевой экран и DNS выполняют разные задачи.
  • Сохраните проводное управление, независимое от туннеля.
  • Изменение маршрута по умолчанию может затронуть другие устройства и сам маршрутизатор.
  • Пример не обеспечивает автоматическую блокировку возврата трафика в WAN.

Подходит ли клиент WireGuard на OpenWrt вашей сети?

Область применения: стабильная серия OpenWrt 25.12 с fw4/nftables, поддерживаемое устройство и достаточное свободное место. В этой серии используется apk; не смешивайте инструкции с пакетами opkg старых выпусков или ядром snapshot. Сначала проверьте поддержку прошивки вашей моделью.[1]

Материал составлен по указанным официальным документам и реализации; полное сквозное испытание на оборудовании не проводилось. Ниже приведены ожидаемые признаки для вашей проверки, а не измеренные результаты автора. Работайте только с собственными сетями и конечными узлами либо с разрешения владельца.

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

Шаг 1: Зафиксируйте поддержку, реквизиты и исходное состояние

Подключите управляющий компьютер кабелем и откройте новый сеанс LuCI или SSH через прежний адрес LAN. Запишите его адрес, подсеть, шлюз и DNS. Исключите этот компьютер из эксперимента с трафиком и проверьте процедуру локального восстановления модели. Перед сменой прошивки используйте подготовку обновления маршрутизатора: установка пакета не является обновлением прошивки.

Скачайте архив на странице резервного копирования LuCI и сохраните его конфиденциально вне маршрутизатора. В нём могут находиться пароли и закрытые ключи. Отдельно перечислите добавляемые разделы network и firewall: полный возврат архива перезапишет изменения других владельцев, сделанные после резервирования.

Получите имя конечного узла, порт UDP, открытый ключ сервера, необязательный предварительный общий ключ и назначенный адрес туннеля. Убедитесь, что сервер разрешает эту идентичность и нужную пересылку либо частный сервис. Не отправляйте секретную конфигурацию онлайн-конвертерам и не включайте её в публичные отчёты.

В примере устройство имеет адрес 192.168.8.10, LAN — 192.168.8.0/24, клиент туннеля — 10.77.0.2/32, разрешённый сервер назначения — 10.77.0.1. Замените адреса, если ваша сеть отличается или пересекается с ними. Имена разделов sh25_ и интерфейс wg_test должны быть свободны; при совпадении остановитесь, не присваивайте чужую конфигурацию.

Шаг 2: Создайте интерфейс и peer без смены основного маршрута

Установите протокол и поддержку LuCI из настроенного доверенного репозитория 25.12. При ошибке зависимостей или версии ядра остановитесь. Не принуждайте установку и не скачивайте модуль ядра другого выпуска.[2]

apk update
apk add wireguard-tools luci-proto-wireguard

В Network → Interfaces добавьте wg_test с протоколом WireGuard VPN. Локально внесите закрытый ключ клиента и назначенный адрес. Создайте один peer с открытым ключом сервера, конечным узлом и портом. Остальные определения интерфейсов сохраните.

Ниже показан фрагмент конфигурации, а не замена /etc/config/network. Безопасно замените прописные заполнители. Предварительный общий ключ добавляйте только при наличии такого требования в согласованной конфигурации.[3]

config interface 'wg_test'
        option proto 'wireguard'
        option private_key 'CLIENT_PRIVATE_KEY'
        list addresses '10.77.0.2/32'

config wireguard_wg_test 'sh25_peer'
        option public_key 'SERVER_PUBLIC_KEY'
        option endpoint_host 'AUTHORIZED_ENDPOINT_HOST'
        option endpoint_port 'AUTHORIZED_UDP_PORT'
        list allowed_ips '10.77.0.0/24'
        option route_allowed_ips '1'

Проверьте изменения и используйте Save & Apply в LuCI. Переподключитесь к неизменённому адресу управления. Если доступ пропал, дождитесь автоматического отката неподтверждённых изменений вместо повторного подтверждения. Запуск этого исходящего интерфейса не требует открытия управления со стороны WAN.

Что меняет маршрутизация VPN на OpenWrt?

AllowedIPs связывает назначения с peer и ограничивает принимаемые из туннеля адреса источников. Этот параметр не даёт разрешения межсетевого экрана. Опция OpenWrt route_allowed_ips дополнительно запрашивает системные маршруты; в реализации её значение по умолчанию равно 0. Для ограниченного назначения пример явно задаёт 1.[3]

УровеньЧто смотретьЧто это устанавливает
Интерфейсwg_test, назначенный адресНаличие локального интерфейса туннеля
PeerУзел, открытый ключ, AllowedIPsПравильный peer и допустимый набор адресов
Маршрут10.77.0.0/24 через туннельВыбор интерфейса для назначения
Межсетевой экранРазрешение тестовому источникуДопуск пересылки запросов клиента
Обратный путьМаршрут сервера либо согласованная трансляцияВозможность доставить ответ отправителю
DNSРеальный резолвер и его маршрутПуть исходящих запросов имён

Перед расширением прочитайте различие AllowedIPs и маршрутов. Для выхода IPv4 в интернет замена ограниченного префикса на 0.0.0.0/0 при включённых автоматических маршрутах меняет путь по умолчанию. Это может затронуть всех клиентов LAN и запросы самого маршрутизатора. Выполняйте такую ветвь только в изолированной тестовой LAN или согласованном окне обслуживания с рабочим WAN-маршрутом к конечному узлу.

Если nohostroute не включён, netifd обычно отслеживает достижимость endpoint. Проверьте фактический маршрут к разрешённому адресу узла: он не должен попадать в собственный туннель. Разрешение имени endpoint должно работать ещё до запуска. Маршрут по умолчанию не является защитой при разрыве. Для разных путей двух устройств используйте политики по устройствам, а не глобальный маршрут.[3]

Шаг 3: Разрешите только нужную пересылку

Создайте отдельную зону sh25_wg, включающую wg_test, с input REJECT, output ACCEPT, forward REJECT. Правилом IPv4 разрешите источнику 192.168.8.10 пересылку из его реальной LAN-зоны в sh25_wg. Подойдёт имя sh25_client_forward. Не добавляйте разрешений WAN→LAN или доступа WAN к управлению маршрутизатором.[4]

Для частного назначения выберите вместе с владельцем сервера один обратный путь: разрешённый маршрут к LAN с соответствующими AllowedIPs на сервере либо IPv4 masquerading в отдельной зоне туннеля. Запишите выбор. Трансляция упрощает обратную маршрутизацию, но скрывает отдельный источник LAN от удалённого сервиса и сама по себе не предоставляет авторизацию.

Сохраните существующие правила WAN и управления. Перед применением проверьте конфигурацию, затем сформированные правила nftables. Даже правильная конфигурация требует реального запроса тестового устройства. Не сбрасывайте весь межсетевой экран: так исчезнут разрешения и защиты остальных сервисов.

Как проверять DNS WireGuard на OpenWrt и IPv6?

Зафиксируйте текущий резолвер клиента. Запрос к маршрутизатору обрабатывается локально, а следующий запрос маршрутизатора к upstream является отдельным потоком. Его источник уже не исходное устройство LAN. Наличие адреса DNS в файле не устанавливает используемый интерфейс.[4]

Если нужен резолвер, доступный через туннель, явно настройте его на клиенте либо в соответствующем DNS-разделе маршрутизатора. Проверьте маршрут и разрешение нового имени под вашим контролем. Сопоставьте резолвер клиента, выбор upstream маршрутизатором и поведение приложения. Зашифрованный DNS браузера может обращаться к другому узлу. Не объявляйте всей LAN недоступный резолвер.

При маршрутизации только IPv4 активный IPv6-путь остаётся отдельным. Добавляйте ::/0 лишь при разрешённой пересылке IPv6 сервером, корректных адресах, допустимых источниках и спроектированных правилах и обратном маршруте IPv6. Masquerading IPv4 не решает обратную маршрутизацию IPv6. Иначе не заявляйте охват всего устройства и не отключайте IPv6 общей сети ради формально успешного теста.

Шаг 4: Проверьте разрыв, перезапуск и восстановление

Следующие команды показывают состояние без закрытых ключей. Публичные идентичности и сведения об endpoint также оставляйте вне общих отчётов, если их раскрытие не нужно и не разрешено.[3]

ifstatus wg_test
wg show wg_test latest-handshakes
wg show wg_test transfer
ip -4 route show
ip -6 route show
nft list ruleset
Метод проверкиОжидаемый признакДействие при сбое
Запрос клиента к разрешённому сервису 10.77.0.1Успех и рост соответствующих счётчиков туннеляРазделите ошибки peer, маршрута, пересылки и возврата
Повтор запроса на маршрутизатореОтдельно записанный результатНе выводите из него успех LAN
Новый DNS-запрос и выбранный резолверСогласованные резолвер и путьВерните DNS и исследуйте upstream-маршрут
Оба семейства адресов в разрешённой ветви полного выходаВыходы соответствуют отдельным политикам IPv4/IPv6Считайте отсутствующий или обходной IPv6 нерешённым
Отключение только wg_test, затем новое соединениеЧастная цель недоступна; интернет следует обычным маршрутамНе обещайте блокировку, сохраните проводное управление
Возврат интерфейса и перезагрузка только тестового роутераСохранённые настройки и прежний результат проверокВосстановитесь локально и сравните постоянную конфигурацию

Для публичного выхода на клиенте проверьте видимый адрес интернета. Этот результат не доказывает DNS-маршрут, охват всех приложений или защиту входящих соединений. После каждого изменения создавайте новые соединения: старые сеансы и DNS-кэш могут скрыть смену маршрута.

Для отмены сначала верните изменённые шлюз и DNS клиента. По проводному управлению остановите wg_test; удалите только sh25_peer, wg_test, sh25_client_forward, sh25_wg и маршруты либо DNS-записи этого упражнения. Примените через прежнего владельца конфигурации. Проверьте LAN-доступ, исходный WAN-маршрут, DNS и незатронутое устройство. Пакеты удаляйте лишь если установили их исключительно здесь и от них больше ничего не зависит.

При недоступном управлении используйте документированное локальное восстановление модели и закрытый резервный архив. Не начинайте со сброса общего маршрутизатора. Восстановление подтверждено, когда новые запросы идут первоначальным путём, а не только когда открывается LuCI.

Итоги

  • Сначала проверьте ограниченное назначение, затем рассматривайте интернет-маршрут.
  • Пересылку клиента LAN и обратный путь проверяйте независимо.
  • Зафиксируйте DNS, IPv6, разрыв и перезапуск.
  • При восстановлении удаляйте только изменения упражнения.

Часто задаваемые вопросы (FAQ)

Рукопожатие означает, что все устройства LAN используют WireGuard?

Нет. Оно подтверждает связь peers, тогда как каждый запрос зависит от маршрута, разрешения пересылки и возврата. Проверяйте именно устройство, которому нужен туннель.

Нужно сразу добавлять 0.0.0.0/0 в AllowedIPs?

Начните с разрешённого частного префикса. Префикс по умолчанию вместе с автоматическими маршрутами может изменить пути других клиентов и самого роутера; сначала оцените последствия.

Нужен входящий доступ WAN к управлению?

Для этого исходящего клиента он не требуется. Оставьте LuCI и SSH на прежнем ограниченном пути управления вместо их открытия ради устранения ошибки соединения.

Почему маршрутизатор достигает сервера, а ноутбук нет?

Локальный запрос использует обработку output, а ноутбуку нужны forwarding и обратный маршрут. Сначала проверьте источник ноутбука и разрешение отдельной зоны туннеля.

DNS автоматически меняется вместе с туннелем?

Не рассчитывайте на это. Отдельно проверьте клиентский резолвер и upstream роутера, включая зашифрованный DNS приложений, прежде чем описывать охват разрешения имён.

Остановка WireGuard блокирует обычный интернет?

Этот пример такой гарантии не даёт. Существующие маршруты и разрешения WAN могут принять новые публичные запросы; для блокировки нужна отдельная проверенная политика отказа.

Можно вернуть архив без проверки других изменений?

Полное восстановление перезаписывает изменения после резервирования. Предпочтительнее удалить именованные разделы упражнения; полный архив используйте только с понятным разрешённым объёмом восстановления.

Источники:

  1. OpenWrt — 25.12.0 release notes — https://openwrt.org/releases/25.12/notes-25.12.0
  2. OpenWrt — WireGuard client and documentation index — https://openwrt.org/docs/guide-user/services/vpn/wireguard/client ; https://openwrt.org/docs/guide-user/services/vpn/wireguard/start
  3. OpenWrt 25.12 — WireGuard netifd protocol implementation — https://raw.githubusercontent.com/openwrt/openwrt/openwrt-25.12/package/network/utils/wireguard-tools/files/wireguard.sh
  4. OpenWrt — Firewall configuration — https://openwrt.org/docs/guide-user/firewall/firewall_configuration

Sources checked 11 октября 2026 г.


Рекомендуемые статьи:

Начните бесплатный 3-дневный пробный период

Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.

*Только для новых пользователей. Один пробный период на пользователя.

Клиент WireGuard на OpenWrt: настройка и проверка трафика | AethoVPN