DHCP option 43是什么?
背景
當(dāng)AP和AC在同一個(gè)網(wǎng)段時(shí),AP會(huì)主動(dòng)發(fā)送廣播報(bào)文,就能直接找到網(wǎng)段內(nèi)的AC。當(dāng)AP和AC在不同網(wǎng)段時(shí),廣播報(bào)文無法跨網(wǎng)段傳播,只能在AP上指定AC IP地址,AP才能找到AC進(jìn)行上線。

如果AP數(shù)量只有幾個(gè),可以采用簡單的、手工指定AC的方式,就是登陸AP,并在AP上敲入指定AC的命令。如果AP數(shù)量多,手工指定AC的方式,操作復(fù)制,工作量大,就不適用了,得用批量指定AC的方式,即通過DHCP option 43字段,指定AC IP地址,實(shí)現(xiàn)AP批量上線。
option 43
option 43是一個(gè)自定義選項(xiàng),用于表示AC IP地址。AP通過DHCP的option 43字段,獲取AC IP地址信息,再發(fā)送單播報(bào)文找到對(duì)應(yīng)AC,實(shí)現(xiàn)AP的零配置上線。這里說的AP,都是指FIT AP。


使用option 43有前提條件,即AP和DHCP服務(wù)器路由可達(dá),確保AP能跟DHCP服務(wù)器正常交互報(bào)文;AP和AC路由可達(dá),確保AP能跟AC交互報(bào)文。
option 43格式
option 43的值,有三種表示法:十六進(jìn)制、十進(jìn)制和ASCII碼。舉個(gè)栗子,AC IP地址為192.168.100.1時(shí),用十六進(jìn)制表示時(shí),值為c0a86401;用十進(jìn)制表示時(shí),值為192.168.100.1;用ASCII碼表示時(shí),值為3139322e3136382e3130302e31,其中“.”對(duì)應(yīng)2e。最常見的格式是十六進(jìn)制值,也是兼容性最好的。
有時(shí),還會(huì)配合option 60字段使用,option 60表示設(shè)備廠商名稱。
華為配置option 43
以華為設(shè)備為例,配置option 43,AC IP地址是192.168.100.1。
dhcp server option 43 hex 0104c0a86401
其中,01表示類型1,華為一共有三種類型,即十六進(jìn)制、十進(jìn)制、ASCII碼。04表示字段長度,每個(gè)IP地址占4個(gè)字節(jié),計(jì)算公式是IP地址個(gè)數(shù)乘4。c0a86401是192.168.100.1的十六進(jìn)制數(shù)。
華三配置option 43
以華三設(shè)備為例,配置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表示類型,是固定值。07表示后面內(nèi)容的長度,也是說后面有7個(gè)十六進(jìn)制數(shù),有一個(gè)AC IP地址。如果值為0B,表示后面有11個(gè)十六進(jìn)制數(shù),即兩個(gè)AC IP地址。0000表示服務(wù)類型,是固定值。01表示后面IP地址的個(gè)數(shù)。c0a86401是192.168.100.1的十六進(jìn)制數(shù)。
cisco配置option 43
以cisco設(shè)備為例,配置option 43,AC IP地址是192.168.100.1。
Cisco(config)#ip dhcp pool APCisco(dhcp-config)#network 192.168.10.0 /24Cisco(dhcp-config)#default-route 102.168.10.1Cisco(dhcp-config)#option 43 hex f1040c0a86401
其中,f1表示類型,是固定值。04表示后面內(nèi)容長度,即4個(gè)十六進(jìn)制數(shù),有一個(gè)AC IP地址。c0a86401是192.168.100.1的十六進(jìn)制數(shù)。
Linux ISC DHCP服務(wù)器配置option 43
以Linux ISC DHCP服務(wù)器為例,配置option 43和option 60,思科AC IP地址是192.168.247.5,華為AC IP地址是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服務(wù)器配置option 43
以Windows DHCP服務(wù)器為例,配置option 43,AC IP地址是192.168.22.1。
進(jìn)入Window DHCP服務(wù)器配置界面

在“二進(jìn)制”里寫入十六進(jìn)制數(shù)

其中,03表示類型3,0C表示后面內(nèi)容的長度,也是說后面有12個(gè)十六進(jìn)制數(shù),把192.168.22.1當(dāng)做字符串,并轉(zhuǎn)成十六進(jìn)制。31 39 32 2E 31 36 38 2E 32 32 2E 31就是IP地址192.168.22.1對(duì)應(yīng)的ASCII碼。0-9分別對(duì)應(yīng)30-39,“.”對(duì)應(yīng)2E?!癆SCII”無需填入,根據(jù)“二進(jìn)制”內(nèi)容自動(dòng)生成的。
Infoblox DHCP服務(wù)器配置option 43
以Infoblox服務(wù)器為例,配置option 43,AC IP地址是10.6.2.1。
IP地址10.6.2.1轉(zhuǎn)換成03:08:31:30:2e:36:2e:32:2e:31的格式,兩個(gè)字符之間需要用冒號(hào)隔開。

其中,03表示類型3,08表示后面內(nèi)容的長度,也是說后面有8個(gè)十六進(jìn)制數(shù),把10.6.2.1當(dāng)做字符串,并轉(zhuǎn)成十六進(jìn)制。31:30:2e:36:2e:32:2e:31就是IP地址10.6.2.1對(duì)應(yīng)的ASCII碼。
最后
上述option 43配置,僅用于舉例說明。實(shí)際使用時(shí),需要分別查看DHCP服務(wù)器和AP的產(chǎn)品說明,使用都能匹配的格式或者類型,才能保證AP能夠識(shí)別option 43的內(nèi)容。比如:配置aruba ap時(shí),可以直接在Infoblox上填寫AC IP地址,而不需要轉(zhuǎn)換格式。
