今天豆子遇见个问题,一个经理希望能够公司所有网络(有线网,无线网)的用户都能访问我们的AppleTV,Apple TV连接在一个大屏幕上面,这样在做幻灯片演示就很容易了。经过一番研究,豆子发现有这么几个问题需要解决。


  1. AppleTV默认的配置界面不支持 WPA2的企业认证,我需要手动的配置Apple Profile来实现。

  2. AppleTV是通过苹果专利的Bonjour协议来广播包。这是一个layer2的广播包,默认只能在本子网范围内广播。我必须配置一个Bonjour Gateway服务器来转发。豆子公司使用Cisco WLC本身就有这个功能,但是因为他不支持FlexConnect Local Switching 模式,豆子只能手动配置一个Linux服务器和一些开源的工具了。这个服务器可以是虚拟机,同时需要连接到所有的VLAN上。


下面是配置过程:

首先是配置Apple Profile。

配置前提: OSX 10.11.4

配置工具: Apple Configurator 2

OSX升级到最新版,下载Apple Configurator 2 之后就可以准备开始了。连接AppleTV到Macbook上,打开Apple Configurator2,可以看见已经检测到AppleTV了


跨子网使用AppleTV_第1张图片


选择新建一个Profile,因为我们的无线网使用的Cisco ISE作为的AAA服务器,我还需要导入对应的证书。默认导出的证书是pem格式,我还需要手动转换成2进制格式 der 格式。

导入证书

跨子网使用AppleTV_第2张图片



接下来配置Wi-Fi选项,如下所示

跨子网使用AppleTV_第3张图片

跨子网使用AppleTV_第4张图片


然后就可以选择添加Profile到指定的设备了。根据提示重启(拔线)之后,这个Profile就成功的安装在AppleTV上面了。这个时候他还不会工作,因为AppleTV默认的时区是美国纽约时间,Keboreos验证直接会失败。还需要手动更改到当地时间之后,才会通过无线网验证,自动登录。


Apple TV Profile工作之后,下一步我需要配置虚拟机。 豆子打算配置一个Ubuntu的服务器在ESXi 5.5的平台上。因为ESXi之前没有配置客户端和无线网的端口组,这些都需要重新添加。在所有对应的交换机上修改Trunk端口和VLAN(略),然后ESXi上配置对应的端口组,准备工作就好了


跨子网使用AppleTV_第5张图片


接下来安装虚拟机。豆子有个现成的旧的Ubuntu 12.04的ISO光盘,那就用他好了。安装完毕之后,

确认一下所有的网卡接口都能获取IP地址。如下所示,我连接了3个不同的VLAN,每个都能成功获取地址。

跨子网使用AppleTV_第6张图片


接下来安装 avahi-daemon这个开源工具。这里我遇见了些错误,找不到对应的依赖包。升级到12.10以后,就可以成功安装了。


sudo apt-get install avahi-daemon 成功安装之后,就可以打开bojourn gateway的服务了。


打开配置文件 sudo vim /etc/avahi/avahi-daemon.conf


修改 #enable-reflector=no 为 enable-reflector=yes,保存退出

跨子网使用AppleTV_第7张图片


重启 avahi-daemon 服务,这个时候应该AppleTV在所有的子网都能检查到了。

sudo restart avahi-daemon


最后注意一点,必须确保所有的VLAN之间都配置了路由和合适的防火墙策略。因为Bonjour是2层协议,并不通过路由器,因此在所以的VLAN上都能看见AppleTV,但是只有开通了路由的子网之间才能够真正的访问这个AppleTV。