7.3 DHCP Options
操作路径: /ip dhcp-server option
DHCP 报文中的一个选项,该选项在 DHCP 报文中为可变长的字段,option 选项中包含了部分租约信息、报文
类型等,option 选项中最多可以包括 255 个 option。
根据 DHCP 协议,一个参数返回到 DHCP 客户端,只有在他请求这个参数时。指定各自的代码中 DHCP 请求参
数列表(Parameter-List code55),如果代码没有包含着参数列表,DHCP 服务器将不会发送到 DHCP 客户
端
Classless static Route
Classless static route 无类静态路由会添加到 DHCP 客户端的路由表中,下面实例中将会添加静态路由
dst-address=160.0.0.0/24 gateway=10.1.101.1,由于 Option 的值中我们需要使用十六进制格式,添加
静态路由可以使用 code 249 和 121,下面以 code 121 为例,因为 RouterOS DHCP-client 只支持 121
首先需要掌握如何配置 option 值,根据 RFC3442 对格式定义如下:
子网段 子网掩码 目标路由格式
0 0 0
10.0.0.0 255.0.0.0 8.10
10.0.0.0 255.255.255.0 24.10.0.0
10.17.0.0 255.255.0.0 16.10.17
10.27.129.0 255.255.255.0 24.10.27.129
10.229.0.128 255.255.255.128 25.10.229.0.128
10.198.122.47 255.255.255.255 32.10.198.122.47
因此 dst-address=160.0.0.0/24,目标路由格式为 24.160.0.0,网关为 10.1.101.1,
整个格式为:24.160.0.0.10.1.101.1,现在我们要将以上格式换算为十六进制:
十进制 24 160 0 0 10 1 101 1
十六进制 18 A0 00 00 0A 01 61 01
结果是:18A000000A016501
如果 DHCP-Server 设置了 option code 121,RouterOS 的 DHCP-client 只识别 121 的路由,默认网关 code
3 会忽略,所以我们需要在 code 121 值中添加一条默认路由,假设默认网关为 10.1.101.1,换算为
000A016501,
所以两组路由结合,按照十六进制的写法是 0x18A000000A016501000A016501(0x 为十六进制格式),配
置如下:
/ip dhcp-server option
add code=121 name=classless value=0x18A000000A016501000A016501
/ip dhcp-server network
set 0 dhcp-option=classless
RouterOS 的 DHCP-client 获取情况
[admin@MikroTik] /ip route> print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o
- ospf,
m - mme, B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 ADS 0.0.0.0/0 10.1.101.1 0
1 ADS 160.0.0.0/24 10.1.101.1 0
Option-set
RouterOS 的 DHCP-client 不支持 249,只支持 121,而 Windows XP 和 Windows 2003 仅支持
option 249, Windows vista、Windows 7 和 Windows 2008 对 option 249 和 option 121 都支持。如
果在一个网络中即有支持 249,又支持 121 的主机或网络设备,需要设置复合型的 option 参数,这里可以利用
option-set 完成
/ip dhcp-server option
add code=121 name=classless121 value=0x18A000000A016501000A016501
add code=249 name=classless249 value=0x18A000000A016501000A016501
设置 option-set 参数,取名 set1
/ip dhcp-server option sets
add name=set1 options=classless121, classless249
设置 network 的 dhcp-option-set 属性
/ip dhcp-server network
set 0 dhcp-option-set=set1
操作路径: /ip dhcp-server option
DHCP 报文中的一个选项,该选项在 DHCP 报文中为可变长的字段,option 选项中包含了部分租约信息、报文
类型等,option 选项中最多可以包括 255 个 option。
根据 DHCP 协议,一个参数返回到 DHCP 客户端,只有在他请求这个参数时。指定各自的代码中 DHCP 请求参
数列表(Parameter-List code55),如果代码没有包含着参数列表,DHCP 服务器将不会发送到 DHCP 客户
端
Classless static Route
Classless static route 无类静态路由会添加到 DHCP 客户端的路由表中,下面实例中将会添加静态路由
dst-address=160.0.0.0/24 gateway=10.1.101.1,由于 Option 的值中我们需要使用十六进制格式,添加
静态路由可以使用 code 249 和 121,下面以 code 121 为例,因为 RouterOS DHCP-client 只支持 121
首先需要掌握如何配置 option 值,根据 RFC3442 对格式定义如下:
子网段 子网掩码 目标路由格式
0 0 0
10.0.0.0 255.0.0.0 8.10
10.0.0.0 255.255.255.0 24.10.0.0
10.17.0.0 255.255.0.0 16.10.17
10.27.129.0 255.255.255.0 24.10.27.129
10.229.0.128 255.255.255.128 25.10.229.0.128
10.198.122.47 255.255.255.255 32.10.198.122.47
因此 dst-address=160.0.0.0/24,目标路由格式为 24.160.0.0,网关为 10.1.101.1,
整个格式为:24.160.0.0.10.1.101.1,现在我们要将以上格式换算为十六进制:
十进制 24 160 0 0 10 1 101 1
十六进制 18 A0 00 00 0A 01 61 01
结果是:18A000000A016501
如果 DHCP-Server 设置了 option code 121,RouterOS 的 DHCP-client 只识别 121 的路由,默认网关 code
3 会忽略,所以我们需要在 code 121 值中添加一条默认路由,假设默认网关为 10.1.101.1,换算为
000A016501,
所以两组路由结合,按照十六进制的写法是 0x18A000000A016501000A016501(0x 为十六进制格式),配
置如下:
/ip dhcp-server option
add code=121 name=classless value=0x18A000000A016501000A016501
/ip dhcp-server network
set 0 dhcp-option=classless
RouterOS 的 DHCP-client 获取情况
[admin@MikroTik] /ip route> print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o
- ospf,
m - mme, B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 ADS 0.0.0.0/0 10.1.101.1 0
1 ADS 160.0.0.0/24 10.1.101.1 0
Option-set
RouterOS 的 DHCP-client 不支持 249,只支持 121,而 Windows XP 和 Windows 2003 仅支持
option 249, Windows vista、Windows 7 和 Windows 2008 对 option 249 和 option 121 都支持。如
果在一个网络中即有支持 249,又支持 121 的主机或网络设备,需要设置复合型的 option 参数,这里可以利用
option-set 完成
/ip dhcp-server option
add code=121 name=classless121 value=0x18A000000A016501000A016501
add code=249 name=classless249 value=0x18A000000A016501000A016501
设置 option-set 参数,取名 set1
/ip dhcp-server option sets
add name=set1 options=classless121, classless249
设置 network 的 dhcp-option-set 属性
/ip dhcp-server network
set 0 dhcp-option-set=set1