温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ARP报文与arp_ignore arp_announce

发布时间:2020-07-19 15:43:47 来源:网络 阅读:3848 作者:ouziyou520 栏目:网络安全

背景:

(1)根据缺省的TCP/IP协议栈处理,响应报文的源地址等于请求报文的目的IP。

(2)关于ARP表: IP、MAC、网络接口的映射表;列表中的IP都属于本设备所在的网段,发送/转发非本地网段时候是通过网关,所以只需要使用网关对应的MAC即可。

(3)ARP条目更新的条件(满足任意一个即可): 

1、收到ARP request:目的MAC是广播,且Target IP是本机上的IP;(这里说Target IP是为了与目的IP区分

2、收到ARP reply:目的MAC是广播或本机MAC,且ARP表中已经存在该条目;(如免费ARP报文和自身发出请求后的应答)

关于上述提到的Target IP,指的是ARP报文中请求的目标IP,ARP报文不属于IP报文,具体结构如下图:(不纠结ARP协议属于二层还是三层协议)


ARP报文与arp_ignore arp_announce


      由于是请求目标IP的MAC,所以Target MAC为全0待填充,这里需要注意的是ARP报文的目的MAC与Target MAC,由于报文是以广播形式发送,所以二层的目的MAC是全F,而请求的Target MAC是属于三层上的数据,全0待填充;Target MAC只是Wireshark的显示,实际数据包是直接把四个值连在一起。APP reply报文则是单播,结构跟ARP request一样,目的MAC改成ARP request的源MAC,三层数据上,则把请求的MAC填上,所有源和目的对调,就是说,Sender MAC会等于源MAC,Target MAC等于目的MAC。


(4)免费ARP:可用于检测IP冲突和更新ARP条目,每次设置新IP和启动网络服务的时候会发送。

二层:源MAC为发送者MAC,目的MAC为全F

三层: 首先会发4个(Windows发3个,隔秒发送)Sender IP为全0的ARP包;没有IP冲突的情况下,Linux(CentOS 6.4)会先发送一个Target MAC=Sender MAC=源MAC、Target IP=Sender IP=发送者IP的免费ARP包,接着发送一个Target MAC=F、其他跟前一个包相同的免费ARP包;Windows(Win10)则只发送一个Target MAC=0、Sender MAC=源MAC、Target IP=Sender IP=发送者IP的免费ARP包


正题:


在配置LVS负载均衡架构的时候需要在RealServer上抑制ARP,具体是arp_ignore=1,arp_announce=2

arp_ignore: (回应ARP)

0:回应任何网口上收到的对任何本机IP地址的ARP查询请求(默认) 

1:只回应Target IP是接收网口的IP的ARP查询请求 

2:只回应Target IP是接收网口的IP的ARP查询请求,且Sender IP必须与该网口属于同一网段 

4-7:保留未使用  

8:不回应所有的arp查询 

 

arp_announce: (选择ARP宣告时候使用的Sender IP)

0:使用发送(或转发)的数据包的源IP作为发送ARP请求的Sender IP(默认) ;(可使用ping -I 验证)

1:IP数据包的目的IP属于本地某个接口的网段时,Sender IP则使用IP数据包源IP,不属于则按2处理; 

2:忽略数据包的源IP,使用能与目标主机会话的最佳地址来作为发送ARP的Sender IP,优先选择对外接口的主IP;(loopback不是对外接口)

注:ARP表没有网关对应的条目时,在发送IP数据包前会触发 arp_announce;

        Sender MAC跟系统无关,Sender MAC=源MAC,源MAC由物理地址决定,网络***除外。


向AI问一下细节
推荐阅读:
  1. 防止ARP欺骗
  2. arp欺骗

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI