linux配置ARP内核参数,Linux 内核参数 arp_ignore & arp_announce 详解

arp_ignore定义了对目标地址为本机IP的ARP询问的不同应答模式。arp_announce对网络接口(网卡)上发出的ARP请求包中的源IP地址作出相应的限制;主机会根据这个参数值的不同选择使用IP数据包的源IP或当前网络接口卡的IP地址作为ARP请求包的源IP地址。arp_ignore在内核参数中除了每个网卡都有自己的arp_ignore配置外,还有两个(一个是默认default,一个是全...
摘要由CSDN通过智能技术生成

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

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 内核中,与 ICMP 相关的参数主要有以下几个: 1. icmp_echo_ignore_all:该参数控制是否忽略所有 ICMP 回显请求(ping命令)。如果该参数的值为 1,则内核将忽略所有 ICMP 回显请求;如果该参数的值为 0,则内核将响应所有 ICMP 回显请求。该参数的默认值为 0。 2. icmp_echo_ignore_broadcasts:该参数控制是否忽略广播地址的 ICMP 回显请求。如果该参数的值为 1,则内核将忽略广播地址的 ICMP 回显请求;如果该参数的值为 0,则内核将响应广播地址的 ICMP 回显请求。该参数的默认值为 1。 3. icmp_ignore_bogus_error_responses:该参数控制是否忽略针对不存在连接或已经关闭的连接的 ICMP 差错报文。如果该参数的值为 1,则内核将忽略这些 ICMP 差错报文;如果该参数的值为 0,则内核将向发送 ICMP 差错报文的主机发送一个 ICMP 差错报文。该参数的默认值为 0。 4. icmp_ratelimit:该参数控制 ICMP 差错报文的速率限制。如果内核在一秒钟内接收到太多的 ICMP 差错报文,则会将多余的报文丢弃。该参数的默认值为 1000 次/秒。 5. icmp_ratemask:该参数用来设置对某些 ICMP 差错报文进行速率限制。例如,如果想对 ICMP 目标不可达报文进行限制,则可以将 icmp_ratemask 参数的值设置为 0x00000002。默认情况下,该参数的值为 0xFFFFFFFF,表示对所有的 ICMP 差错报文进行限制。 6. icmp_errors_use_inbound_ifaddr:该参数控制 ICMP 差错报文中使用的源 IP 地址。如果该参数的值为 1,则 ICMP 差错报文中使用的源 IP 地址为接收该报文的网络接口的 IP 地址;如果该参数的值为 0,则 ICMP 差错报文中使用的源 IP 地址为发送该报文的网络接口的 IP 地址。该参数的默认值为 0。 需要注意的是,这些参数的修改需要具有 root 权限,可以通过 sysctl 命令进行修改,例如: ``` sysctl -w net.ipv4.icmp_echo_ignore_all=1 ``` 该命令将忽略所有的 ICMP 回显请求。如果需要永久生效,可以将修改写入 /etc/sysctl.conf 文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值