如何在Linux下关闭ARP协议

方法一:临时关闭ARP协议

echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

方法二:永久关闭ARP协议

net.ipv4.conf.ens33.arp_ignore = 1

net.ipv4.conf.ens33.arp_announce = 2

或:

net.ipv4.conf.ens33.arp_ignore = 1

net.ipv4.conf.ens33.arp_announce = 2

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

参数说明:

arp_ignore 为:1  #  - 只回答目标IP地址是访问本网络接口(ens33)的ARP查询请求。

在设置参数的时候将arp_ignore 设置为1,意味着当别人的arp请求过来的时候,如果接收的网卡设备上面没有这个ip,就不做出响应,默认是0,只要这台机器上面任何一个网卡设备上面有这个ip,就响应arp请求,并发送mac地址。

 

arp_announce 为2 #  - 对查询目标使用最适当的本地地址。例如,如果在ens33接口上接受到了一个VIP的arp请求包。内核判断这个VIP地址是不是ens33接口上的IP一样。如果一样,则回复这个包。如果不一样,就丢弃不回应。

posted @ 2020-01-31 00:45  小东东的奇妙物语  阅读(1265)  评论(0编辑  收藏  举报