我希望我的 DHCP 数据包包含符合RFC 4833选项 100 或 101 的时区。
我登录路由器并运行
dnsmasq --help dhcp
并且它显示了两者:
100 posix-timezone
101 tzdb-timezone
因此我认为这应该得到支持。
我已经尝试了几种语法(一次一个)
config dnsmasq
list 'dhcp_option' '101,America/New_York'
list 'dhcp_option' '101,"America/New_York"'
list dhcp_option '101,America/New_York'
list dhcp_option 'tzdb-timezone,America/New_York'
我也尝试添加其中一些
config dhcp 'lan'
然后我用
service dnsmasq restart
我查看了 Wireshark 中的数据包,没有看到任何 101 选项被发送。我确信这只是我对语法缺乏理解。
我想我明白了!以下是我的 /etc/config/dhcp 中的代码片段
我的测试 PC 没有请求 101 选项,因此它没有通过数据包。如果我使用配置中的“dhcp_option_force”标志添加它,它无论如何都会进入 DHCP 提供。
您可以使用以下命令从网络“lan”和“guest”的 shell 执行此操作:
Wireshark 显示数据包现在包括:
如果您的 IoT 客户端正确请求参数请求列表中的 TCode (101) 选项,则不需要“force”。只需将上述示例中的“dhcp_option_force”更改为“dhcp_option”即可。