- 如果本文对你有帮助,欢迎关注、讨论、点赞、收藏、转发给朋友,让我有持续创作的动力,让我们一起相互学习共同进步。
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所示。
图1-2 Options字段的格式
表1-1 Options各字段的含义
字段长度含义Type1字节该字段表示信息类型。Length1字节该字段表示后面信息内容的长度。Value其长度为Length字段所指定该字段表示信息内容。
DHCP options选项的取值范围为1~255。DHCP options选项包括预定义选项和用户自定义选项。
Option 43字段Option 43是一个用户自定义选项,表示厂商特定信息选项,用于实现与不同终端的对接,如IP话机、AP等。
Option 43的报文格式如图1-3所示。
图1-3 Option 43格式
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支持识别的Option 43格式
识别单个WAC的Option 43格式
为华为AP指定单个WAC时,AP支持识别Option 43的子选项1、子选项2、子选项3。例如WAC的IP地址是192.168.100.1,以华为交换机做DHCP服务器为例,以下配置等价,任选1个即可。
- 子选项1(十六进制)
dhcpserveroption43sub-option1hexc0a86401
c0 a8 64 01分别是IP地址中192 168 100 1四个十进制数转成的十六进制数。
也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。
dhcpserveroption43hex0104c0a86401
01:子选项类型1。
04:子选项长度。每个IP地址占4个字节,所以IP地址个数乘4。
c0 a8 64 01:IP地址192 168 100 1的十六进制。
- 子选项2(十进制)
dhcpserveroption43sub-option2ip-address192.168.100.1
也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。
dhcpserveroption43hex0204c0a86401
02:子选项类型2。
04:子选项长度。每个IP地址占4个字节,所以IP地址个数乘4。
c0 a8 64 01:IP地址192 168 100 1的十六进制。
- 子选项3(ASCII码)
dhcpserveroption43sub-option3ascii192.168.100.1
也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。
dhcpserveroption43hex030d3139322e3136382e3130302e31
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格式
为华为AP指定多个WAC时,AP支持识别Option 43的子选项2、子选项3。例如两台WAC的IP地址分别是192.168.100.1和192.168.100.2,以下配置等价,任选1个即可。AP按照多个WAC的配置顺序,向所有WAC发送连接请求。AP最多支持8个WAC地址。
- 子选项2(十进制)
dhcpserveroption43sub-option2ip-address192.168.100.1192.168.100.2
也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。
dhcpserveroption43hex0208c0a86401c0a86402
- 子选项3(ASCII码)
dhcpserveroption43sub-option3ascii192.168.100.1,192.168.100.2
也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。
dhcpserveroption43hex031b3139322e3136382e3130302e312c3139322e3136382e3130302e32
不同厂商DHCP服务器支持配置的Option 43格式
AP支持识别3种Option 43的格式,但不同厂商DHCP服务器支持配置的Option 43格式有所不同。
本文仅列举部分厂商为例,具体支持情况和配置方法以实际DHCP服务器的厂商型号和版本为准,参考其对应的文档进行配置。
厂商子选项1(十六进制)子选项2(十进制)子选项3(ASCII码)华为支持1支持支持2Cisco不支持不支持支持Juniper不支持不支持支持Linux ISC不支持支持不支持Windows不支持不支持支持Infoblox不支持不支持支持
表1-2 不同厂商DHCP服务器支持配置的Option 43格式
不同厂商如何设置DHCP option 43
配置华为DHCP服务器的Option 43
- 支持配置的格式
子选项1、子选项2、子选项3。
- 配置方法
以华为WAC作为DHCP服务器为例,配置Option 43,WAC的IP地址为192.168.100.1。
以下3个配置等价,任选1个即可。
dhcpserveroption43sub-option1hexc0a86401 dhcpserveroption43sub-option2ip-address192.168.100.1 dhcpserveroption43sub-option3ascii192.168.100.1
配置Cisco DHCP服务器的Option 43
- 支持配置的格式
子选项3。
- 配置方法
以Cisco交换机作为DHCP服务器为例,配置Option 43,WAC的IP地址为192.168.100.1。
# ipdhcppooltest network192.168.100.1255.255.255.0 default-router192.168.100.1 option43hex030d3139322e3136382e3130302e31 #
配置Juniper DHCP服务器的Option 43
- 支持配置的格式
子选项3。
- 配置方法
以Juniper交换机作为DHCP服务器为例,配置Option 43,WAC的IP地址为192.168.100.1。
# setsystemservicesdhcpoption43byte-stream"0x030x0D0x310x390x320x2E0x310x360x380x2E0x310x300x300x2E0x31" #
配置Linux ISC DHCP服务器的Option 43
- 支持配置的格式
子选项2。
- 配置方法
以Linux ISC作为DHCP服务器为例,配置Option 43。
配置文件路径。
/etc/dhcp/dhcpd.conf
配置文件举例。服务器根据客户端携带的Option 60字段获取厂商信息,根据厂商信息为客户端指定WAC地址,通过Option 43发送给客户端。例如为思科AP指定的WAC地址为192.168.247.5,为华为AP指定的WAC地址为192.168.247.55。
# ddns-update-styleinterim; optionspaceCisco_LWAPP_AP; optionCisco_LWAPP_AP.server-addresscode241=arrayofip-address; optionspaceHuawei-AP6050DN; optionHuawei-AP6050DN.server-addresscode1=arrayofip-address; subnet192.3.1.0netmask255.255.255.0{ authoritative; range192.3.1.100192.3.1.254; optionsubnet-mask255.255.255.0; optionbroadcast-address192.3.1.255; optionrouters192.3.1.1; optiondomain-name"huawei.com"; optiondomain-name-servers192.168.247.2,192.168.247.3; default-lease-time300; class"Cisco-AP-c1700"{ matchifoptionvendor-class-identifier="Cisco-AP-c1700"; optionvendor-class-identifier"Cisco-AP-c1700"; vendor-option-spaceCisco_LWAPP_AP; optionCisco_LWAPP_AP.server-address192.168.247.5;} class"huaweiAP"{ matchifoptionvendor-class-identifier="huaweiAP"; optionvendor-class-identifier"huaweiAP"; vendor-option-spaceHuawei-AP6050DN; optionHuawei-AP6050DN.server-address192.168.247.55;} subnet192.168.1.0netmask255.255.255.0{ } #
配置Windows DHCP服务器的Option 43
- 支持配置的格式
子选项3。
- 配置方法
以Windows作为DHCP服务器为例,配置Option 43,WAC的IP地址为192.168.22.1。进入Window DHCP服务器配置界面,如图1:
图1-4 Window DHCP服务器配置界面
在“二进制”里写入十六进制数,如图2所示:
图1-5 Option 43配置界面
配置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所示。
图1-6 infoblox服务器配置Option 43
,