DHCP的Option 43是什么?

DHCP介绍动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种用于集中对用户IP地址进行动态管理和配置的技术。DHCP协议由RFC 2131定义,采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,服务器返回为客户端分配的配置信息。

DHCP服务器与DHCP客户端之间通过DHCP报文进行通信。DHCP报文格式如图1-1所示,括号里的数字表示字段的长度,单位是字节。

dhcpv6为什么不需要配网关 别错过让他告诉你(1)

DHCP的Option字段 在DHCP报文中有个可变的options字段,表示DHCP的选项字段,用来存放分配给DHCP客户端的控制信息和参数。如图1-2所示,options字段由Type、Length和Value三部分组成。这三部分的表示含义如表1-1所示。

图1-2 Options字段的格式

dhcpv6为什么不需要配网关 别错过让他告诉你(2)

表1-1 Options各字段的含义

字段长度含义Type1字节该字段表示信息类型。Length1字节该字段表示后面信息内容的长度。Value其长度为Length字段所指定该字段表示信息内容。

DHCP options选项的取值范围为1~255。DHCP options选项包括预定义选项和用户自定义选项。

Option 43字段Option 43是一个用户自定义选项,表示厂商特定信息选项,用于实现与不同终端的对接,如IP话机、AP等。

Option 43的报文格式如图1-3所示。

dhcpv6为什么不需要配网关 别错过让他告诉你(3)

图1-3 Option 43格式

DHCP服务器和DHCP客户端通过Option 43交换厂商特定的信息。当DHCP服务器接收到请求Option 43信息的DHCP请求报文(Option55中带有43参数)后,将在回复报文中携带Option 43,为DHCP客户端分配厂商指定的信息。

Option 43支持主选项和子选项的形式,子选项中各字段的含义如图1-3所示。

Option 43和华为AP的关系

AP工作在Fit模式时,由WAC统一配置和管理,实现AP的零配置上线。而AP要在WAC上线,首先要获取IP地址接入网络,然后要能够发现WAC建立连接。

AP获取IP地址是通过DHCP实现的,AP作为DHCP客户端,向网络中的DHCP服务器发起地址请求。

AP发现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个即可。

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:

dhcpv6为什么不需要配网关 别错过让他告诉你(4)

图1-4 Window DHCP服务器配置界面

在“二进制”里写入十六进制数,如图2所示:

dhcpv6为什么不需要配网关 别错过让他告诉你(5)

图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所示。

dhcpv6为什么不需要配网关 别错过让他告诉你(6)

图1-6 infoblox服务器配置Option 43

,