Протокол relay в LuCI появляется в списке «Protocol» интерфейса только после установки пакета relayd — если пакет не установлен, пункта «Relay bridge» в выпадающем списке просто не будет, и это первая вещь, которую стоит проверить. Этот протокол реализует так называемый псевдомост: роутер подключается к вышестоящей сети как обычный клиент, но при этом раздаёт IP-адреса из её диапазона устройствам за собой, без классического NAT.

Такой режим востребован, когда нужно расширить Wi-Fi сеть, к которой нельзя применить WDS или 802.11s, либо когда вышестоящая точка доступа — чужая и её настройки недоступны. Ниже разберём, как работает luci proto relay, как его настроить через веб-интерфейс LuCI и какие ограничения у этого метода есть принципиально.

Что такое relayd и зачем нужен протокол relay

Relayd — это демон для OpenWrt, который выполняет ретрансляцию ARP- и DHCP-трафика между двумя сегментами сети. По сути, роутер «притворяется» каждым из подключённых за ним клиентов перед вышестоящей сетью и наоборот. В результате устройства за ретранслятором получают адреса напрямую от вышестоящего DHCP-сервера и оказываются в одном L2-сегменте с основной сетью — по крайней мере, с точки зрения IP-адресации.

Важно понимать отличие от альтернатив:

  • 📡 WDS / 4addr — настоящий прозрачный мост, но требует поддержки на обеих точках доступа;
  • 🔀 Рouted client (NAT) — просто и надёжно, но создаёт отдельную подсеть и двойной NAT;
  • 🌉 Relay (relayd) — псевдомост без NAT, работает с любой вышестоящей точкой, но с ограничениями;
  • 📶 802.11s mesh — полноценная mesh-сеть, но требует совместимого оборудования с обеих сторон.

Режим relay выбирают именно тогда, когда вышестоящая точка доступа не под вашим контролем: гостиничный Wi-Fi, сеть соседа по договорённости, корпоративная точка без доступа к настройкам. В этих случаях WDS настроить невозможно, а NAT ломает работу сетевого обнаружения устройств.

Установка пакета relayd

Перед настройкой убедитесь, что пакет установлен. Через LuCI это делается в разделе System → Software: нажмите «Update lists», затем найдите в фильтре luci-proto-relay и установите его — пакет relayd подтянется автоматически как зависимость. Именно luci-proto-relay добавляет пункт «Relay bridge» в список протоколов интерфейса.

То же самое через SSH:

opkg update

opkg install luci-proto-relay

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

💡

Пакет luci-proto-relay занимает совсем немного места, но на устройствах с 4 МБ флеш-памяти место может закончиться. Проверьте свободное пространство в System → Software до установки.

Пошаговая настройка псевдомоста через LuCI

Общая схема такова: роутер подключается к вышестоящей Wi-Fi сети как клиент (режим Client), а затем создаётся специальный интерфейс с протоколом relay, объединяющий клиентский интерфейс и локальный LAN. Порядок действий имеет значение — сначала поднимается клиентское подключение, и только потом настраивается ретрансляция.

Основные шаги:

  • 📶 Создайте Wi-Fi интерфейс в режиме Client и подключите его к вышестоящей сети (Network → Wireless → Scan → Join Network);
  • 🔧 Убедитесь, что клиентский интерфейс получил IP-адрес от вышестоящей сети — без этого relay работать не будет;
  • ➕ Создайте новый интерфейс (Network → Interfaces → Add new interface) с произвольным именем, например relay;
  • 🌉 В поле Protocol выберите Relay bridge и нажмите «Configure interface»;
  • 🔗 В настройках relay-интерфейса отметьте оба сегмента: локальный (lan) и клиентский (wwan);
  • 🔥 Назначьте relay-интерфейс в firewall-зону lan, чтобы трафик не блокировался.

☑️ Проверка настройки relayd

Выполнено: 0 / 6

После применения настроек устройство, подключённое к LAN-порту или локальному Wi-Fi ретранслятора, должно получить IP-адрес от вышестоящего роутера. Проверить это можно командой ip addr на клиентском устройстве — адрес должен быть из подсети вышестоящей сети, а шлюзом должен значиться вышестоящий роутер, а не ретранслятор.

⚠️ Внимание: на локальном интерфейсе lan ретранслятора DHCP-сервер должен быть отключён либо не должен пересекаться с вышестоящим. Два DHCP-сервера в одном сегменте приведут к тому, что клиенты будут получать адреса от случайного из них, и связь станет непредсказуемой.

Ограничения и особенности relayd

Протокол relay — это компромисс, и у него есть принципиальные ограничения, которые нужно учитывать до выбора этого режима. Главное из них: relayd не создаёт настоящий прозрачный мост на канальном уровне — это эмуляция через подмену MAC-адресов в ARP-ответах. Из-за этого некоторые протоколы, завязанные на широковещательный трафик и реальные MAC-адреса, могут работать некорректно.

На практике это означает:

  • ⚙️ multicast-трафик (mDNS, DLNA, обнаружение устройств) часто не проходит через ретранслятор;
  • 📉 скорость может быть ниже, чем при WDS или routed-режиме, из-за обработки пакетов в userspace;
  • 🔁 при переподключении к вышестоящей сети клиентам иногда требуется обновить DHCP-аренду вручную;
  • 🧩 IPv6 через relayd поддерживается ограниченно — для полноценного IPv6 лучше рассмотреть другие схемы.

