Что именно требуется для работы Airplay в VLAN? [закрыто]

17

Похоже, AirPlay работает «из коробки», если говорить смутно, только внутри локальной сети. Мне не совсем понятно, почему, но похоже, что, по крайней мере, открытие опирается на трансляции. Википедия утверждает, что Airplay - это собственный протокол, который, вероятно, объясняет, почему единственная документация, которую я нашел, является неофициальной, как эта спецификация на github .

Итак, мои вопросы:

  1. Можно ли настроить сеть таким образом, чтобы Airplay работал через VLAN?
  2. Если это так, что именно должно быть разрешено проходить между VLAN для этой работы?
  3. Является ли это плохой идеей в производственной среде, учитывая недоступность официальной документации протокола?
alx9r
источник
1
Приложение представляет собой офис, в котором есть доверенные устройства в «доверенной» сети и другие устройства в беспроводных сетях «посетителя». Устройства из обеих сетей должны иметь возможность транслировать ТВ в зале заседаний.
alx9r
Можете ли вы добавить более подробную информацию о вашей среде? Например, какую марку беспроводного оборудования вы используете? Это сильно повлияет на вашу способность делать это.
Бретт Ликинс
1
Почему бы не создать SSID / VLAN для конференц-зала с Apple TV для этого конференц-зала в этом vlan? Или поместите их непосредственно в гостевой SSID и попросите сотрудников подключиться к нему во время презентаций. Тогда любой человек в комнате, использующий его, может подключиться к этой сети для презентаций. Внутренние сотрудники могут оттуда подключаться к VPN во внутренней сети для доступа к внутренним ресурсам (в зависимости от настроек).
some_guy_long_gone
@legioxi Это основной план на данный момент: все устройства Bonjour живут в гостевых сетях и доверяют пользователям RA-VPN оттуда в доверенную сеть, если / когда это необходимо. По-прежнему существует проблема обеспечения доступности принтеров в обеих сетях, но пока это кажется наименее наихудшей стратегией.
alx9r
1
Это называется «шлюзом обнаружения услуг» в продуктах Cisco - cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dns/configuration/…
cpt_fink

Ответы:

7

В термине "Airplay" есть две разные вещи.

Первый - об обнаружении сервиса, и именно так устройства, способные принимать потоки Airplay, сообщают сети «Эй! Я могу получать Airplay!». Обычно это делается через службу Bonjour (по крайней мере, Apple так называет) или DNS-SD . Он использует многоадресную рассылку, и в этом смысл, если кто-то говорит вам, что «Airplay предназначен только для локальной сети» или что-то в этом роде. Сама потоковая передача является «обычным» одноадресным UDP.

Теперь основная проблема заключается в том, как вы получаете информацию о получателе Airplay потенциальным отправителям в другой сети. Есть два теоретических варианта:

  1. Вы можете пересылать многоадресную рассылку. Это может быть сложно, но есть маршрутизаторы / брандмауэры, способные на это. RTFM как именно, но идея в том, что вам нужно пересылать многоадресный трафик с адресом назначения 224.0.0.251 в другую сеть, и вы должны делать это без уменьшения TTL.

  2. Другой вариант - использовать одноадресную DNS-SD. Вы можете использовать обычный DNS для объявления той же самой информации, которая обычно распространяется автоматически через многоадресную DNS-SD, и вы можете использовать небольшую справку из утилиты dns-sd (1) на MacOSX, чтобы получить информацию о том, что именно записать в файл зоны DNS. , Выполните эту команду в локальной сети с приемником Airplay, и это должно дать вам всю необходимую информацию:

    $ dns-sd -Z _airplay._tcp
    Browsing for _airplay._tcp
    ...
    
  3. Также есть DNS-SD прокси (например, avahi можно использовать как таковой).

Я сказал «теоретически», потому что я не проверял это, и что бы вы ни делали с протоколами, переадресацией и т. Д., МОГУТ быть некоторые препятствия вне вашего контроля - в конце концов, это Apple. Вы могли бы правильно передать всю информацию потенциальному отправителю, но iOS / MacOSX все еще может отклонить ее, потому что ей просто не нравится по какой-то причине и так далее.

Есть еще одна (опять же теоретическая;) опция грубой силы - создайте запись DNS-SD для вашего адреса маршрутизатора в качестве приемника Airplay для сети с отправителями Airplay и перенаправьте (NAT) поток UDP на реальный приемник Airplay. Но даже при этом есть некоторые возможности (для инженеров Apple) сломать его.

Пройдите тестирование и дайте нам знать о ваших результатах.

Thom
источник
Тьфу. Таким образом, исходя из вашей оценки, получение этой работы в основном сводится к эксперименту.
alx9r
1
Вы находитесь на недокументированной почве, так что всегда будет экспериментирование. Apple не поддерживает его, поэтому он может сломаться в любой момент (с любым обновлением и т. Д.). Но узнайте о том, что вы будете делать, поймите это, и вы сможете сделать это безопасно и сможете заставить его работать снова, если он сломается. Или хотя бы понять, почему именно ты не можешь заставить это работать;).
Том
К последнему пункту в вашем предпоследнем абзаце: этот пост, кажется, указывает, что «... AppleTV не будет подключаться извне из своей собственной подсети ...», даже если обнаружение работает.
alx9r
6

Это распространенная проблема в образовательной среде. Apple проделала отличную работу по продаже iPad и Mac студентам / сотрудникам, которые хотят использовать Airplay / Airprint / другие функции Bonjour. Однако, как вы указали, эти функции полагаются на один широковещательный домен для обнаружения службы. Предприятие / образовательные сети просто не структурированы таким образом.

Проблема настолько распространена, что многие ИТ-специалисты образовательных учреждений собрались несколько лет назад и обратились к Apple с просьбой помочь Bonjour лучше работать в этих средах.


