昨天公司买了几个SONOS的无线HIFI设备,豆子需要测试一下效果。
作为一个简单的测试,我的结构很简单, 路由器(防火墙)出来接思科的交换机,然后Boost和我的控制器(电脑或者手机)都在一个VLAN上,然后Boost和Player之间通过自身之间的网格无线网络连接。
路由器 - 交换机 - SONOS Boost/Controller ------ PLAYER
本来以为这是一个很简单的设置,结果发现一个诡异的问题,Boost设备无论如何都无法从思科交换机获取IP地址,但是同样的端口连接在电脑上,立马就可以获取IP。如果我直接连接在一个傻瓜交换机上,Boost可以获取IP。我换了几个VLAN,也检查了IP helper 但是就是不工作。
经过一番研究,这个问题是由STP造成的。 Boost设备本身具有有线网和无线网,当它连接到access端口时候,因为他发送的BPDU的包会被交换机认为是一个环路,因此立刻会自动关掉这个端口。知道了这一点之后,我只需要使用BPDUfilter enable的命令忽略掉来自设备的BPDU包即可。不过需要注意的是使用这个命令之后,这个端口千万不可以连接到其他的交换机。
端口配置为ACCESS端口,STP快速收敛,直接进入转发状态,同时enable BPDUfilter,忽略掉BPDU。
interface GigabitEthernet1/15
description **** Reserved for SONOS devices ****
switchport
switchport access vlan 100
switchport mode access
spanning-tree portfast edge
spanning-tree bpdufilter enable
end
之后就可以成功初始化SONOS设备播放音乐了。