leiiwang

Linux网络工具学习之:IP命令学习7

标签(空格分隔): 网络


本文旨在通过IP命令介绍和学习Linux网络的相关知识

1. 概述

3. ip addr

4 ip addrlabel

5 ip route

6 ip rule

7 ip neighbour

7.1 概述

ip-neighbour - neighbour/arp tables management.缩写 neighbour、neighbor、neigh、n

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

[root@10-10-229-73 ~]# ip neigh help
Usage: ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR ]
          [ nud { permanent | noarp | stale | reachable } ]
          | proxy ADDR } [ dev DEV ]
       ip neigh {show|flush} [ to PREFIX ] [ dev DEV ] [ nud STATE ]

参考

7.2 ip neighbour add / change / replace

添加/修改/替换一个新的邻接条目; 缩写:add、a;change、chg;replace、repl

|参数|说明| |-|- |to ADDRESS(default) |相邻的协议地址。可以是IPv4或者IPv6。 |dev NAME |和相邻节点连接的设备。 |lladdr LLADDRESS |邻居的链路层地址。LLADDRESS可以为空。 |nud NUD_STATE |邻接条目的状态。nud是Neighbour Unreachability Detection的缩写。可能的状态见下

|ARP cache entry state| meaning| action if used |-|-|- |permanent| never expires; never verified邻接条目永远有效并且只能由管理员删除| reset use counter |noarp |normal expiration; never verified 在其生命期期满时会被删除。| reset use counter |reachable| normal expiration在超时时间之内,这个邻接条目是有效的| reset use counter |stale| still usable;needs verification |reset use counter; change state to delay

ip neigh show的可能的状态还有 |条目状态|说明 |-|-| |none |网络邻居的状态为空。 |incomplete| 这个邻居正在被解析。 |delay| 一个数据包已经发到处于stale的网络邻居,内核在等待应答信息。 |probe delay |计时器过期,还没有收到确认信息。内核开始使用ARP/NDISC消息包探测这个网络邻居。 |failed| 解析失败。

在设备eth0上,为地址10.0.0.3添加一个permanent ARP条目: 
ip neigh add 10.0.0.3 lladdr 0:0:0:0:0:1 dev eth0 nud perm

把状态改为reachable 
ip neigh chg 10.0.0.3 dev eth0 nud reachable

7.3 ip neighbour delete

删除一个邻接条目; 缩写:delete、del、d

这个命令的参数和ip neigh add命令的相同,只不过lladdr和nud将被忽略。

删除设备eth0上的一个ARP条目10.0.0.3 
ip neigh del 10.0.0.3 dev eth0

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

7.4 ip neighbour show

显示网络邻居的信息; 缩写:show、list、sh、ls

duznet@alisa:~ $ ip neigh ls
:: dev lo lladdr 00:00:00:00:00:00 nud noarp
fe80::200:cff:fe76:3f85 dev eth0 lladdr 00:00:0c:76:3f:86 router 
    nud stale
0.0.0.0 dev lo lladdr 00:00:00:00:00:00 nud noarp
193.233.7.254 dev eth0 lladdr 00:00:0c:76:3f:85 nud reachable
193.233.7.85 dev eth0 lladdr 00:e0:1e:63:39:00 nud stale
kuznet@alisa:~ $

    
-statistics选项可以显示很多有用的信息。例如:

kuznet@alisa:~ $ ip -s n ls 193.233.7.254
193.233.7.254. dev eth0 lladdr 00:00:0c:76:3f:85 ref 5 
    used 12/13/20 nud reachable
kuznet@alisa:~ $

输出信息里面多了ref和用斜缸分开的三个时间。ref表示有多少用户使用这个
条目;三个时间分别是使用时间、确认时间和刷新时间。因此,上面输出中的时间
表示:

7.5 ip neighbour flush

清除邻接条目, 缩写:flush、f

这个命令用来清除符合某个条件的邻接表条目。这个命令的参数和ip neigh sh相同。不同之处是,如果没有参数,它什么也 不会做。而且,默认情况下,被删除的条目不包括处于permanent和noarp状态的条 目。

netadm@alisa:~ # ip -s -s n f 193.233.7.254
193.233.7.254 dev eth0 lladdr 00:00:0c:76:3f:85 ref 5 
    used 12/13/20 nud reachable

*** Round 1,deleting 1 entries ***
*** Flush is complete after 1 round ***
netadm@alisa:~ #
comments powered by Disqus