ARP代理是ARP协议的一个变种。 对于没有配置缺省网关的计算机要和其他网络中的计算机实现通信,网关收到源计算机的 ARP 请求会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答。
一、前置条件
计算机没有配置缺省网关实现通信的计算机在同一网络号中但是属于不同网段1.1、ARP Proxy(代理)的过程
二、实验拓扑图
三、基本配置
PC1
IP地址:10.10.1.1/16
子网掩码:255.255.0.0
PC2
IP地址:10.10.2.1/16
子网掩码:255.255.0.0
AR1
[Huawei]sys AR1
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip addr 10.10.1.254 24
[AR1-GigabitEthernet0/0/0]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip addr 10.10.2.254 24
显示AR1的mac地址
<AR1>dis arp
四、测试
4.1、现在没有开启ARP代理
PC>ping 10.10.2.1
由上图可知,PC1与PC2链路不通。
在AR1的ge0/0/0接口抓包显示过程。
4.2、现在在AR1上开启ARP代理
在AR1上的两个接口g0/0/0和g0/0/1开启
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]arp-proxy enable
[AR1-GigabitEthernet0/0/0]q
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]arp-proxy enable
4.3、验证
在PC1上ping PC2
PC>ping 10.10.2.1
由上图知悉,PC1可以到达PC2.
在PC1上查看
PC>arp -a
由上图知悉,PC2所拥有的IP地址10.10.2.1对应的MAC地址是00E0-FCEB-491F。
在AR1上查看MAC地址表
<AR1>dis arp
由上图知悉,PC1 ping PC2给PC1返回来的MAC地址是00E0-FCEB-491F,这个地址是PC1连接AR1的接口g0/0/0的MAC地址,并非PC2的MAC地址。
这样实现了路由器AR1接口MAC代理PC2的MAC功能,从而实现不同子网的互通。
4.3、现在我们用抓包的方式查看回包的情况
清除PC1的arp记录
PC1>arp -d
清除PC2的arp记录
PC2>arp -d
清除路由器AR1的arp缓存
<AR1>reset arp all
然后用PC1去ping PC2
PC>ping 10.10.2.1
由上图抓包结果知悉,回复PC1的IP是10.10.2.1,但是MAC地址是路由器与PC1的接口g0/0/0的MAC地址(代理了PC2的MAC地址)。
然后再在PC1上ping 10.10.1.254
再用arp -a在PC1上查看arp表
由上图知悉,路由器AR1的接口g0/0/0与PC1相连的IP地址10.10.1.254和PC2的IP地址10.10.2.1对应的MAC地址相同,都是AR1的00-E0-FC-EB-49-1F。