为了使Airplay跨VLAN工作,究竟需要什么?[关闭]


17

似乎可以说,AirPlay只能在局域网内直接使用。我尚不清楚确切的原因,但看起来至少发现依赖广播。维基百科指出,Airplay是专有协议,这也许可以解释为什么我找到的唯一文档是非官方的,例如github上的此规范

因此,我的问题是:

  1. 是否可以配置网络使Airplay跨VLAN工作?
  2. 如果是这样,则必须允许什么在VLAN之间传递,以使其正常工作?
  3. 鉴于没有官方协议文档,这在生产环境中是个坏主意吗?

1
该应用程序是一个办公室,那里有“受信任”网络上的受信任设备和“访客”无线网络上的其他设备。来自这两个网络的设备都应该能够将Airplay播放到会议室电视上。
alx9r 2014年

您可以添加有关您的环境的更多详细信息吗?例如,您在使用什么品牌的无线设备?这将极大地影响您执行此操作的能力。
Brett Lykins 2014年

1
为什么不使用Apple TV为该VLAN上的该会议室为每个会议室创建一个SSID / VLAN?或者将它们直接放在访客SSID上,并让员工在演示过程中与其连接。然后,会议室中使用它的任何人都可以在该网络上进行演示。内部员工可以从此处VPN进入内部网络以访问内部资源(取决于您的设置)。
some_guy_long_gone 2014年

@legioxi这是目前的领先计划:所有bonjour设备都生活在访客网络上,如果需要,可信任用户RA-VPN从那里进入信任网络。仍然存在使打印机在两个网络上都可用的问题,但是到目前为止,这似乎是最差的策略。
alx9r 2014年

1
这就是所谓的“服务发现网关”在思科产品- cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dns/configuration/...
cpt_fink

Answers:


7

“ Airplay”一词有两种不同的说法。

第一个是关于服务发现的,它是能够接收Airplay流的设备如何向网络宣告“嘿!我可以接收Airplay!”的方式。通常是通过称为Bonjour的服务(至少苹果这样称呼)或DNS-SD来完成的。它使用多播,这就是有人告诉您“ Airplay仅用于本地LAN”或其他内容的意思。流本身是“常规” UDP单播。

现在的主要问题是如何将有关Airplay接收器的信息发送给另一个网络中的潜在发送者。有两种理论选择:

  1. 您可以转发多播。虽然这可能很棘手,但是有路由器/防火墙可以做到这一点。RTFM的精确度如何,但其思想是必须将目标地址为224.0.0.251的多播流量转发到另一个网络,并且必须在不减少TTL的情况下进行操作。

  2. 另一种选择是使用单播DNS-SD。您可以使用普通DNS来宣布通常通过多播DNS-SD自动分发的完全相同的信息,还可以使用MacOSX上dns-sd(1)实用程序的一些帮助来获取确切写入DNS区域文件的信息。 。在具有Airplay接收器的LAN中执行此命令,这将为您提供所需的所有信息:

    $ dns-sd -Z _airplay._tcp
    Browsing for _airplay._tcp
    ...
    
  3. 还有DNS-SD代理(例如avahi可以这样使用)。

现在,我说“从理论上讲”,因为我还没有测试它,无论您对协议,转发等进行什么操作,都有可能会遇到一些您无法控制的障碍-毕竟是苹果。您可以将所有信息正确地发送给潜在的发件人,但是iOS / MacOSX可能仍会拒绝它,因为由于某种原因它不喜欢它,依此类推。

还有一个(虽然还是理论上的;)蛮力选项-为您的路由器地址创建一个DNS-SD条目,作为带有Airplay发送器的网络的Airplay接收器,并将UDP流转发(NAT)到实际的Airplay接收器。但是即使这样,(对于苹果工程师来说)还是有可能打破它的。

继续进行测试,让我们知道您的结果。


啊。因此,根据您的评估,这项工作基本上可以归结为实验。
alx9r 2014年

1
您的身份不明,因此始终都是关于实验的。Apple不支持它,因此它可能会随时中断(带有任何更新等)。但是了解一下您将要做的事情,了解它,并且能够安全地制作它,并且在出现问题时能够使其再次工作。或至少了解为什么您不能使其真正起作用;)。
Thom 2014年

到倒数第二段的最后一点:这篇文章似乎表明“ ... AppleTV不会从其自己的子网外部进行连接...”,即使发现有效。
alx9r 2014年

