问题描述
在 WLAN 中,当 AP 上线时,需要获取 AC 的网络地址,以与 AC 间建立 CAPWAP 隧道。
但是,在大型的三层组网中,可能存在两个问题:
1)AP 无法获取 IP 地址:在大型的三层组网中,DHCP Server 与 DHCP Client 在不同的广播域中,此时 AP 无法通过广播向 DHCP Server 请求分配地址,进而导致 AP 无法与 AC 进行通信;
2)AP 无法获知 AC 的 IP 地址:同样鉴于 AC 与 AP 不在同一个广播域,AP 无法通过广播的方式发现 AC(IP 地址),仍旧导致 CAPWAP 隧道无法建立成功;
解决方案
AP 无法获取 IP 地址
随着网络规模的不断扩大,网络设备不断增多,企业内不同的用户可能分布在不同的网段,一台DHCP服务器在正常情况下无法满足多个网段的地址分配需求。企业内网各个网段通常都没有与DHCP Server在同一个二层广播域内,如果还需要通过DHCP服务器分配IP地址,则需要跨网段发送DHCP协议报文。
DHCP Client 使用 IP Broadcast 来寻找在同网段上的 DHCP Server。当 DHCP Server 和 DHCP Client 处在不同网段,即被路由器分割开来时,路由器是不会转发这样的广播包。
DHCP Relay 能够跨网段“透传”DHCP报文,使得同个 DHCP Server 同时为多个网段服务成为可能。
AP 无法获知 AC 的 IP 地址
当 AC 和 AP 间是三层组网时,AP 通过发送广播请求报文的方式无法发现 AC 的网络。这时需要通过 DHCP 服务器回应给 AP 的报文中携带的 Option 43(for IPv4,Option 52 for IPv6)字段来通告 AC 的 IP 地址。但 AP 通过 DHCP 报文中的 Option 43 选项字段获取 AC 的 IP 地址后,可以进一步完成 CAPWAP 隧道的建立,从而实现 AP 上线流程。
在 AC 和 AP 间是二层组网的情况下,也可以配置 Option 43 字段,AP 会根据 Option 43的内容先向指定 IP 地址的 AC 发送单播请求报文。如果发送十次报文,AP 都没有收到回应,则 AP 会继续以广播的方式来发现同网段的 AC 设备。所以,在二层组网的情况下 Option 43 不是必配的参数,但在三层组网的情况下则是必配的。
AC.IP-Address = 10.23.101.2,AP.Gateway = 10.23.100.1
AP 通过 DHCP 的方式从 IP Pool Huawei1 中获取网络地址,此时 DHCP服 Server 通过 option 43 选项字段向 AP 通告 AC 的网络地址。
配置示例
Huawei
// 配置 Option 43 方法: [AC-ip-pool-AP] option 43 sub-option 1 hex hex-string // 通过AC地址的16进制格式配置AC地址。 [AC-ip-pool-AP] option 43 sub-option 2 ip-address ip-address // 通过AC的IP地址直接配置。 [AC-ip-pool-AP] option 43 sub-option 3 ascii ascii-string // 通过AC地址的ASCII格式配置。
以AC或交换机配置DHCP服务器为例。大型组网中,通常都是使用独立的DHCP服务器,实际上AC或交换机也可以作为DHCP服务器。然后选择下面的某条命令配置Option43 即可:
1)option 43 sub-option 1 hex C0A80001C0A80002:配置设备为AP指定AC的IP地址为192.168.0.1和192.168.0.2。其中,“C0A80001”表示IP地址192.168.0.1的十六进制格式,“C0A80002”表示IP地址192.168.0.2的十六进制格式。
2)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。
3)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,选项使用ASCII字符串类型时,如果要配置多个IP地址,IP地址之间要使用“,”隔开。