命令解释
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
这个命令的具体含义是:
echo 1:将值1写入文件。
/proc/sys/net/ipv4/conf/all/arp_ignore:将值1写入 /proc/sys/net/ipv4/conf/all/arp_ignore 文件,从而修改内核参数。
效果:
设置 arp_ignore 为1后,内核将只响应来自目标IP地址所在接口的ARP请求。这可以减少不必要的ARP响应,提高网络安全性,尤其是在多接口或多子网的环境中。
0:(默认值)响应所有接口上的ARP请求。
1:当目标IP地址是本地接口的IP地址时,仅响应来自该接口的ARP请求。
2:当目标IP地址是本地接口的IP地址时,仅响应来自该接口的ARP请求,并且仅当请求的源IP地址是该接口的直接子网中的IP地址时。
3:当目标IP地址是本地接口的IP地址时,仅响应来自该接口的ARP请求,并且仅当请求的源IP地址是该接口的直接子网中的IP地址时,且请求的源MAC地址是该接口的MAC地址。
4:当目标IP地址是本地接口的IP地址时,仅响应来自该接口的ARP请求,并且仅当请求的源IP地址是该接口的直接子网中的IP地址时,且请求的源MAC地址是该接口的MAC地址或广播MAC地址。
5:当目标IP地址是本地接口的IP地址时,仅响应来自该接口的ARP请求,并且仅当请求的源IP地址是该接口的直接子网中的IP地址时,且请求的源MAC地址是该接口的MAC地址或广播MAC地址或零MAC地址。
6:当目标IP地址是本地接口的IP地址时,仅响应来自该接口的ARP请求,并且仅当请求的源IP地址是该接口的直接子网中的IP地址时,且请求的源MAC地址是该接口的MAC地址或广播MAC地址或零MAC地址或任何单播MAC地址。
7:当目标IP地址是本地接口的IP地址时,仅响应来自该接口的ARP请求,并且仅当请求的源IP地址是该接口的直接子网中的IP地址时,且请求的源MAC地址是该接口的MAC地址或广播MAC地址或零MAC地址或任何单播MAC地址或任何组播MAC地址。
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
0:(默认值)使用任何可用的接口地址来生成ARP请求。
1:仅使用目标子网中的地址来生成ARP请求。如果目标子网中的地址不可用,则使用任何可用的接口地址。
2:仅使用目标子网中的地址来生成ARP请求。如果目标子网中的地址不可用,则不生成ARP请求。
区别总结:
arp_ignore:
控制内核如何响应ARP请求。
设置为1时,内核只响应来自目标IP地址所在接口的ARP请求。
适用于减少不必要的ARP响应,提高网络安全性。
arp_announce:
控制内核如何生成ARP请求。
设置为2时,内核只使用目标子网中的地址来生成ARP请求,如果目标子网中的地址不可用,则不生成ARP请求。
适用于减少不必要的ARP广播,提高网络的安全性和效率。
sysctl -w net.core.rmem_default=536870912
sysctl -w net.core.wmem_default=268435456
sysctl -w net.core.rmem_max=536870912
sysctl -w net.core.wmem_max=268435456
设置缓存区大小