arp_ignore定义了对目标地址为本机IP的ARP询问的不同应答模式。
arp_announce对网络接口(网卡)上发出的ARP请求包中的源IP地址作出相应的限制;主机会根据这个参数值的不同选择使用IP数据包的源IP或当前网络接口卡的IP地址作为ARP请求包的源IP地址。
arp_ignore
在内核参数中除了每个网卡都有自己的arp_ignore配置外,还有两个(一个是默认default,一个是全局all)需要用到arp_ignore配置。所有配置项如下面的代码段:
net.ipv4.conf.all.arp_ignore
net.ipv4.conf.default.arp_ignore
net.ipv4.conf.lo.arp_ignore
net.ipv4.conf.eth0.arp_ignore
net.ipv4.conf.eth1.arp_ignore
net.ipv4.conf.eth2.arp_ignore
……
如果某个的网络接口(网卡)上没有配置arp_ignore参数的值则会把default上配置的arp_ignore应用到该网络接口上。而在所有网络接口上实际生效的值是 all 和 对应网络接口上配置的arp_ignore参数值中较大的那个值。
arp_ignore参数的值及其含义如下:
0 - (默认值): 回应任何网络接口(网卡)上对任何本机IP地址的arp查询请求。比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对10.1.1.1 的arp查询也会给出正确的回应;而原本这个请求该是出现在eth1上,也该有eth1回应的。
1 - 只回答目标IP地址是本机上来访网络接口(网卡)IP地址的ARP查询请求 。比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对192.168.0.1的查询会回应,而对10.1.1.1 的arp查询不会回应。
2 -只回答目标IP地址是本机上来访网络接口(网卡)IP地址的ARP查询请求,且来访IP(源IP)必须与该网络接口(网卡)上的IP(目标IP)在同一子网段内 。比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,eth1收到来自10.1.1.2这样地址发起的对192.168.0.1的查询不会回应,而对192.168.0.2发起的对192.168.0.1的arp查询会回应。
3 - do not reply for local addresses configured with scope host,only resolutions for global and link addres