DHCP option 43 是什麼?

背景

當 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 地址,而不需要轉換格式。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/wtEwh5pfqrS3omyiGW8reA