Начните бесплатный 3-дневный пробный период
Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.
*Только для новых пользователей. Один пробный период на пользователя.


Клиент WireGuard на OpenWrt требует настроенного peer, маршрута, разрешения пересылки и обратного пути для ответов устройству LAN. Начните с одного разрешённого назначения и одного устройства, затем отдельно проверьте DNS и IPv6, прежде чем расширять охват.
Ключевые выводы
- Недавнее рукопожатие подтверждает связь peers, но не пересылку из LAN.
- AllowedIPs, системные маршруты, межсетевой экран и DNS выполняют разные задачи.
- Сохраните проводное управление, независимое от туннеля.
- Изменение маршрута по умолчанию может затронуть другие устройства и сам маршрутизатор.
- Пример не обеспечивает автоматическую блокировку возврата трафика в WAN.
Область применения: стабильная серия OpenWrt 25.12 с fw4/nftables, поддерживаемое устройство и достаточное свободное место. В этой серии используется apk; не смешивайте инструкции с пакетами opkg старых выпусков или ядром snapshot. Сначала проверьте поддержку прошивки вашей моделью.[1]
Материал составлен по указанным официальным документам и реализации; полное сквозное испытание на оборудовании не проводилось. Ниже приведены ожидаемые признаки для вашей проверки, а не измеренные результаты автора. Работайте только с собственными сетями и конечными узлами либо с разрешения владельца.
План ответственности при самостоятельном размещении помогает назначить владельца ключей и восстановления. Если нужен обычный доступ в интернет, сравните охват устройства и отдельного приложения, прежде чем изменять маршрутизатор. Подключение одного терминала автоматически не охватывает остальные устройства LAN.
Подключите управляющий компьютер кабелем и откройте новый сеанс 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 должны быть свободны; при совпадении остановитесь, не присваивайте чужую конфигурацию.
Установите протокол и поддержку 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.
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]
Создайте отдельную зону 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. Даже правильная конфигурация требует реального запроса тестового устройства. Не сбрасывайте весь межсетевой экран: так исчезнут разрешения и защиты остальных сервисов.
Зафиксируйте текущий резолвер клиента. Запрос к маршрутизатору обрабатывается локально, а следующий запрос маршрутизатора к upstream является отдельным потоком. Его источник уже не исходное устройство LAN. Наличие адреса DNS в файле не устанавливает используемый интерфейс.[4]
Если нужен резолвер, доступный через туннель, явно настройте его на клиенте либо в соответствующем DNS-разделе маршрутизатора. Проверьте маршрут и разрешение нового имени под вашим контролем. Сопоставьте резолвер клиента, выбор upstream маршрутизатором и поведение приложения. Зашифрованный DNS браузера может обращаться к другому узлу. Не объявляйте всей LAN недоступный резолвер.
При маршрутизации только IPv4 активный IPv6-путь остаётся отдельным. Добавляйте ::/0 лишь при разрешённой пересылке IPv6 сервером, корректных адресах, допустимых источниках и спроектированных правилах и обратном маршруте IPv6. Masquerading IPv4 не решает обратную маршрутизацию IPv6. Иначе не заявляйте охват всего устройства и не отключайте IPv6 общей сети ради формально успешного теста.
Следующие команды показывают состояние без закрытых ключей. Публичные идентичности и сведения об 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.
Нет. Оно подтверждает связь peers, тогда как каждый запрос зависит от маршрута, разрешения пересылки и возврата. Проверяйте именно устройство, которому нужен туннель.
0.0.0.0/0 в AllowedIPs?Начните с разрешённого частного префикса. Префикс по умолчанию вместе с автоматическими маршрутами может изменить пути других клиентов и самого роутера; сначала оцените последствия.
Для этого исходящего клиента он не требуется. Оставьте LuCI и SSH на прежнем ограниченном пути управления вместо их открытия ради устранения ошибки соединения.
Локальный запрос использует обработку output, а ноутбуку нужны forwarding и обратный маршрут. Сначала проверьте источник ноутбука и разрешение отдельной зоны туннеля.
Не рассчитывайте на это. Отдельно проверьте клиентский резолвер и upstream роутера, включая зашифрованный DNS приложений, прежде чем описывать охват разрешения имён.
Этот пример такой гарантии не даёт. Существующие маршруты и разрешения WAN могут принять новые публичные запросы; для блокировки нужна отдельная проверенная политика отказа.
Полное восстановление перезаписывает изменения после резервирования. Предпочтительнее удалить именованные разделы упражнения; полный архив используйте только с понятным разрешённым объёмом восстановления.
Источники:
Sources checked 11 октября 2026 г.
Рекомендуемые статьи:
Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.
*Только для новых пользователей. Один пробный период на пользователя.





