背景
當AP和AC在同一個網段時,AP會主動發送廣播報文,就能直接找到網段內的AC。當AP和AC在不同網段時,廣播報文無法跨網段傳播,只能在AP上指定AC IP地址,AP才能找到AC進行上線。
如果AP數量只有幾個,可以採用簡單的、手工指定AC的方式,就是登陸AP,並在AP上敲入指定AC的命令。如果AP數量多,手工指定AC的方式,操作複製,工作量大,就不適用了,得用批量指定AC的方式,即通過DHCP option 43字段,指定AC IP地址,實現AP批量上線。
option 43
option 43是一個自定義選項,用於表示AC IP地址。AP通過DHCP的option 43字段,獲取AC IP地址信息,再發送單播報文找到對應AC,實現AP的零配置上線。這裡說的AP,都是指FIT AP。
使用option 43有前提條件,即AP和DHCP服務器路由可達,確保AP能跟DHCP服務器正常交互報文;AP和AC路由可達,確保AP能跟AC交互報文。
option 43格式
option 43的值,有三種表示法:十六進制、十進制和ASCII碼。舉個栗子,AC IP地址為192.168.100.1時,用十六進制表示時,值為c0a86401;用十進制表示時,值為192.168.100.1;用ASCII碼錶示時,值為3139322e3136382e3130302e31,其中“.”對應2e。最常見的格式是十六進制值,也是兼容性最好的。
有時,還會配合option 60字段使用,option 60表示設備廠商名稱。
華為配置option 43
以華為設備為例,配置option 43,AC IP地址是192.168.100.1。
dhcp server option 43 hex 0104c0a86401
其中,01表示類型1,華為一共有三種類型,即十六進制、十進制、ASCII碼。04表示字段長度,每個IP地址佔4個字節,計算公式是IP地址個數乘4。c0a86401是192.168.100.1的十六進制數。
華三配置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表示類型,是固定值。07表示後面內容的長度,也是說後面有7個十六進制數,有一個AC IP地址。如果值為0B,表示後面有11個十六進制數,即兩個AC IP地址。0000表示服務類型,是固定值。01表示後面IP地址的個數。c0a86401是192.168.100.1的十六進制數。
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
其中,f1表示類型,是固定值。04表示後面內容長度,即4個十六進制數,有一個AC IP地址。c0a86401是192.168.100.1的十六進制數。
Linux ISC DHCP服務器配置option 43
以Linux ISC DHCP服務器為例,配置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服務器配置option 43
以Windows DHCP服務器為例,配置option 43,AC IP地址是192.168.22.1。
進入Window DHCP服務器配置界面
在“二進制”里寫入十六進制數
其中,03表示類型3,0C表示後面內容的長度,也是說後面有12個十六進制數,把192.168.22.1當做字符串,並轉成十六進制。31 39 32 2E 31 36 38 2E 32 32 2E 31就是IP地址192.168.22.1對應的ASCII碼。0-9分別對應30-39,“.”對應2E。“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的格式,兩個字符之間需要用冒號隔開。
其中,03表示類型3,08表示後面內容的長度,也是說後面有8個十六進制數,把10.6.2.1當做字符串,並轉成十六進制。31:30:2e:36:2e:32:2e:31就是IP地址10.6.2.1對應的ASCII碼。
最後
上述option 43配置,僅用於舉例說明。實際使用時,需要分別查看DHCP服務器和AP的產品說明,使用都能匹配的格式或者類型,才能保證AP能夠識別option 43的內容。比如:配置aruba ap時,可以直接在Infoblox上填寫AC IP地址,比如:192.168.100.1,而不需要轉換格式。