ip neighbour命令

用法

邻接(neighbour)对象实现同一网段协议地址和链路层地址的绑定。在内核中,这些条目被组织到表中。IPv4的相邻表也被叫做ARP表。ip neighbour命令支持对条目及其属性的显示、添加和删除。

ip [ OPTIONS ] neigh  { COMMAND | help }

ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR ] [ nud { permanent | noarp | stale | reachable } ] | proxy ADDR } [ dev DEV ]

ip neigh { show | flush } [ proxy ] [ to PREFIX ] [ dev DEV ] [ nud STATE ]

ip neighbour add -- 添加一个新的邻接条目
ip neighbour change--修改一个现有的条目
ip neighbour replace--替换一个已有的条目

显示邻居信息

[root@pxe-client2 ~]# ip neigh
172.16.4.8 dev eth0 lladdr 78:2b:cb:0c:e0:50 REACHABLE
172.16.4.252 dev eth0 lladdr 58:bc:27:49:e4:4a STALE
  • to ADDRESS(default):相邻的协议地址。可以是IPv4或者IPv6。

  • dev NAME:和相邻节点连接的设备。

  • lladdr LLADDRESS:邻居的链路层地址。LLADDRESS可以为空。

  • nud NUD_STATE 邻接条目的状态。nud 是Neighbour Unreachability

    Detection 的缩写。nud all 表示所有的状态。这个选项可以使用多次。如果缺少这个选项,ip 会列出除none和noarp 状态的所有条目。可能的状态包括:

    • none:网络邻居的状态为空。

    • incomplete:这个邻居正在被解析。

    • reachable:网络邻居有效并且可达。

    • stale:邻居有效,但是可能不可达。因此,内核将在首次传输时进行检查。

    • delay:一个数据包已经发到处于stale 的网络邻居,内核在等待应答信息。

    • probe:delay 计时器过期,还没有收到确认信息。内核开始使用ARP/NDISC消息包探测这个网络邻居。

    • failed:解析失败。

    • noarp:网络邻居有效,不必检查。

    • permanent:这是一个noarp 条目,只有系统管理员可以从邻接表中把它删除。

    • 在IPV6网络邻居可以有一个叫做router 的标志,它表示这个节点是一个IPv6路由器。

使用nud all来显示所有的邻居信息。

使用-statistics选项可以显示很多有用的信息

输出信息里面多了ref和用斜缸分开的三个时间。ref表示有多少用户使用这个条目;三个时间分别是使用时间、确认时间和刷新时间。上例表示条目5秒之前使用过,0秒之前确认过,3秒之前被更新过了。

增加邻居信息

在设备eth0上,为地址10.0.0.3添加一个permanent ARP条目

删除邻居信息

执行了删除命令之后,被删除的条目不会马上消失,它会在系统的下次垃圾收集时被删除。如果被操作的条目正在使用,将不能被删除。

如果试图删除或者手工修改一个由内核建立的noarp 条目,会导致一些不可预知的行为。

也可以使用flash这个命令来删除,其参数和ip neigh sh相同。不同之处是,如果没有参数,它什么也不会做。而且,默认情况下,被删除的条目不包括处于permanent和noarp状态的条目。

Last updated

Was this helpful?