Если критична работа сетевого обнаружения устройств (например, Chromecast, AirPlay, сетевые принтеры), протестируйте её сразу после настройки. В ряде случаев routed-режим с NAT оказывается практичнее, несмотря на двойную трансляцию адресов.

📊 Для какой задачи вы настраиваете relayd?
Расширение домашнего Wi-Fi
Подключение к гостиничной/общественной сети
Подключение проводного устройства без Wi-Fi
Эксперименты и изучение OpenWrt

Сравнение relay с альтернативными режимами

Выбор режима зависит от того, контролируете ли вы вышестоящую точку доступа и какие сервисы должны работать. Сводная таблица поможет сориентироваться:

КритерийRelay (relayd)WDS / 4addrRouted (NAT)
Настройка вышестоящей точкиНе требуетсяОбязательнаНе требуется
Единая подсетьДа (псевдо)Да (настоящая)Нет
Прозрачность L2ЧастичнаяПолнаяНет
Multicast / mDNSЧасто не работаетРаботаетНе работает без настройки
Надёжность соединенияСредняяВысокаяВысокая
💡

Relayd — единственный способ получить «единую сеть» без доступа к настройкам вышестоящей точки, но за это приходится платить частичной прозрачностью L2 и возможными проблемами с multicast-трафиком.

Диагностика типичных проблем

Самая частая жалоба: клиенты за ретранслятором не получают IP-адрес. Начните проверку с нижнего уровня и двигайтесь вверх. Первым делом убедитесь, что сам роутер в режиме клиента получил адрес — это видно на странице Network → Interfaces рядом с клиентским интерфейсом. Если адреса нет, проблема в подключении к вышестоящей сети (пароль, сигнал, MAC-фильтрация), а не в relayd.

Дальше проверьте, что демон relayd вообще запущен:

ps | grep relayd

logread | grep relayd

Если процесса нет — смотрите лог на предмет ошибок конфигурации. Типичная причина: в настройках relay-интерфейса не отмечена одна из сетей, либо клиентский интерфейс называется иначе, чем указано в конфигурации. Проверить текущую конфигурацию можно в файле /etc/config/network — секция relay-интерфейса должна содержать обе сети в списке network.

⚠️ Внимание: некоторые вышестоящие точки доступа ограничивают количество MAC-адресов за одним клиентским подключением или применяют изоляцию клиентов. В такой сети relayd может работать нестабильно или не работать вовсе — это ограничение вышестоящей инфраструктуры, а не вашей настройки.

Ещё одна характерная ситуация: клиент получил адрес, но интернета нет. Здесь проверьте, что шлюз и DNS, выданные клиенту, указывают на вышестоящий роутер, и что сам ретранслятор имеет доступ в интернет (команда ping до внешнего адреса с роутера). Если ретранслятор в сети, а клиенты нет — вероятна проблема с ARP-ретрансляцией, и помогает перезапуск интерфейса: ifup relay (подставьте имя вашего интерфейса).

Где смотреть конфигурацию relayd вручную

Настройки хранятся в /etc/config/network в секции вашего relay-интерфейса: option proto 'relay', list network 'lan', list network 'wwan'. После ручного редактирования выполните /etc/init.d/network reload или перезагрузите роутер. Проверить применённую конфигурацию можно через uci show network.

Когда relay не подходит: альтернативы

Честный ответ: в ряде сценариев relayd — не лучший выбор, и попытки заставить его работать стабильно обходятся дороже, чем смена схемы. Если вы контролируете обе точки доступа, настройте WDS или 802.11s — это даст настоящий прозрачный мост без костылей с ARP. Если единая подсеть не нужна, проще и надёжнее использовать обычный routed client с NAT.

Для проводного устройства без Wi-Fi (старого принтера, ТВ-приставки) альтернативой может служить режим клиента с мостом через relayd только на один порт — либо, опять же, routed-режим с пробросом нужных портов. Выбирайте схему исходя из того, какие сервисы реально используются, а не из желания «сделать как настоящий мост».

💡

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

FAQ: частые вопросы о luci proto relay

Почему в списке протоколов нет пункта Relay bridge?

Пункт появляется только после установки пакета luci-proto-relay. Установите его через System → Software или командой opkg install luci-proto-relay, затем обновите страницу LuCI с очисткой кэша.

Клиенты получают IP, но интернета нет. Что проверить?

Убедитесь, что сам ретранслятор имеет доступ в интернет, что шлюз у клиентов — вышестоящий роутер, и перезапустите relay-интерфейс командой ifup. Также проверьте, что локальный DHCP на ретрансляторе отключён и не конфликтует с вышестоящим.

Работает ли через relayd Chromecast, AirPlay и сетевое обнаружение?

Часто нет: relayd не ретранслирует multicast-трафик полноценно, поэтому mDNS-обнаружение устройств между сегментами обычно не работает. Для таких задач лучше подходят WDS или 802.11s.

Можно ли использовать relay для IPv6?

Поддержка IPv6 в relayd ограничена. Для полноценного IPv6 через клиентское подключение рассмотрите routed-режим с делегированием префикса или мостовые решения при наличии доступа к вышестоящей точке.

Чем relay отличается от обычного режима репитера?

Классический репитер в OpenWrt обычно означает routed client с NAT — отдельную подсеть за ретранслятором. Relay создаёт псевдомост: клиенты получают адреса из вышестоящей сети напрямую, без NAT, но с ограничениями по прозрачности L2.

💡

Порядок диагностики relayd всегда один: сначала клиентское подключение и его IP, затем запущенный процесс relayd, затем конфигурация сетей в relay-интерфейсе, и только потом — особенности вышестоящей точки доступа.