# /etc/config/dhcp 文件中的一个配置块
config host
option name 'M2006J10C'
option ip '10.89.2.241'
list mac '34:1C:F0:47:13:A4'
option leasetime 'infinite'
list dhcp_option '6,223.5.5.5,114.114.114.114' # DNS 服务器
list dhcp_option '3,10.89.2.10' # 网关
这段配置的作用是,为MAC地址为 34:1C:F0:47:13:A4 的客户端,分配一个固定的IP地址 10.89.2.241,并强制其使用 223.5.5.5和114.114.114.114 作为DNS服务器,以及 10.89.2.10 作为其默认网关。配置的最后两行用到了所谓的dhcp-option。具体定义可以参考文末表格,一般而言3(网关地址)和6(DNS服务器)最常用。
2025年10月13日 更新:
经测试,上述配置无效。reddit上Custom DNS for each client through DHCP这篇帖子里也遇到了同样问题,解决办法是新建tag并引用,经过修改,配置文件如下:
# /etc/config/dhcp 文件中的一个配置块
config tag 'customoption'
list dhcp_option '6,223.5.5.5,114.114.114.114'
list dhcp_option '3,10.89.2.1'
config host
option name 'M2006J10C'
option ip '10.89.2.241'
list mac '34:1C:F0:47:13:A4'
option leasetime 'infinite'
option tag 'customoption'
该配置实测有效,客户端正确获取了下发的223.5.5.5和114.114.114.114客户端,至于下发的网关地址与默认相同,应该也生效了。使用tag的一大好处是方便复用,在LUCI界面中可以为其他客户端直接应用该tag。(不过LUCI中无法声明或查看标签内容)
| Options 号 | Options 作用 |
|---|---|
| 1 | 设置子网掩码选项。 |
| 3 | 设置网关地址选项。 |
| 6 | 设置DNS服务器地址选项。 |
| 12 | 设置DHCP客户端的主机名选项。 |
| 15 | 设置域名后缀选项。 |
| 33 | 设置静态路由选项。该选项中包含一组有分类静态路由(即目的地址的掩码固定为自然掩码,不能划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。如果存在Option121,则忽略该选项。 |
| 44 | 设置NetBios服务器选项。 |
| 46 | 设置NetBios节点类型选项。 |
| 50 | 设置请求IP选项。 |
| 51 | 设置IP地址租约时间选项。 |
| 52 | 设置Option附加选项。 |
| 53 | 设置DHCP消息类型。 |
| 54 | 设置服务器标识。 |
| 55 | 设置请求参数列表选项。客户端利用该选项指明需要从服务器获取哪些网络配置参数。该选项内容为客户端请求的参数对应的选项值。 |
| 58 | 设置续约T1时间,一般是租期时间的50%。 |
| 59 | 设置续约T2时间。一般是租期时间的87.5%。 |
| 60 | 设置厂商分类信息选项,用于标识DHCP客户端的类型和配置。 |
| 61 | 设置客户端标识选项。 |
| 66 | 设置TFTP服务器名选项,用来指定为客户端分配的TFTP服务器的域名。 |
| 67 | 设置启动文件名选项,用来指定为客户端分配的启动文件名。 |
| 77 | 设置用户类型标识。 |
| 121 | 设置无分类路由选项。该选项中包含一组无分类静态路由(即目的地址的掩码为任意值,可以通过掩码来划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。 |