不同厂商DHCP服务器对接AP时如何配置Option 43?
DHCP的Option 43是什么?
DHCP介绍
动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种用于集中对用户IP地址进行动态管理和配置的技术。DHCP协议由RFC 2131定义,采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,服务器返回为客户端分配的配置信息。
DHCP服务器与DHCP客户端之间通过DHCP报文进行通信。DHCP报文格式如图1-1所示,括号里的数字表示字段的长度,单位是字节。
DHCP的Option字段
在DHCP报文中有个可变的options字段,表示DHCP的选项字段,用来存放分配给DHCP客户端的控制信息和参数。如图1-2所示,options字段由Type、Length和Value三部分组成。这三部分的表示含义如表1-1所示。
字段 |
长度 |
含义 |
---|---|---|
Type |
1字节 |
该字段表示信息类型。 |
Length |
1字节 |
该字段表示后面信息内容的长度。 |
Value |
其长度为Length字段所指定 |
该字段表示信息内容。 |
DHCP options选项的取值范围为1~255。DHCP options选项包括预定义选项和用户自定义选项。
Option 43字段
Option 43是一个用户自定义选项,表示厂商特定信息选项,用于实现与不同终端的对接,如IP话机、AP等。
Option 43的报文格式如图1-3所示。
DHCP服务器和DHCP客户端通过Option 43交换厂商特定的信息。当DHCP服务器接收到请求Option 43信息的DHCP请求报文(Option55中带有43参数)后,将在回复报文中携带Option 43,为DHCP客户端分配厂商指定的信息。
Option 43支持主选项和子选项的形式,子选项中各字段的含义如图1-3所示。
- Sub-option type:子选项类型。
- Sub-option length:子选项的长度。
- Sub-option value:子选项的取值。
Option 43和华为AP的关系
AP工作在Fit模式时,由WAC统一配置和管理,实现AP的零配置上线。而AP要在WAC上线,首先要获取IP地址接入网络,然后要能够发现WAC建立连接。
AP获取IP地址是通过DHCP实现的,AP作为DHCP客户端,向网络中的DHCP服务器发起地址请求。
AP发现WAC则根据组网方式不同,有所差异。
- AP和WAC是二层组网:AP可直接通过广播方式发现WAC。
- AP和WAC是三层组网:AP无法通过广播方式发现WAC,必须使用DHCP的Option 43字段携带WAC的信息,由DHCP服务器发送给AP,AP解析出WAC的地址后通过单播方式和WAC建立连接。
当然在二层组网中,也同样可以使用DHCP的Option 43字段将WAC的信息带给AP,优先级高于广播方式。
所以DHCP服务器对接AP时,Option 43用于为AP指定WAC的IP地址,以便AP与WAC建立连接。AP与WAC建立连接的过程,请参考AP上线流程和故障处理。
华为AP支持识别的Option 43格式
识别单个WAC的Option 43格式
为华为AP指定单个WAC时,AP支持识别Option 43的子选项1、子选项2、子选项3。例如WAC的IP地址是192.168.100.1,以华为交换机做DHCP服务器为例,以下配置等价,任选1个即可。
- 子选项1(十六进制)
dhcp server option 43 sub-option 1 hex c0a86401
c0 a8 64 01分别是IP地址中192 168 100 1四个十进制数转成的十六进制数。
也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。
dhcp server option 43 hex 0104c0a86401
01:子选项类型1。
04:子选项长度。每个IP地址占4个字节,所以IP地址个数乘4。
c0 a8 64 01:IP地址192 168 100 1的十六进制。
- 子选项2(十进制)
dhcp server option 43 sub-option 2 ip-address 192.168.100.1
也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。
dhcp server option 43 hex 0204c0a86401
02:子选项类型2。
04:子选项长度。每个IP地址占4个字节,所以IP地址个数乘4。
c0 a8 64 01:IP地址192 168 100 1的十六进制。
- 子选项3(ASCII码)
dhcp server option 43 sub-option 3 ascii 192.168.100.1
也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。
dhcp server option 43 hex 030d3139322e3136382e3130302e31
03:子选项类型3。
0d:子选项长度。IP地址和符号作为字符串,将字符串192.168.100.1的字符数转成十六进制。
31 39 32 2e 31 36 38 2e 31 30 30 2e 31:IP地址192.168.100.1作为字符串对应的ASCII码。0-9对应30-39,"."对应2e。
识别多个WAC的Option 43格式
- 子选项2(十进制)
dhcp server option 43 sub-option 2 ip-address 192.168.100.1 192.168.100.2
也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。
dhcp server option 43 hex 0208c0a86401c0a86402
02:子选项类型2。
08:子选项长度。每个IP地址占4个字节,所以IP地址个数乘4。
c0 a8 64 01:IP地址192 168 100 1的十六进制。
c0 a8 64 02:IP地址192 168 100 2的十六进制。
- 子选项3(ASCII码)
dhcp server option 43 sub-option 3 ascii 192.168.100.1,192.168.100.2
IP地址的分隔符是逗号,不加空格。
也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。
dhcp server option 43 hex 031b3139322e3136382e3130302e312c3139322e3136382e3130302e32
03:子选项类型3。
1b:子选项长度。IP地址和符号作为字符串,将字符串192.168.100.1,192.168.100.2的字符数转成十六进制。
31 39 32 2e 31 36 38 2e 31 30 30 2e 31:IP地址192.168.100.1作为字符串对应的ASCII码。
2c:“,”作为字符串对应的ASCII码。
31 39 32 2e 31 36 38 2e 31 30 30 2e 32:IP地址192.168.100.2作为字符串对应的ASCII码。
0-9对应30-39,"."对应2e,","对应2c。
不同厂商DHCP服务器支持配置的Option 43格式
AP支持识别3种Option 43的格式,但不同厂商DHCP服务器支持配置的Option 43格式有所不同。
本文仅列举部分厂商为例,具体支持情况和配置方法以实际DHCP服务器的厂商型号和版本为准,参考其对应的文档进行配置。
厂商 |
子选项1(十六进制) |
子选项2(十进制) |
子选项3(ASCII码) |
---|---|---|---|
支持1 |
支持 |
支持2 |
|
不支持 |
不支持 |
支持 |
|
不支持 |
不支持 |
支持 |
|
不支持 |
支持 |
不支持 |
|
不支持 |
不支持 |
支持 |
|
不支持 |
不支持 |
支持 |
1、支持指定单个WAC,不支持指定多个WAC。
2、配置时可直接输入字符串,无需转换字符为ASCII码,更为简单。
配置华为DHCP服务器的Option 43
支持配置的格式
子选项1、子选项2、子选项3。
配置方法
以华为WAC作为DHCP服务器为例,配置Option 43,WAC的IP地址为192.168.100.1。
以下3个配置等价,任选1个即可。
dhcp server option 43 sub-option 1 hex c0a86401
dhcp server option 43 sub-option 2 ip-address 192.168.100.1
dhcp server option 43 sub-option 3 ascii 192.168.100.1
参考信息
https://support.huawei.com/hedex/hdx.do?docid=EDOC1100192517&id=ZH-CN_CONCEPT_0176917721&lang=zh
配置Cisco DHCP服务器的Option 43
支持配置的格式
子选项3。
配置方法
# ip dhcp pool test network 192.168.100.1 255.255.255.0 default-router 192.168.100.1 option 43 hex 030d3139322e3136382e3130302e31 #
03:子选项类型3。
0d:子选项长度。IP地址和符号作为字符串,将字符串192.168.100.1的字符数转成十六进制。
31 39 32 2e 31 36 38 2e 31 30 30 2e 31:IP地址192.168.100.1作为字符串对应的ASCII码。
0-9对应30-39,"."对应2e。
参考信息
配置Juniper DHCP服务器的Option 43
支持配置的格式
子选项3。
配置方法
以Juniper交换机作为DHCP服务器为例,配置Option 43,WAC的IP地址为192.168.100.1。
# set system services dhcp option 43 byte-stream "0x03 0x0D 0x31 0x39 0x32 0x2E 0x31 0x36 0x38 0x2E 0x31 0x30 0x30 0x2E 0x31" #
0x03:子选项类型3。
0x0D:子选项长度。IP地址和符号作为字符串,将字符串192.168.100.1的字符数转成十六进制。
0x31 0x39 0x32 0x2E 0x31 0x36 0x38 0x2E 0x31 0x30 0x30 0x2E 0x31:IP地址192.168.100.1作为字符串对应的ASCII码。
0-9对应30-39,"."对应2E。
参考信息
http://kb.juniper.net/InfoCenter/index?page=content&id=KB23834&actp=search
http://kb.juniper.net/InfoCenter/index?page=content&id=KB4243&actp=search
http://kb.juniper.net/InfoCenter/index?page=content&id=KB24005&actp=search
配置Linux ISC DHCP服务器的Option 43
支持配置的格式
子选项2。
配置方法
- 配置文件路径。
/etc/dhcp/dhcpd.conf
- 配置文件举例。
服务器根据客户端携带的Option 60字段获取厂商信息,根据厂商信息为客户端指定WAC地址,通过Option 43发送给客户端。例如为思科AP指定的WAC地址为192.168.247.5,为华为AP指定的WAC地址为192.168.247.55。
# ddns-update-style interim; option space Cisco_LWAPP_AP; option Cisco_LWAPP_AP.server-address code 241 = array of ip-address; option space Huawei-AP6050DN; option Huawei-AP6050DN.server-address code 1 = array of ip-address; subnet 192.3.1.0 netmask 255.255.255.0 { authoritative; range 192.3.1.100 192.3.1.254; option subnet-mask 255.255.255.0; option broadcast-address 192.3.1.255; option routers 192.3.1.1; option domain-name "huawei.com"; option domain-name-servers 192.168.247.2, 192.168.247.3; default-lease-time 300; class "Cisco-AP-c1700" { match if option vendor-class-identifier = "Cisco-AP-c1700"; option vendor-class-identifier "Cisco-AP-c1700"; vendor-option-space Cisco_LWAPP_AP; option Cisco_LWAPP_AP.server-address 192.168.247.5; } class "huawei AP" { match if option vendor-class-identifier = "huawei AP"; option vendor-class-identifier "huawei AP"; vendor-option-space Huawei-AP6050DN; option Huawei-AP6050DN.server-address 192.168.247.55; } subnet 192.168.1.0 netmask 255.255.255.0 { } #
参考信息
无。
配置Windows DHCP服务器的Option 43
支持配置的格式
子选项3。
配置方法
参考信息
无。
配置Infoblox DHCP服务器的Option 43
支持配置的格式
子选项3。
配置方法
以Infoblox服务器作为DHCP服务器为例,配置Option 43,WAC的IP地址为10.6.2.1。
在Infoblox服务器上,将IP地址10.6.2.1写成03:08:31:30:2e:36:2e:32:2e:31的格式,两个字符之间需要用冒号隔开,如图3所示。
03:子选项类型3。
08:子选项长度。IP地址和符号作为字符串,将字符串10.6.2.1的字符数转成十六进制。
31:30:2e:36:2e:32:2e:31:IP地址10.6.2.1作为字符串对应的ASCII码,用冒号隔开。
0-9对应30-39,"."对应2e。
参考信息
无。