Chinaunix首页 | 论坛 | 博客
  • 博客访问: 318955
  • 博文数量: 45
  • 博客积分: 2079
  • 博客等级: 上尉
  • 技术积分: 464
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-03 16:57
文章分类

全部博文(45)

文章存档

2015年(1)

2013年(1)

2012年(9)

2011年(2)

2010年(32)

分类: 网络与安全

2013-04-03 11:19:37

免费ARP报文是一种特殊的ARP报文,该报文中携带的发送端IP地址和目标IP地址都是本机IP地址,报文源MAC地址是本机MAC地址,报文的目的MAC地址是广播地址。
 
设备通过对外发送免费ARP报文实现以下功能:

1 、确定其它设备的IP地址是否与本机的IP地址冲突。

当其它设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址相同,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。

 2、设备改变了硬件地址,通过发送免费ARP报文通知其它设备更新ARP表项。
 
免费ARP报文学习功能的作用:

使能了免费ARP报文学习功能后,设备会根据收到的免费ARP报文中携带的信息(源IP地址、源MAC地址)对自身维护的ARP表进行修改。

设备先判断ARP表中是否存在与此免费ARP报文源IP地址对应的ARP表项:

 如果没有对应的ARP表项,设备会根据该免费ARP报文中携带的信息新建ARP表项;
 如果存在对应的ARP表项,设备会根据该免费ARP报文中携带的信息更新对应的ARP表项。
 

关闭免费ARP报文学习功能后,设备不会根据收到的免费ARP报文来新建ARP表项,但是会更新已存在的对应ARP表项。

如果用户不希望通过免费ARP报文来新建ARP表项,可以关闭免费ARP报文学习功能,以节省ARP表项资源。

 
2. 定时发送免费ARP功能的作用
定时发送免费ARP功能可以及时通知下行设备更新ARP表项或者MAC地址表项,主要应用场景如下:
 
(1)        防止仿冒网关的ARP攻击
 
如果攻击者仿冒网关发送免费ARP报文,就可以欺骗同网段内的其它主机,使得被欺骗的主机访问网关的流量,被重定向到一个错误的MAC地址,导致其它主机用户无法正常访问网络。
 
为了尽量避免这种仿冒网关的ARP攻击,可以在网关的接口上使能定时发送免费ARP功能。使能该功能后,网关接口上将按照配置的时间间隔周期性发送接口主IP地址和手工配置的从IP地址的免费ARP报文。这样,每台主机都可以学习到正确的网关,从而正常访问网络。
 
(2)        防止主机ARP表项老化
 
在实际环境中,当网络负载较大或接收端主机的CPU占用率较高时,可能存在ARP报文被丢弃或主机无法及时处理接收到的ARP报文等现象。这种情况下,接收端主机的动态ARP表项会因超时而被老化,在其重新学习到发送设备的ARP表项之前,二者之间的流量就会发生中断。
 
为了解决上述问题,可以在网关的接口上使能定时发送免费ARP功能。使能该功能后,网关接口上将按照配置的时间间隔周期性发送接口主IP地址和手工配置的从IP地址的免费ARP报文。这样,接收端主机可以及时更新ARP映射表,从而防止了上述流量中断现象。
 
(3)        防止VRRP虚拟IP地址冲突
 
当网络中存在VRRP备份组时,需要由VRRP备份组的Master路由器周期性的向网络内的主机发送免费ARP报文,使主机更新本地ARP地址表,从而确保网络中不会存在IP地址与VRRP虚拟IP地址相同的设备。
 
由于用户可以设定VRRP虚拟IP地址和MAC地址对应关系,因此有以下两种情况:
 
 如果当前VRRP虚拟IP地址和虚拟MAC地址对应,则免费ARP报文中的源MAC地址为VRRP虚拟路由器对应的虚拟MAC地址。
 如果当前VRRP虚拟IP地址和实际MAC地址对应,则免费ARP报文中的源MAC地址为VRRP备份组中Master路由器接口的MAC地址。


11. 清除所有arp缓存
arp -n|awk '/^[1-9]/ {print "arp -d "$1}'|sh

12. 绑定已知机器的arp地址
cat /proc/net/arp | awk '{print $1 " " $4}' |sort -t. -n +3 -4 > /etc/ethers  
arp -s 192.168.1.1(若是网关且有hostname,则要写成hostname)00:07:E9:2A:6F:C6 


阅读(1896) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~