【华为路由的arp配置】
华为路由的arp配置
ARP:IP地址与MAC地址的映射。
R1: g0/0/0:10.1.1.254/24
g0/0/1:10.1.2.254/24
PC1: 10.1.1.1/16
PC2: 10.1.1.2/16
PC3: 10.1.2.3/16
动态ARP
查看PC1的arp表,可以看到,列表为空。
查看R1的arp表
在PC3上ping命令测试R1,然后e0/0/1抓包,下图是首次发送的广播请求,请求目标的MAC地址
网关收到请求后,回应ARP请求
此时,在pc3上的arp表中就有了对应的arp信息
同时,R1上也有对应的信息(10.1.1.1的mac也是ping命令产生的,操作并未截图)
上述在PC和R1中的信息都是自动生成,一段时间没有更新,会自动删除。
静态ARP
如下图,在R1上用arp static添加一条错误的静态路由,那么原本通信的网络会中断,
抓包发现,发往10.1.1.1的包,被封装的是改过后的错误的MAC地址。
使用undo删除错误的映射
应对上述的arp攻击,一般是在arp表中人工添加映射关系。
代理ARP
此网络拓扑被R1分割成两个独立广播域,每个接口对应一个网络,分别是10.1.1.0/24和10.1.2.0/24
在PC2上ping命令测PC3,在默认代理关闭的情况下不能通信,PC2上抓包观察
由上图抓包可知,在两个广播域内,请求无法跨越中间路由器,PC3无法收到arp请求,PC2无法获得PC3的MAC地址,从而导致数据封装失败。
在R1开启arp代理之后,抓包观察(关闭 undo arp-proxy enable)。
[R1-GigabitEthernet0/0/0]arp-proxy enable
回复包里面的目标MAC信息已经可以看到,在PC2上观察arp表也可以看到。
可以观察到,从10.1.1.2发出的请求并不是立刻收到回应的,是因为g0/0/0接口开启了代理后,首先还是在自身所在广播域找arp表,没有找到的情况下,又找了路由表。
找到了g0/0/1所代表的10.1.2.0/24网络。还是观察下面的抓包数据,src为10.1.2.3时候,src所携带的MAC为 00e0-fc50-20d0 ,这个MAC不是PC3,而是g0/0/0,PC2与PC3通信携带的是g0/0/0的MAC。
同理,PC3如果要和PC2通信,则需要再g0/0/1开arp代理。
当然,这种靠路由器分割网络的方式并不常见。虽然能降低每个广播域的影响,但是延迟增大。