1

У меня здесь следующая ситуация:

Zyxel USG20 -> VLAN -> Server (192.168.50.xx) (local_1)
|
| -> Switch -> wired devices (192.168.80.xx) (local_2)
-> LEDE WLAN ROUTER -> Mobile Devices (192.168.80.xx) (local_2)

Я использую сервер Homekit в разделе VLAN с IP-адресом в диапазоне 50.xx. Теперь я хотел бы иметь возможность обнаружить IP с помощью mDNS / Bonjour с мобильного устройства в диапазоне 80.xx.

Я добавил правила в USG20 для порта 5353 для перехода от local_2 к local_1 и добавил правило для IP 244.0.0.251 для перехода от local_2 к local_1

Но я не в состоянии обнаружить сервер в VLAN. Что мне нужно сделать, чтобы эта настройка работала?

Благодарю.

1 ответ1

1

Это нормально - mDNS использует локальную группу многоадресной связи (224.0.0.251 в IPv4, FF02::FB в IPv6), которая никогда не пересылается маршрутизаторами / шлюзами. Некоторые реализации дополнительно применяют это, помечая все пакеты mDNS с IP TTL = 1. (Это все, если предположить, что на вашем маршрутизаторе включена многоадресная пересылка…)

Для работы в сетях / подсетях mDNS необходимо проксировать на уровне приложений - например, на маршрутизаторе Linux или BSD вы должны запустить avahi-daemon с включенным прокси-сервером.


Поскольку у вас есть Raspberry Pi и коммутатор с сетями VLAN 802.1Q, вы можете использовать Rpi в качестве ретранслятора, подключив его одновременно к «клиентским» и «серверным» VLAN. (Обратите внимание, что вы не должны создавать выделенную VLAN только для Rpi; это полностью победило бы эту точку.)

В комментариях вы утверждаете, что Rpi на порт 4.

  1. В коммутаторе пометьте порт 4 (не LAG 4) как "нетегированный" для одной VLAN и "помеченный" для всех остальных. Если коммутатор предлагает настроить "PVID" порта, убедитесь, что он соответствует нетегированной VLAN.

    (В качестве альтернативы, все VLAN можно пометить тегами.)

  2. В Rpi создайте виртуальные интерфейсы "vlan" для каждой помеченной VLAN, которую он будет получать. Предполагая, что он работает под управлением Linux, вы можете сделать это временно, используя:

    ip link add eth0.100 link eth0 type vlan id 100
    ip link set eth0.100 up
    dhclient eth0.100
    

    (Как сделать этот перманент, зависит от вашего распространения.)

  3. В Rpi включите проксирование (отражение) в /etc/avahi/avahi-daemon.conf:

    [reflector]
    enable-reflector=yes 
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .