高恪DHCP服务器用的是dnsmasq开源代码,选项配置遵循dnsmasq的规范,网上可以找到很多范例。
格式中的<>表示必填,|表示多选一,[]表示可选。
某些DHCP选项可以使用 option号 或者 option: 来指定。

option号和option-name的对应关系如下:
option号 option-name
1 netmask
2 time-offset
3 router
6 dns-server
7 log-server
9 lpr-server
13 boot-file-size
15 domain-name
16 swap-server
17 root-path
18 extension-path
19 ip-forward-enable
20 non-local-source-routing
21 policy-filter
22 max-datagram-reassembly
23 default-ttl
26 mtu
27 all-subnets-local
31 router-discovery
32 router-solicitation
33 static-route
34 trailer-encapsulation
35 arp-timeout
36 ethernet-encap
37 tcp-ttl
38 tcp-keepalive
40 nis-domain
41 nis-server
42 ntp-server
44 netbios-ns
45 netbios-dd
46 netbios-nodetype
47 netbios-scope
48 x-windows-fs
49 x-windows-dm
58 T1
59 T2
60 vendor-class
64 nis+-domain
65 nis+-server
66 tftp-server
67 bootfile-name
68 mobile-ip-home
69 smtp-server
70 pop3-server
71 nntp-server
74 irc-server
77 user-class
93 client-arch
94 client-interface-id
97 client-machine-id
119 domain-search
120 sip-server
121 classless-static-route
125 vendor-id-encap
255 server-ip-address

① 设置标签,对应dnsmasq的dhcp-match选项
功能:如果客户端的请求中包含匹配的选项,则设置指定的标签
格式:set:,

② BOOTP选项,对应dnsmasq的dhcp-boot选项
功能:为DHCP服务器指定BOOTP选项
格式:[tag:,],[[,|]]
解释:如果客户端匹配标签tag(如果指定了多个 tag:,则必须同时匹配),则使用指定的启动文件、服务器等
例如:如果客户端匹配标签EFI_x86-64,则使用uefi/grubx64.efi
tag:EFI_x86-64,uefi/grubx64.efi

  ①、②联合使用举例:
  dhcp-match=set:EFI_x86-64,option:client-arch,9
  dhcp-boot=tag:EFI_x86-64,uefi/grubx64.efi

③ DHCP选项,对应dnsmasq的dhcp-option选项
功能:指要发送给DHCP客户端的选项
格式:[tag:,[tag:,]][encap:,][vi-encap:,][vendor:[],][|option:],[[,]]
解释:如果客户端匹配标签tag(如果指定了多个 tag:,则必须同时匹配)且客户端请求了指定的选项,则向客户端发送指定的选项。
数据格式可以是点分IPv4地址、十进制数、冒号分割的十六进制数或者字符串。
例如:选项3(默认路由),值为 192.168.1.1
3,192.168.1.1
option:router,192.168.1.1

  告诉AP无线控制器的IP地址为192.168.1.1、192.168.1.2
  43,01:08:c0:a8:01:01:c0:a8:01:02    使用厂商自定义选项实现
  138,c0:a8:01:01:c0:a8:01:02         使用rfc 5417定义的option 138实现
  138,192.168.1.1,192.168.1.2

  选项vi-encap(125),携带厂商2(IANA厂商编码)的信息:子选项10,值为 text
  vi-encap:2,10,text
  125,00:00:00:02:06:0a:04:74:65:78:74

  选项Vendor class identifier(60),值为 MSFT 5.0
  60,4d:53:46:54:20:35:2e:30

④ DHCP强制选项,对应dnsmasq的dhcp-option-force选项
功能:即使客户端不请求,也会向客户端发送的DHCP选项
格式:[tag:,[tag:,]][encap:,][vi-encap:,][vendor:[],],[[,]]
解释:如果客户端匹配标签tag(如果指定了多个 tag:,则必须同时匹配),则无论客户端是否请求对应的选项,都向客户端发送指定的选项。
数据格式可以是点分IPv4地址、十进制数、冒号分割的十六进制数或者字符串。
例如:强制告诉AP无线控制器的IP地址为192.168.1.1、192.168.1.2
43,01:08:c0:a8:01:01:c0:a8:01:02 使用厂商自定义选项实现
138,c0:a8:01:01:c0:a8:01:02 使用rfc 5417定义的option 138实现
138,192.168.1.1,192.168.1.2

  强制向客户端发送选项vi-encap(125),携带厂商2(IANA厂商编码)的信息:子选项10,值为 text
  vi-encap:2,10,text      
  125,00:00:00:02:06:0a:04:74:65:78:74   十六进制格式
文档更新时间: 2019-12-12 12:29   作者:Gocloud