2014-01-08 6 views
9

Avahi обычно используется для обнаружения сервисов. Я хочу сделать сервис доступным из другой подсети, могу ли я использовать avahi для достижения этого?Могу ли я использовать avahi для публикации услуг через подсети?

Например, IP-адрес службы «192.168.1.100» с маской «255.255.255.0», поэтому он находится в подсети 192.168.1.X. Другой IP-адрес хоста - «192.168.2.100» с маской «255.255.255.0». Могу ли я использовать avahi, чтобы этот хост обнаружил предыдущий хост службы?

ответ

6

К сожалению, нет, это потребует реконфигурации любого устройства, которое маршрутизирует между этими двумя подсетями. mDNS использует многоадресные адреса 224.0.0.251 для IPv4 и ff02 :: fb для IPv6. Это локальные локальные ссылки, и отправленные им данные, как правило, не маршрутизируются за пределами текущей подсети.

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

Multicast Proxying. mdns-repeater - это простое решение, которое будет повторять запросы mDNS через интерфейсы.

Широкополосный DNS. Широкодиапазонный DNS-SD может быть включен в DNS-решетере, который обслуживает хосты в этих подсетях. Затем Avahi может быть настроен на публикацию не домена .local, а домена для этих подсетей.

Многоадресная рассылка. Маршрутизация устройства между этими подсетями может быть настроена для маршрутизации групп многоадресной рассылки между этими двумя подсетями.

mDNS Gateway. Существует draft RFC для реализации шлюза mDNS, который находится на краю сегмента сети (обычно это маршрутизатор). Это не простой ретранслятор/отражатель, а шлюз, который кэширует записи службы и отвечает на запросы от других связанных сегментов сети.