2.2 原理说明
当某个接口启用了 ARP 授权,那么这个接口将关闭 ARP 动态学
习功能,也就是它不会再发送 ARP REQUEST 包去查询别人的 MAC 地
址,所以也不能动态形成 ARP 表项。我们知道,数据帧在封装时,如
果在 ARP 表里找不到目的地的 MAC 地址,那么会导致封装失败,这
个帧是无法发出去的,也就是说不能和对方通信。
那么问题来了,如果网关路由器开启了 ARP 授权后不能动态学习
ARP 条目,不是会造成所有终端无法正常和网关正常通信了吗?难不
成在网关上一条条手工添加?当然不是这样,要不然今天的话题就没
有意义了。前面说了,ARP 授权是需要搭配 DHCP Server 来使用的,
也说是说在开启 ARE 授权的路由器上我们还要配置 DHCP 服务器,而
且终端需要动态获取 IP 地址。
相信大家都知道 DHCP 的原理,DHCP Client 广播 Discover 包时,
会提供自己的 MAC 地址给 DHCP Server,而 Server 单播回 Offer 时,
会带上需要分配给 Client 的各种信息,比如下发的 IP 地址、网关、
DNS 或者其它的一些 Options,那么也就是说 DHCP 服务器是肯定知
道每个 Client 的 MAC 地址,也知道为哪个 MAC 地址分配了哪个 IP 地
址的。
有了 DHCP 后,事情就简单了。我们只需要在 DHCP 服务器进程
为客户端下发地址时,把客户端的 MAC 地址和将要下发给客户端的
IP 地址告诉给开启 ARP 授权的接口,接口再把 IP 和 MAC 的对应情况
关联到自己的 ARP 表中,就可以保证该接口可以和这些 DHCP Client