DHCP option 43是什么
背景
当无线路由器A(AP)和接入点C(AC)部署在同一网络范围内时,在线路由器A会自动发起广播数据包的发送操作,并能够直接定位到同一网络内所有接入点C。然而,在无线路由器A与接入点C部署于不同的网络范围内时,在线路由器A所发射的广播数据包无法跨越网络边界传播;此时必须通过设置该设备的IP地址信息来完成对接入点C的成功连接。

当AP的数量较为有限时, 可以采用较为简便的方法是通过手动配置AC, 具体操作步骤包括登录AP设备并在其管理界面中输入相应的配置指令。然而, 当faced with a large number of APs时, 这种方式会变得效率低下, 因此我们建议采用一种更为高效的技术手段: 利用 DHCP选项43字段配置自动获取IP地址, 这样就可以实现批量设置All-in-one终端服务器(dhcp-servers)的能力。
option 43
option 43 serves as a customizable parameter designed to denote the AC IP address. By utilizing the DHCP option 43 field, AP is able to acquire the AC IP address information and subsequently transmit a single-bit message to locate the corresponding Access Point (AP), thereby realizing AP's zero-configuration deployment. This context refers exclusively to FIT AP in all instances.


在使用option 43时需要满足以下前提条件:其中AP与DHCP服务器之间的路由必须是可达的,并且能够保证该设备能够成功地与DHCP服务器进行报文交互;同时要求在配置过程中必须确保AP与AC设备之间的路由也是可达的,并且能够保证该设备能够成功地与AC设备进行报文交互。
option 43格式
选项43的数值采用三种不同的表示方式:十六进制、十进制和ASCII编码。例如,在IP地址配置中使用时,在网络设备上通常会将其设置为十六进制形式(如C0A86401),而在主机配置中则可能以十进制形式(如192.168.100.1)或ASCII字符串形式(如"CCAA")进行存储或通信处理。其中小数点字符对应于特定的编码序列(如"CCAA"中的每个字符代表不同位值)。由于其简洁性和普遍适用性,在网络协议中广泛采用十六进制编码作为标准接口配置参数
有时,还会配合option 60字段使用,option 60表示设备厂商名称。
华为配置option 43
以华为设备为例,配置option 43,AC IP地址是192.168.100.1。
dhcp server option 43 hex 0104c0a86401
其中,"01"代表类型一。华为包含三种不同的编码方式,具体来说包括十六进制编码、十进制计数以及ASCII字符编码。"04"代表字段长度为四字节,每个IPv4地址占用四个字节的空间,并通过将IPv4地址数量乘以四来计算总字节数。
华三配置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代表类型信息属于恒定数值设定。参数字段中**'7'字段位长度表明后续字段数量应为七个十六进制字符码,并包含一个对应的IPv4地址配置项(例如:AC IP地址)。若数值设置为'B'则表明后续字段数量应调整至十一十六进制字符码并包含两个对应的IPv4地址配置项(即两个AC IP地址)。其中,'7'字段位长度代表后续字段数量应设置为七个十六进制字符码并包含一个对应的IPv4地址配置项(例如:AC IP地址)。其中,'B'字段位长度代表后续字段数量应设置为十一十六进制字符码并包含两个对应的IPv4地址配置项(即两个AC IP地址)。其中,'7'参数字段位长度表明后续应包含七个十六进制字符码以及一个对应IPv4配置项(例如:AC IP地址)。其中,'B'**参数字段位长度表明后续应包含十一十六进制字符码以及两个对应IPv4配置项(即两个AC IP地址)。其中,参数设置中的七位长度表明后续应包含七个十六进制字符码以及一个对应IPv4配置项(例如:AC IP地址)。类似地,参数设置中的十一位长度则表明后续应包含十一十六进制字符码以及两个对应IPv4配置项(即两个AC IP地址)
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
其中,f₁代表类别,是一个固定参数;数字"04"指示后续部分的位数,即对应一个AC类IP地址;而c₀a₈6₄₀₁则是将192.168.100.1转换成十六进制的结果。
Linux ISC DHCP服务器配置option 43
在Linux isc dhcp服务器中进行配置时,请注意设置选项43及选项60的具体参数设置。具体来说,在思科设备上采用该地址为192.168.247.5,在华为设备则采用该地址为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服务器配置界面

在“二进制”里写入十六进制数

其中,“0_{}^{}”代表类型三。“A_{}^{}”则指示后续段落的具体长度值即后续共有十二个十六进制数字将该IP地址视为字符串并转换为十六进制形式这些二进制数值组合起来即代表该IP地址对应的ASCII码序列数字“a_{}^{}至“z_{}^{}分别对应数值范围从十到三十个小数点则对应数值范围从三十一到三十一等具体情况具体分析此处无需手动填写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的格式,两个字符之间需要用冒号隔开。

其中,
\texttt{03}代表类型\texttt{3},
\texttt{08}即为后面内容的长度,
也就是说,
后面将包含\texttt{8}个十六进制数字。
将IP地址\texttt{10}\texttt{.}\texttt{6}\texttt{.}\texttt{2}\texttt{.}\texttt{1}视为字符串并转换为十六进制表示。
该序列正好对应着IP地址\texttt{10}\texttt{.}\texttt{6}\texttt{.}\texttt{2}\texttt{.}\texttt{1}的ASCII码表示。
最后
该option 43配置仅作为示例存在,在实际应用中应当参考DHCP服务器与AP的相关说明书以确保两者采用一致的格式或类型方能正确识别option 43信息。例如,在配置aruba AP设备时,在Infoblox系统上直接填写_assoc接口对应的AC端口IP地址如192.168.100.1,则无需进行格式转换即可实现所需功能。
