如果本文对你有帮助,欢迎关注、讨论、点赞、收藏、转发给朋友,让我有持续创作的动力,让我们一起相互学习共同进步。 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(十六进制) dhcp server option 43 sub-option 1 hex c0a86401 c0 a8 64 01分别是IP地址中192 168 100 1四个十进制数转成的十六进制数。 也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。 dhcp server option 43 hex 0104c0a8640101:子选项类型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 0204c0a8640102:子选项类型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 030d3139322e3136382e3130302e3103:子选项类型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(十进制) dhcp server option 43 sub-option 2 ip-address 192.168.100.1 192.168.100.2 也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。 dhcp server option 43 hex 0208c0a86401c0a86402子选项3(ASCII码) dhcp server option 43 sub-option 3 ascii 192.168.100.1,192.168.100.2 也可直接使用HEX格式配置子选项,和上面的配置等价,配置可互相覆盖。 dhcp server option 43 hex 031b3139322e3136382e3130302e312c3139322e3136382e3130302e32 不同厂商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个即可。 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 配置Cisco DHCP服务器的Option 43 支持配置的格式 子选项3。 配置方法 以Cisco交换机作为DHCP服务器为例,配置Option 43,WAC的IP地址为192.168.100.1。 # ip dhcp pool test network 192.168.100.1 255.255.255.0 default-router 192.168.100.1 option 43 hex 030d3139322e3136382e3130302e31 # 配置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" # 配置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-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。 配置方法 以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