6

这是教育环境中的常见问题。苹果公司在向学生/职员销售iPad和Mac方面做得非常出色,他们想利用Airplay / Airprint /其他Bonjour功能。但是,正如您所指出的那样,这些功能依赖于单个广播域进行服务发现。企业/教育网络不是那样构成的。

这个问题非常普遍,以至于几年前许多教育机构的IT员工聚集在一起,并请Apple修复Bonjour,使其在这些环境中可以更好地工作。


为了直接解决您的问题,通常需要非常专业的配置来完成整个网络上Airplay服务的扩展。而且具体的配置将在很大程度上取决于您当前的无线解决方案(Cisco,Aerohive,Ubiquity等)。通常,如果您搜索无线供应商和Bonjour,则应找到说明文件,至少可以为您指明正确的方向。

我在部署思科Avahi Bonjour网关解决方案方面取得了不同的成功,除非绝对需要,否则不建议您进行研究。

正如您在第三个问题中所指出的那样,对我来说,最重要的是,您始终会受苹果的支配,因为这是针对家庭网络环境的封闭的,专有的,未记录的服务*。因此,除非Apple决定做出更改,否则我将尽可能避免在企业网络中实施它。

* mDNSResponder的基础代码是开放的,非专有的,并且在Apache许可下可用。但是,Apple对其iDevices和MacOS内部的实现不在您的控制范围内,并且可能随时更改。


感谢您的出色回答。当您说“具体配置将在很大程度上取决于您当前的无线解决方案”时,是指它们各自使用不同的技术来使Airplay服务跨VLAN工作,或者它们各自具有不同的管理界面来配置与之相同的技术。电线?
alx9r 2014年

2
实际上两者都有一点。不同的供应商将以不同的方式处理Bonjour多播数据包的侦听和重新传输,而根据我的经验,不同的供应商将具有截然不同的配置方式。
布雷特·莱金斯

您可以使用bonjour网关解决方案来详细了解您的发现吗?
罗伯·西默

4

Avahi可以在这里为您提供帮助。有很多选项,但这应该可以跨子网进行通信。您应该能够在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".

我很确定我设置了一个乒乓球桌:)
乔纳森·科马尔

3

它不起作用,因为它是广播(多播)技术。(另请参见:Bonjour)跨广播域(即VLAN)需要代理。我不是Mac人士,但是我之前见过这样的代理设置-因此iDevices可以连接到无线和有线是不同局域网的打印机。我不记得所使用的程序,但它不是免费的。


1
谢谢。看来我使用了错误的搜索词。搜索Airplay代理会生成此内容看起来相当全面。
alx9r 2014年

从技术上讲,这是一种多播技术。
bahamat 2014年

@bahamat,是的,但是是局部范围的,因此最好将其广播。它自然不会离开单个广播域。
Ricky Beam

这是网络工程。不要问不同。广播和多播之间存在显着差异。在网络工程专业人士的讨论站点上,这是一个不容忽视的区别。mDNS是多播的(因此为“ m”),默认情况下将限制为单个广播域。
bahamat 2014年

1

Airplay通过IP传输,因此适用常规路由。您需要一台路由器将流量从一个VLAN路由到另一个VLAN。但是,除非您开始混乱多播,否则Bonjour将保留在本地VLAN上。

这是一个坏主意吗?这取决于 ;-)。您必须告诉我们更多有关您的生产环境的信息才能做出有根据的猜测。


0

正如其他人指出的那样,有一个名为Avahihttp://www.avahi.org)的免费开放源代码解决方案,可以用作mDNS / Bonjour代理。运行此软件的计算机必须具有与每个VLAN /子网之间的网络接口,您希望将mDNS服务发布到该VLAN /子网。但是,要使实际服务正常运行,必须在访问列表或防火墙中启用VLAN间路由,或允许TCP / UDP连接到启用了mDNS的设备。其他选项包括Cisco或Ubiquiti wifi控制器,它们也可以用作mDNS代理;如果使用Mac,您可以为每种服务创建代理(https://kb.acronis.com/sites/default/files/content/2013/ 01/39490 / wanbonjour_1.pdf)。最后一个解决方案的问题是,您必须为每个服务创建一个代理,并且每次计算机重新启动时都必须重做一次。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.