在配置Option 43之前,需要保证:

1.     AP与DHCP服务器之间路由可达,即AP可以获取到IP地址。

2.     AP与AC之间路由可达,保证AP获取到AC地址后,能够与AC交互信息,建立CAPWAP隧道。

3.     另外,配置人员还需要有基本的数通知识,能够配置DHCP服务器,对AC的配置比较熟悉

Microsoft DHCP Server

为使AP能够正常识别Option 43属性的内容,Option 43属性需要按照一定的规则来填写:

 比如AC的IP地址为192.168.22.1时,需要填写的值为 030C3139322E3136382E32322E31。其中,03为固定值,代表Option 43的子选项类型;十六进制数0C(“0C”等于十进制数“12”)代表AC的IP地址192.168.22.1的长度(字符串长度),包含小数点“.”;十六进制数31对应字符“1”的ASCII值,32对应字符 “2”的ASCII值,依此类推,十六进制2E对应字符小数点“.”的ASCII值,即值3139322E3136382E32322E31表示AC的IP地址192.168.22.1。

另外,对于涉及到多个AC,Option 43要填写多个IP地址的情形(比如AC双链路备份组网等),IP地址之间以逗号“,”间隔,逗号“,”对应的ASCII值为2C,如主备AC的IP地址分别为:192.168.100.2,192.168.100.3,那Option 43属性应该填写为:031B3139322E3136382E3130302E322C3139322E3136382E3130302E33 。其中,03为固定值,代表Option 43的子选项类型;十六进制1B(“1B”等于十进制数“27”) 表示两个IP地址字符的个数,包含中间间隔的逗号“,”和小数点“.”,十六进制 数31对应字符“1”的ASCII值,32对应字符“2”的ASCII值,依此类推。十六进制 数2E对应字符小数点“.”的ASCII值,十六进制2C对应字符逗号“,”的ASCII 值,即值3139322E3136382E3130302E322C3139322E3136382E3130302E33表示AC 的IP地址192.168.100.2,192.168.100.3。

Linux DHCP Server

1.Option 43 选项的写规则

在Liunx系统的DHCP服务器中配置Option 43,Option 43字段要按照十六进制ASCII来填写,并且用冒号“:”隔开。

以AC的IP地址为192.168.22.1为例,对应的Option 43字段应该填写为: 03:0C: 31:39:32:2E:31:36:38:2E:32:32:2E:31。其中,03为固定值,代表子选项类型;十六进制数0C(“0C”等于十进制数“12”)代表IP地址192.168.22.1的长度,包含小数 点“.”;十六进制数31对应“1”的ACCII值,32对应“2”的ASCII值,以此类推,十六进制数2E对应小数点“.”的ASCII值,即值31:39:32:2E:31:36:38:2E: 32:32:2E:31表示AC的IP地址192.168.22.1。

对于涉及到多个AC,Option要填写多个IP地址的情形,IP地址要以逗号“,”间隔,逗号“,”对应的ASCII值为2C。比如两个AC的IP地址分别为192.168.100.2和 192.168.100.3,则对应的Option 43字段为03:1B:31:39:32:2E:31:36:38:2E:31:30:30:2E:32:2C:31:39:32:2E:31:36:38:2E:31:30:30:2E:33。其中,03为固定值,代表子选项类型;十六进制数1B(“1B”等于十进制数“27”)代表两个IP地址的长度,包含小数点“.”和逗号“,”;十六进制数31对应“1”的ACCII值,32对应“2”的ASCII值,以此类推,十六进制数2E对应小数点“.”的ASCII值,十六进制 数2C对应逗号“,”的ASCII值,即值31:39:32:2E:31:36:38:2E:31:30:30:2E:32:2C: 31:39:32:2E:31:36:38:2E:31:30:30:2E:33表述AC的IP地址192.168.100.2,192.168.100.3。

2.配置步骤

登录Linux系统并安装DHCP Server。

# 安装DHCP Server。

yast -i dhcp dhcp-server

# 进入/etc/sysconfig目录下打开dhcpd文件,修改配置,设置DHCP Interface为端口eth0。

DHCP_INTERFACE = "eth0" DHCPD_RUN_CHROOTED = "yes"

配置地址池,使其可以为AP分配IP地址,同时配置Option 43,使AP能够获得AC的IP地址。假定AP的地址为192.168.100.0/24,网关为192.168.100.1,AC的地址为 192.168.22.1。

# 进入/etc目录,打开dhcpd.conf文件,进行如下配置。

option serverip code 43 = string;

subnet 192.168.100.0 netmask 255.255.255.0 {

range  192.168.100.2 192.168.100.254;

option routers 192.168.100.1;

option subnet-mask 255.255.255.0;

option serverip 03:0C:31:39:32:2E:31:36:38:2E:32:32:2E:31;

}

华为设备配置option43

华为设备作为DHCP服务器配置option43选项,共有四种方法,在DHCP地址池视图下,分别为:

1.option 43 hex hex-string

hex-string 是AC的IP地址16进制ASCII格式,和Linux window类似,eg:

option 43 hex 031D3139322e3136382e3139342e35302c3139322e3136382e3139342e3534 指定AC的IP地址为192.168.194.50和192.168.194.54。

其中,“03”表示Option43的子选项值为ASCII码类型;“1D”表示IP地址(192.168.194.50,192.168.194.54)的长度为29,长度包含“.”和“,”,多个IP地址用逗号“,”隔开;“3139322e3136382e3139342e3530”表示IP地址192.168.194.50的ASCII码值;“2C”表示逗号“,”的ASCII码值;“3139322e3136382e3139342e3534”表示IP地址192.168.194.54的ASCII码值。

2.option 43 sub-option 1 hex C0A80001C0A80002配置设备为AP指定AC的IP地址为192.168.0.1和192.168.0.2。其中,“C0A80001”表示IP地址192.168.0.1的十六进制格式,C0是192的16进制,这种方式不需要指定长度和类型,也不需要表示”.“;C0A80002”表示IP地址192.168.0.2的十六进制格式。多个IP地址不需要空格或者逗号隔开。

3.执行命令option 43 sub-option 2 ip-address 192.168.0.1 192.168.0.2配置设备为AP指定AC的IP地址为192.168.0.1和192.168.0.2,多个IP地址之间用空格隔开。

4.执行命令option 43 sub-option 3 ascii 192.168.0.1,192.168.0.2配置设备为AP指定AC的IP地址为192.168.0.1和192.168.0.2,多个IP地址之间用逗号隔开。

华为设备有些版本不全部支持这四种方式,可根据实际情况,选用合适的配置方法。

华三设备配置option43

地址池视图下:

option 43 hex 80070000010a14ce10 其中80为固定值,表示选项类型,占用一个字节。07选项长度,表示其后内容字节数,自身占用一个字节,长度不包含自己。0000:Server type,固定配为0000两个字节。01后面IP地址的个数,自身占用一个字节。C0A80A64: AC的IP地址192.168.10.100的十六进制表示,以字节表示,不包含小数点,十六进制C0转换成10进制为192。

总结:

RFC中对Option 43没有统一规定,不同厂商的AP对OPTION43选项的定义格式未必兼容。