Чтобы напрямую ответить на ваши вопросы, обычно требуются очень специализированные конфигурации для обеспечения охвата служб Airplay в вашей сети. И конкретная конфигурация будет сильно зависеть от вашего текущего беспроводного решения (Cisco, Aerohive, Ubiquity и т. Д.). В общем, если вы ищете своего поставщика услуг беспроводной связи и Bonjour, вы должны найти документацию, которая, по крайней мере, укажет вам правильное направление.

У меня был неоднозначный успех при развертывании решения Cisco Avahi Bonjour gateway , и я бы не советовал изучать его, если это абсолютно не нужно.

Суть в том, что, как вы указали в своем третьем вопросе, вы всегда будете зависеть от Apple, потому что это закрытая, закрытая, недокументированная услуга *, предназначенная для сред домашней сети. Поэтому, если Apple не решит это изменить, я бы по возможности не использовал его в корпоративной сети.

* Базовый код для mDNSResponder является открытым, не проприетарным и доступен по лицензии Apache. Тем не менее, реализация Apple этого внутреннего устройства для iDevices и MacOS находится вне вашего контроля и может измениться в любое время.

Бретт Ликинс
источник
Спасибо за этот отличный ответ. Когда вы говорите, что «конкретная конфигурация будет сильно зависеть от вашего текущего беспроводного решения», вы имеете в виду, что каждый из них использует разные методы для обеспечения работы служб Airplay через VLAN, или что у каждого из них есть разные интерфейсы администратора для настройки того, что равно одному и тому же методу на провода?
alx9r
2
На самом деле немного и того и другого. Различные поставщики будут по-разному обрабатывать отслеживание и ретрансляцию многоадресных пакетов Bonjour, и, по моему опыту, разные поставщики будут иметь совершенно разные способы его настройки.
Бретт Ликинс
Можете ли вы подробно рассказать о своих выводах с помощью решения Bonjour Gateway?
Роберт Симер
4

Авахи может помочь вам здесь. Есть много вариантов, но это должно получить трафик через подсети. Вы должны быть в состоянии получить его на коробке ddwrt или использовать интерфейсы Raspberry Pi и dot1q.

 enable-reflector= Takes a boolean value ("yes"  or  "no").  If  set  to
       "yes"  avahi-daemon  will  reflect  incoming mDNS requests to all local
       network interfaces, effectively allowing clients to browse  mDNS/DNS-SD
       services  on  all  networks  connected  to  the gateway. The gateway is
       somewhat intelligent and should work with all kinds  of  mDNS  traffic,
       though  some functionality is lost (specifically the unicast reply bit,
       which is used rarely anyway). Make sure to not run multiple  reflectors
       between the same networks, this might cause them to play Ping Pong with
       mDNS packets. Defaults to "no".

 reflect-ipv= Takes a boolean value ("yes" or "no"). If set to "yes" and
       enable-reflector  is  enabled,  avahi-daemon  will forward mDNS traffic
       between IPv4 and IPv6, which is usually not  recommended.  Defaults  to
       "no".
user4095
источник
Я почти уверен, что установил стол для пинг-понга :)
Джонатан Комар
3

Это не работает, потому что это широковещательная ( многоадресная ) технология. (см. также: Bonjour) Для пересечения широковещательного домена (т. е. VLAN) требуется прокси. Я не Mac-человек, но я уже видел такую ​​настройку прокси-сервера - так что iDevices мог получить доступ к принтеру, где проводная и беспроводная связь были разными. Я не помню программу, которая использовалась, но она не была бесплатной.

Рики Бим
источник
1
Спасибо. Похоже, я использовал неправильные условия поиска. Поиск в прокси Airplay дает это и то, что кажется довольно полным.
alx9r
Технически это технология многоадресной рассылки.
багамат
@bahamat, правда, но локально, так что это можно было бы транслировать. Естественно, он не покинет ни одного вещательного домена.
Рикки Бим
Это сетевая инженерия. Не спрашивай другого. Существует существенная разница между широковещательной и многоадресной передачей. На дискуссионном сайте для специалистов по сетевым технологиям не стоит пренебрегать. mDNS является многоадресной (то есть «m») и по умолчанию будет ограничено одним широковещательным доменом.
Багамат
1

Airplay путешествует по IP, поэтому применяется нормальная маршрутизация. Вам нужен маршрутизатор для маршрутизации трафика из одной VLAN в другую. Однако, если вы не начнете связываться с Multicast, Bonjour останется в локальной VLAN.

Это плохая идея? По-разному ;-). Вы должны рассказать нам больше о своей производственной среде, чтобы сделать обоснованное предположение.

Рон Транк
источник
0

Как отмечали другие, существует бесплатное решение с открытым исходным кодом, называемое Avahi ( http://www.avahi.org ), которое может работать в качестве прокси-сервера mDNS / Bonjour. Машина, на которой работает это программное обеспечение, должна иметь сетевые интерфейсы для каждой VLAN / подсети, в которой вы хотите, чтобы службы mDNS были объявлены в / из. Однако для работы реальных служб необходимо включить маршрутизацию между VLAN или разрешить TCP / UDP-подключения к устройству с поддержкой mDNS в списках доступа или брандмауэре. Другие варианты включают контроллеры Wi-Fi Cisco или Ubiquiti, которые также могут служить прокси-серверами mDNS, или, если вы используете Mac, вы можете создать прокси-сервер для каждой службы ( https://kb.acronis.com/sites/default/files/content/2013/ 01/39490 / wanbonjour_1.pdf). Проблема с этим последним решением заключается в том, что вам необходимо создать прокси-сервер для каждой отдельной службы и повторять его каждый раз при перезагрузке компьютера.

Эрик
источник