DHCP option 43是什么?
背景
当AP和AC在同一个网段时,AP会主动发送广播报文,就能直接找到网段内的AC。当AP和AC在不同网段时,广播报文无法跨网段传播,只能在AP上指定AC IP地址,AP才能找到AC进行上线。
如果AP数量只有几个,可以采用简单的、手工指定AC的方式,就是登陆AP,并在AP上敲入指定AC的命令。如果AP数量多,手工指定AC的方式,操作复制,工作量大,就不适用了,得用批量指定AC的方式,即通过DHCP option 43字段,指定AC IP地址,实现AP批量上线。
option 43
option 43是一个自定义选项,用于表示AC IP地址。AP通过DHCP的option 43字段,获取AC IP地址信息,再发送单播报文找到对应AC,实现AP的零配置上线。这里说的AP,都是指FIT AP。
使用option 43有前提条件,即AP和DHCP服务器路由可达,确保AP能跟DHCP服务器正常交互报文;AP和AC路由可达,确保AP能跟AC交互报文。
option 43格式
option 43的值,有三种表示法:十六进制、十进制和ASCII码。举个栗子,AC IP地址为192.168.100.1时,用十六进制表示时,值为c0a86401;用十进制表示时,值为192.168.100.1;用ASCII码表示时,值为3139322e3136382e3130302e31,其中“.”对应2e。最常见的格式是十六进制值,也是兼容性最好的。
有时,还会配合option 60字段使用,option 60表示设备厂商名称。
华为配置option 43
以华为设备为例,配置option 43,AC IP地址是192.168.100.1。
dhcp server option 43 hex 0104c0a86401
其中,01
表示类型1,华为一共有三种类型,即十六进制、十进制、ASCII码。04
表示字段长度,每个IP地址占4个字节,计算公式是IP地址个数乘4。c0a86401
是192.168.100.1的十六进制数。
华三配置option 43
以华三设备为例,配置option 43,AC IP地址是192.168.100.1。
[AC]dhcp server ip-pool vlan10
[AC-dhcp-pool-vlan100] network 192.168.10.0 mask 255.255.255.0
[AC-dhcp-pool-vlan100] gateway-list 192.168.10.1
[AC-dhcp-pool-vlan100] option 43 hex 80070000 01 C0A86401
其中,80
表示类型,是固定值。07
表示后面内容的长度,也是说后面有7个十六进制数,有一个AC IP地址。如果值为0B,表示后面有11个十六进制数,即两个AC IP地址。0000
表示服务类型,是固定值。01
表示后面IP地址的个数。c0a86401
是192.168.100.1的十六进制数。
cisco配置option 43
以cisco设备为例,配置option 43,AC IP地址是192.168.100.1。
Cisco(config)#ip dhcp pool AP
Cisco(dhcp-config)#network 192.168.10.0 /24
Cisco(dhcp-config)#default-route 102.168.10.1
Cisco(dhcp-config)#option 43 hex f1040c0a86401
其中,f1
表示类型,是固定值。04
表示后面内容长度,即4个十六进制数,有一个AC IP地址。c0a86401
是192.168.100.1的十六进制数。
Linux ISC DHCP服务器配置option 43
以Linux ISC DHCP服务器为例,配置option 43和option 60,思科AC IP地址是192.168.247.5,华为AC IP地址是192.168.247.55。
配置文件路径
/etc/dhcp/dhcpd.conf
#
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
以Windows DHCP服务器为例,配置option 43,AC IP地址是192.168.22.1。
进入Window DHCP服务器配置界面
在“二进制”里写入十六进制数
其中,03
表示类型3,0C
表示后面内容的长度,也是说后面有12个十六进制数,把192.168.22.1当做字符串,并转成十六进制。31 39 32 2E 31 36 38 2E 32 32 2E 31
就是IP地址192.168.22.1对应的ASCII码。0-9
分别对应30-39
,“.
”对应2E。“ASCII”无需填入,根据“二进制”内容自动生成的。
Infoblox DHCP服务器配置option 43
以Infoblox服务器为例,配置option 43,AC IP地址是10.6.2.1。
IP地址10.6.2.1转换成03:08:31:30:2e:36:2e:32:2e:31的格式,两个字符之间需要用冒号隔开。
其中,03
表示类型3,08
表示后面内容的长度,也是说后面有8个十六进制数,把10.6.2.1当做字符串,并转成十六进制。31:30:2e:36:2e:32:2e:31
就是IP地址10.6.2.1对应的ASCII码。
最后
上述option 43配置,仅用于举例说明。实际使用时,需要分别查看DHCP服务器和AP的产品说明,使用都能匹配的格式或者类型,才能保证AP能够识别option 43的内容。比如:配置aruba ap时,可以直接在Infoblox上填写AC IP地址,而不需要转换格式。