![通过 DHCP(Mikrotik)分配语音 VLAN 后,Yealink 电话无法获取 IP](https://linux22.com/image/764525/%E9%80%9A%E8%BF%87%20DHCP%EF%BC%88Mikrotik%EF%BC%89%E5%88%86%E9%85%8D%E8%AF%AD%E9%9F%B3%20VLAN%20%E5%90%8E%EF%BC%8CYealink%20%E7%94%B5%E8%AF%9D%E6%97%A0%E6%B3%95%E8%8E%B7%E5%8F%96%20IP.png)
我正在以下网络设备上部署 Yealink IP 电话(T40G、T23G):
CCR1009-7G-1C-1S+ 作为路由器
CRS328-24P-4S+ 作为交换机
有问题的交换机的配置是这里。
我设置了 DHCP 选项 132 来为电话配置 VLAN。
在生产中部署此类配置之前,已证明它可以在 hAP AC^2 上运行。然而,在现场部署时,我遇到了奇怪的错误,如下所示。
电话成功通过选项 132 从未标记的 VLAN 获取 IP。然后它释放此 IP 并从语音 VLAN 请求新 IP。DHCP 服务器分配此新 IP 并发送“ACK”消息,但电话从未收到该消息。
该问题似乎与开关有关。 这里(小心,这是俄语!)管理员通过禁用 VLAN MAC 学习成功解决了这个问题。但是此选项对 SwitchOS 有效,而我的交换机运行 RouterOS。
还,这个reddit帖子对需要配置的内容进行了简要概述,但是已经过时了(已经 5 年了)。
这是嗅探电话端口显示的内容。
注意 49.348 处有来自 192.168.10.40 的回复数据包,而 50.0 子网中没有该数据包:
交换机有 6.48.1 稳定版 ROS。我尝试了长期使用的 6.47.9,但没用。有问题的交换机有自己的 VLAN 50 IP 地址,可以从路由器 ping 通。防火墙已禁用。手机已更新最新固件。
我该怎么做才能找到原因并解决问题?
答案1
对于想要查明为什么他们的 Yealink SIP-T 电话无法从 DHCP 服务器获取 IP 地址的人来说,这可能非常有帮助。
问题是这些电话(SIP-T40G 的固件版本高达 76.84.0.125)在以下情况下会停止处理 DHCP 应答:选项 #2 的值错误(时间偏移)已供应。
就我而言,我错误地将其值设置为'10800'
,而它应该设置为0x00002A30
可能存在对手机有同样影响的其他 dhcp 选项。
该问题已报告给Yealink。