zoukankan      html  css  js  c++  java
  • arp_ignore和arp_announce内核参数

    arp_announce : INTEGER

    对网络接口上本地IP地址发出的ARP报文作出相应级别的限制。

    0:本机所有IP地址都向任何一个接口通告ARP报文

    1:尽量仅向该网卡回应与该网段匹配的ARP报文

    2:只向该网卡回应与该网段匹配的ARP报文

    arp_ignore : INTEGER

    定义对目标地址为本地IP的ARP询问不同的应答模式。

    0:响应任意网卡上接收到的对本机IP地址的arp请求(包括环回网卡上的地址),而不管该目的IP是否在接收网卡上。

    1:只响应目的IP地址为接收网卡上的本地地址的arp请求。

    2:只响应目的IP地址为接收网卡上的本地地址的arp请求,并且arp请求的源IP必须和接收网卡同网段。

    3:如果ARP请求数据包所请求的IP地址对应的本地地址其作用域(scope)为主机(host),则不回应ARP响应数据包,如果作用域为全局(global)或链路(link),则回应ARP响应数据包。

    4~7:预留。

    8:不回应所有的arp请求。

    修改方法

    临时修改方法:

     1. 修改/proc文件系统:

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

     2. 使用sysctl -w直接写入内存:

     sysctl -w net.ipv4.conf.all.arp_ignore=1
     sysctl -w net.ipv4.conf.eth0.arp_ignore=1
     sysctl -w net.ipv4.conf.all.arp_announce=2
     sysctl -w net.ipv4.conf.eth0.arp_announce=2
     
    永久修改需要写入配置文件:
    修改/etc/sysctl.conf文件,然后sysctl -p刷新到内存。
     net.ipv4.conf.all.arp_ignore=1
     net.ipv4.conf.eth0.arp_ignore=1
     net.ipv4.conf.all.arp_announce=2
     net.ipv4.conf.eth0.arp_announce=2
    备注:

    arp_ignore和arp_announce参数分别有all,default,lo,eth0等对应不同网卡。当all和具体网卡的参数值不一致时,配置为较大值的生效。一般只需修改all和某个具体网卡的参数即可。

  • 相关阅读:
    C++格式化输入输出
    算法的时间复杂度和空间复杂度
    C++编程中const和#define的区别
    C#中结构体和类的区别
    SQL之删除触发器
    Windows添加和取消右键管理员权限
    SQL之trigger(触发器)
    SQL VIEW(视图)
    二分查找的实现
    C++中this指针
  • 原文地址:https://www.cnblogs.com/chia/p/7799071.html
Copyright © 2011-2022 走看看