文前说明
作为码农中的一员,需要不断的学习,我工作之余将一些分析总结和学习笔记写成博客与大家一起交流,也希望采用这种方式记录自己的学习之旅。
本文仅供学习交流使用,侵权必删。
不用于商业目的,转载请注明出处。
1. 概述
- 用来显示或操纵 Linux 主机的路由、网络设备、策略路由和隧道,是 Linux 下较新的功能强大的网络配置工具。
- 命令格式:ip [ OPTIONS ] OBJECT { COMMAND | help }
2. 语法
OPTIONS | 说明 |
---|---|
-V, -Version | 打印版本。 |
-h, -human, -human-readable | 以容易理解的格式输出统计信息。 |
-b, -batch |
从提供的文件或标准输入读取命令并调用,故障将导致终止。 |
-force | 在批处理模式下,出现错误时不终止。在执行命令期间出现任何错误,则应用程序返回码为非零。 |
-s, -stats, -statistics | 输出更多信息。如果该选项出现两次或更多,则信息量会增加。通常,这些信息是统计信息或一些时间值。 |
-d, -details | 输出更详细的信息。 |
-l, -loops |
指定 " IP地址刷新 " 逻辑在放弃之前将尝试的最大循环数。默认值为 10。零(0)表示循环直到删除所有地址。 |
-f, -family |
指定要使用的协议族。协议族标识符可以是 inet、inet6、bridge、ipx、dnet 或 link 之一。 |
-4 | -family inet 的快捷方式。 |
-6 | -family inet6 的快捷方式。 |
-B | -family bridge 的快捷方式。 |
-D | -family dnet 的快捷方式。 |
-I | -family ipx 的快捷方式。 |
-0 | -family link 的快捷方式。 |
-o, -oneline | 将每条记录输出到一行,用 " \ " 字符替换换行符。 |
-r, -resolve | 使用系统的名称解析程序,打印 DNS 名称而不是主机地址。 |
-n, -netns |
将 IP 切换到指定的网络命名空间网络。将 ip netns exec NETNS ip 命令简化。 |
-a, -all | 对所有对象执行指定的命令,取决于命令是否支持此选项。 |
-t, -timestamp | 显示当前时间。 |
-ts, -tshort | 类似 -timestamp,但使用较短的格式。 |
-rc, -rcvbuf |
设置 netlink 套接字接收缓冲区大小,默认为 1MB。 |
-iec | 以 IEC 为单位并且容易理解的格式输出(例如 1Ki = 1024)。 |
-Version
[root@test ]# ip -V
ip utility, iproute2-ss170501
-statistics
[root@test ]# ip -s -s link
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
113376370 41578 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
113376370 41578 0 0 0 0
TX errors: aborted fifo window heartbeat transns
0 0 0 0 0
2: ens192: mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:9c:3a:8e brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
8651526530 40213459 0 62 0 441
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
8167033721 1154173 0 0 0 0
TX errors: aborted fifo window heartbeat transns
0 0 0 0 1
-details
[root@test ]# ip -d link
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
2: ens192: mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:9c:3a:8e brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode none numtxqueues 8 numrxqueues 8 gso_max_size 65536 gso_max_segs 65535
-oneline
[root@test ]# ip -o link
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\ link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens192: mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000\ link/ether 00:0c:29:9c:3a:8e brd ff:ff:ff:ff:ff:ff
-resolve
[root@test ]# ip -r addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet localhost/8 scope host lo
valid_lft forever preferred_lft forever
inet6 localhost/128 scope host
valid_lft forever preferred_lft forever
2: ens192: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:9c:3a:8e brd ff:ff:ff:ff:ff:ff
inet compiler.test.com/21 brd 192.168.103.255 scope global noprefixroute ens192
valid_lft forever preferred_lft forever
inet6 compiler.test.com/64 scope link noprefixroute
valid_lft forever preferred_lft forever
2.1 ip address
- 操作设备上的协议(IPv4 或 IPv6)地址。
- 命令格式:ip [ OPTIONS ] address { COMMAND | help }
COMMAND | 说明 |
---|---|
add | 添加新的协议地址。 |
del | 删除协议地址。 |
show | 查看协议地址。 |
flush | 刷新协议地址。 |
add
- 添加协议地址。
- 命令格式:ip address add IFADDR dev IFNAME
ip address add 192.168.xxx.xxx/24 dev eth0
参数 | 说明 |
---|---|
dev IFNAME | 要将地址添加到的设备的名称。例如 eth0。 |
IFADDR | 接口的地址。地址的格式取决于协议。例如 192.168.xxx.xxx/24。 |
del
- 删除协议地址。
- 命令格式:ip address del IFADDR dev IFNAME
ip address del 192.168.xxx.xxx/24 dev eth0
参数 | 说明 |
---|---|
dev IFNAME | 要将地址添加到的设备的名称。例如 eth0。 |
IFADDR | 接口的地址。地址的格式取决于协议。例如 192.168.xxx.xxx/24。 |
- 设备名称是必需的参数。其余的是可选的。如果没有给出参数,则删除第一个地址。
show
- 显示协议信息。
- 命令格式:ip address [ show [ dev IFNAME ] [ scope SCOPE-ID ] [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ] [ master DEVICE ] [ type TYPE ] [ up ] ]
[root@test ]# ip address show
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:9c:3a:8e brd ff:ff:ff:ff:ff:ff
inet 192.168.xx.xx/21 brd 192.168.xxx.xxx scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 xxxx::xxxx:xxxx:xxxx:xxxx/64 scope link noprefixroute
valid_lft forever preferred_lft forever
参数 | 说明 |
---|---|
dev IFNAME | 要将地址添加到的设备的名称。例如 eth0。 |
scope SCOPE-ID | 仅列出具有此作用域的地址。 |
to PREFIX | 仅列出与此前缀匹配的地址。 |
label PATTERN | 只列出标签与模式匹配的地址。 |
master DEVICE | 仅列出受此主设备控制的接口。 |
type TYPE | 只列出给定类型的接口。 |
up | 只列出正在运行的接口。 |
[root@test ]# ip address show dev ens0
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:9c:3a:8e brd ff:ff:ff:ff:ff:ff
inet 192.168.xx.xx/21 brd 192.168.xxx.xxx scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::5a6b:7460:5c67:b12f/64 scope link noprefixroute
valid_lft forever preferred_lft forever
- 系统有两个接口:lo 和 eth0。
- lo 是环回接口,它的 IP 地址是 127.0.0.1,利用这个接口可以实现系统内部发送和接收数据,例如 ping 127.0.0.1
- eth0 是普通网络接口。
显示定义 | 说明 |
---|---|
<接口标签> | BROADCAST 表示该接口支持广播。MULTICAST 表示该接口支持多播。UP 表示该网络接口已启用。LOWER_UP 表示网络电缆已插入,设备已连接至网络。LOOPBACK 接口不同其他主机交流,仅是自己这个主机使用。POINTTOPOINT 点对点,该链接只有两端,一端收到的请求包会被发送到另一端。PROMISC 混杂模式,即将所有链路上的信息都发给内核,不管是不是本来发给该主机的。ALLMULTI 接收所有链路上的 multicat(多播)包。NOARP 没有特定的意思,其具体意义由具体的网络协议确定。DYNAMIC 表示该接口是动态进行创建和销毁的。SLAVE 表示该接口被绑定在了其他接口上,以共享链路承受能力(share link capacities)。 |
mtu 1500 | 最大传输单位(数据包大小)为 1,500 字节。 |
qdisc | 用于数据包排队算法。 |
state UP | 网络接口已启用。 |
qlen 1000 | 传输队列长度。 |
link/ether 00:0c:29:9c:3a:8e | 接口的 MAC(硬件)地址。 |
brd ff:ff:ff:ff:ff:ff | 广播地址。 |
inet 192.168.xx.xx/21 | IPv4 地址。 |
brd 192.168.xxx.xxx | 广播地址。 |
scope | global 全局有效。site 仅针对 IPv6,表示范围局限于 site。地址值仅在该 site 内有效。link 仅在该设备上有效。host 表示仅在该主机上有效。 |
内核设置的值 | secondary 当为外发的网络包选择默认源地址时不使用该地址。dynamic 地址是动态创建的。deprecated 地址依然有效,但是不能用于新创建的连接。tentative 由于重复地址检测尚未完成或者失败了,该地址无法被使用。 |
valid_lft forever | IPv4/IPv6 地址的有效使用期限。 |
preferred_lft forever | IPv4/IPv6 地址的首选生存期。 |
noprefixroute | 标识不为该地址的网络前缀分配路由,当移除该地址的时候也不去搜索对应的路由。 |
flush
- 刷新协议地址。
- 命令格式:ip address flush [ dev IFNAME ] [ scope SCOPE-ID ] [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ] [ up ]
- 此命令的参数与 show 相同,只是不支持类型选择器和主选择器。
- 当没有给出参数时,不会运行。
- 此命令是不可逆。将清除所有地址。
- 使用 -statistics 选项,命令将变得冗长。它打印出删除的地址数和刷新地址列表所做的查询次数。
- 如果此选项被赋予两次,则 flush 还以 show 中显示的格式转储所有已删除的地址。
2.2 ip route
- 用于操作内核路由表中的条目。
- 命令格式:ip [ OPTIONS ] route { COMMAND | help }
- Linux 2.x 可以将路由打包到多个 路由表 中,这些路由表由 1 到 2^31 之间的数字标识,或者由文件 /etc/iproute2/rt_tables 中的名称标识。
- 默认情况下,所有正常路由都是插入到 main(主表)(ID 254)中,内核仅在计算路由时使用此表。
- 值(0、253、254 和 255)保留为内置使用。
- local(本地表)(ID 255)由本地和广播地址的路由组成,内核自动维护这个表,管理员通常不需要修改它。
- 当使用策略路由时,多个路由表会同时参与进来。
[root@localhost ~]# cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
COMMAND | 说明 |
---|---|
add | 添加新的路由。 |
change | 选择路由。 |
replace | 替换或者新增路由。 |
del | 删除路由。 |
show | 显示路由列表。 |
flush | 刷新路由表。 |
get | 获取一个单一的路由信息。 |
save | 将路由信息保存到 stdout。 |
restore | 从 stdin 还原路由信息。 |
add / change / replace
命令格式:ip route { add | change | replace } ROUTE
ip route add default via 192.168.1.1 dev eth0
参数 | 说明 |
---|---|
to TYPE PREFIX (default) | 路由的目标前缀。如果省略 TYPE,则 ip 采用类型 unicast。如果缺少前缀的长度,则 ip 采用全长主机路由。default 相当于 IP 0/0 或 IPv6:/0。 |
table TABLEID | 要将此路由添加到的表。路由表可以是 /etc/iproute2/rt_tables 中的数字或字符串。如果省略此参数,将使用 main(主表),但本地路由、广播路由和 nat 路由默认情况下被放入 local(本地表) 中。 |
dev NAME | 输出设备名称。 |
via ADDRESS | 下一个路由器的地址。 |
src ADDRESS | 发送到路由前缀覆盖的目标时首选的源地址。 |
realm REALMID | 此路由分配到的域。 |
del
- 选择要删除的路由。
- 命令格式:ip route del ROUTE
ip route del 172.17.160.0/20
show
- 该命令显示路由表的内容或根据某些条件选择的路由。
- 命令格式:ip route show
[root@localhost ~]# ip route show
default via 192.168.xx.1 dev eth0 proto static metric 100
192.168.xx.0/21 dev eth0 proto kernel scope link src 192.168.xx.xx metric 100
参数 | 说明 |
---|---|
protocol RTPROTO | 仅列出此协议的路由。 |
scope SCOPE_VAL | 仅列出此范围的路由。 |
type TYPE | 仅列出此类型的路由。 |
dev NAME | 仅列出通过此设备的路由。 |
via PREFIX | 仅列出通过前缀选择的下一个路由器的路由。 |
src PREFIX | 仅列出按前缀选择了首选源地址的路由。 |
显示定义 | 说明 |
---|---|
路由选择器 | default 是默认路由选择。仅从给定的目的地范围选择路由。选择器由可选修饰符(根、匹配或精确)和前缀组成。 |
metric 100 | 跳跃计数,确定网关的优先级,默认 20,数值越小优先级越高。 |
proto kernel | 该路由的协议,主要有 redirect,kernel,boot,static,ra 等,其中 kernel 指的是直接由核心判断自动设定。 |
flush
- 刷新路由表。
- 命令格式:ip route flush SELECTOR
- 参数的语法和语义与 ip route show 的参数相同,但路由表没有列出,而是被清除。
使用 -statistics 选项,命令将变得冗长。它打印出删除的路由数和刷新路由列表所做的查询次数。
如果此选项被赋予两次,则 flush 还以 show 中显示的格式转储所有已删除的路由。
get
- 此命令获取到目标的单一路由,并按内核看到的那样打印其内容。
参数 | 说明 |
---|---|
to ADDRESS (default) | 目的地地址。 |
from ADDRESS | 源地址。 |
iif NAME | 预计此数据包将从中到达的设备。 |
oif NAME | 强制将此数据包路由到的输出设备。 |
[root@localhost ~]# ip route get 192.168.xx.0/21
broadcast 192.168.xx.0 dev eth0 src 192.168.xx.xx
cache
- 此操作不等同于 show 操作,直接显示现有路由,get 操作会在必要是创建,get 操作相当于发送一个数据包,让数据包沿着路由路线,如果没有给定 iif,内核将创建一个路由,以将数据包输出到请求的目标。
- 如果使用了 iif 参数,内核会假装一个数据包从这个接口到达,并搜索一个转发数据包的路径。
save
- 此命令的行为与 ip route show 类似,只是输出是适合传递到 ip route restore 的原始数据。
restore
- 该命令将尝试还原与保存时完全相同的路由表信息,因此必须首先完成流中信息(如设备索引)的转换。现有路由保持不变。在表中已经存在的数据流中指定的任何路由将被忽略。
2.3 ip link
- 网络设备配置。
- 命令格式:ip link { COMMAND | help }
COMMAND | 说明 |
---|---|
add | 添加新的网络设备。 |
del | 删除网络设备。 |
show | 查看网络设备信息。 |
set | 修改网络设备属性。 |
[root@localhost ~]# ip -s link
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
17235221267 49128803 0 0 0 0
TX: bytes packets errors dropped carrier collsns
17235221267 49128803 0 0 0 0
2: eth0: mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:97:20:d6 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
14006930129 61551466 0 51 0 510
TX: bytes packets errors dropped carrier collsns
770931518504 29441550 0 0 0 0
- 可以显示统计数据。
显示定义 | 说明 |
---|---|
RX | 表示接收。 |
TX | 表示发送。 |
bytes | 接收/发送的字节数。 |
packets | 接收/发送的包数。 |
errors | 接收/发送的带有错误的包总数。 |
dropped | 由于处理资源不足导致接收/发送的丢弃的包数。 |
overrun | 因接收溢出(环形缓冲区)导致丢失的包。通常如果接口溢出,则表示内核中存在严重问题,或者说服务器上该网络设备的处理设备太慢。 |
mcast | 接收到的多播包数。 |
carrier | 因数据链路错误导致发送失败的包数。 |
collsns | 因在网络上发送冲突而导致的失败数。 |
add
- 命令格式:ip link add [ link DEVICE ] [ name ] NAME [ txqueuelen PACKETS ] [ address LLADDR ] [ broadcast LLADDR ] [ mtu MTU ] [ numtxqueues QUEUE_COUNT ] [ numrxqueues QUEUE_COUNT ] type TYPE [ ARGS ]
参数 | 说明 |
---|---|
link DEVICE | 指定要操作的物理设备。 |
NAME | 指定新虚拟设备的名称。 |
TYPE | 指定新设备的类型。 |
numtxqueues QUEUE_COUNT | 指定新设备的传输队列数。 |
numrxqueues QUEUE_COUNT | 指定新设备的接收队列数。 |
支持的类型 | 说明 |
---|---|
bridge | Ethernet Bridge device |
bond | Bonding device |
dummy | Dummy network interface |
ifb | Intermediate Functional Block device |
ipoib | IP over Infiniband device |
macvlan | Virtual interface base on link layer address (MAC) |
macvtap | Virtual interface based on link layer address (MAC) and TAP. |
vcan | Virtual Controller Area Network interface |
veth | Virtual ethernet interface |
vlan | 802.1q tagged virtual LAN interface |
vxlan | Virtual eXtended LAN |
ip6tnl | Virtual tunnel interface IPv4/IPv6 over IPv6 |
ipip | Virtual tunnel interface IPv4 over IPv4 |
sit | Virtual tunnel interface IPv6 over IPv4 |
gre | Virtual tunnel interface GRE over IPv4 |
gretap | Virtual L2 tunnel interface GRE over IPv4 |
ip6gre | Virtual tunnel interface GRE over IPv6 |
ip6gretap | Virtual L2 tunnel interface GRE over IPv6 |
vti | Virtual tunnel interface |
nlmon | Netlink monitoring device |
geneve | GEneric NEtwork Virtualization Encapsulation |
macsec | Interface for IEEE 802.1AE MAC Security (MACsec) |
delete
- 命令格式:ip link delete { DEVICE | group GROUP } type TYPE [ ARGS ]
参数 | 说明 |
---|---|
dev DEVICE | 指定要操作的虚拟设备。 |
group GROUP | 指定要删除的虚拟链接组。不允许删除组 0,因为它是默认组。 |
type TYPE | 指定设备的类型。 |
set
- 修改设备属性。
- 如果请求多个参数更改,则在任何更改失败后都会中止,应该避免使用一个 ip link set 命令修改多个参数。
参数 | 说明 |
---|---|
dev DEVICE | 指定要操作的网络设备。 |
group GROUP | 组具有双重角色,如果组和设备都存在,则将设备移动到指定的组。如果只指定了一个组,则该命令将在该组中的所有设备上运行。 |
up and down | 将设备状态更改为 " 启用 " 或 " 禁用 "。 |
arp on or arp off | 更改设备上的 NOARP 标志。 |
multicast on or multicast off | 更改设备上的多播标志。 |
protodown on or protodown off | 更改设备上的 PROTODOWN 状态。指示在端口上检测到协议错误,交换机驱动程序通过关闭交换机端口上的 phys 来对此错误作出反应。 |
dynamic on or dynamic off | 更改设备上的动态标志。 |
name NAME | 更改设备的名称。如果设备正在运行或已配置某些地址,则不建议执行此操作。 |
alias NAME | 为设备指定一个别名,以便于参考。 |
master DEVICE | 设置设备的主设备(受控制的设备)。 |
nomaster | 取消设置设备的主设备(释放设备)。 |
addrgenmode eui64 or addrgenmode none | 设置 IPv6 地址生成模式。 |
show
- 命令格式:ip link show [ DEVICE | group GROUP ] [ up ] [ master DEVICE ] [ type ETYPE ]
参数 | 说明 |
---|---|
dev NAME (default) | 名称指定要显示的网络设备。如果省略此参数,则列出默认组中的所有设备。 |
group GROUP | 指定要显示的设备组。 |
up | 只显示运行的接口。 |
master DEVICE | 指定要显示的从属设备的主设备。 |
type TYPE | 指定要显示的设备类型。 |
- type 是没有对照支持的类型列表进行检查的,而是按原样发送到内核,这样就很有可能导致空输出。
2.4 ip neigh
- 命令格式:ip [ OPTIONS ] neigh { COMMAND | help }
- 操作 ARP 表。
COMMAND | 说明 |
---|---|
add | 添加新的邻接条目。 |
change | 选择邻接条目。 |
replace | 替换邻接条目。 |
del | 删除邻接条目。 |
show | 显示邻接条目信息。 |
flush | 刷新邻接条目。 |
add / change / replace
- 命令格式:ip neigh { add | change | replace } { ADDR [ lladdr LLADDR ] [ nud STATE ] | proxy ADDR } [ dev DEV ]
参数 | 说明 |
---|---|
to ADDRESS (default) | 邻接协议地址。 |
dev NAME | 邻接条目连接到的设备。 |
nud STATE | 邻接条目状态。 |
del
删除邻接条目。
命令格式:ip neigh del { ADDR [ lladdr LLADDR ] [ nud STATE ] | proxy ADDR } [ dev DEV ]
尝试删除或手动更改由内核创建的 noarp 条目可能会导致不可预测的行为。
show
- 显示邻接条目信息。
- 命令格式:ip neigh show [ proxy ] [ to PREFIX ] [ dev DEV ] [ nud STATE ]
参数 | 说明 |
---|---|
to ADDRESS (default) | 根据前缀过滤邻接条目。 |
dev NAME | 只列出连接到此设备的邻接条目。 |
proxy | 列出邻接条目的代理。 |
unused | 列出未使用的邻接条目。 |
nud STATE | 列出此状态下的邻接条目。 |
[root@localhost ~]# ip neigh show
192.168.96.97 dev eth0 lladdr 00:0c:29:7c:76:48 STALE
192.168.98.91 dev eth0 lladdr 00:0c:29:ba:13:18 STALE
192.168.100.152 dev eth0 lladdr 00:1a:4a:f7:c1:8f STALE
192.168.100.57 dev eth0 lladdr 00:1a:4a:f7:c1:9a STALE
192.168.96.156 dev eth0 lladdr 56:6f:e8:2e:00:09 STALE
192.168.102.47 dev eth0 lladdr 00:0c:29:bd:66:58 DELAY
192.168.96.98 dev eth0 lladdr 00:0c:29:9c:3a:8e STALE
192.168.100.154 dev eth0 lladdr 00:1a:4a:f7:c1:84 STALE
192.168.100.235 dev eth0 lladdr 00:1a:4a:f7:c1:83 STALE
192.168.96.178 dev eth0 lladdr 00:1e:67:e3:33:86 STALE
192.168.98.95 dev eth0 lladdr 00:1a:4a:3d:ce:1a STALE
192.168.100.58 dev eth0 lladdr 00:1a:4a:f7:c1:9d STALE
192.168.98.1 dev eth0 FAILED
192.168.96.95 dev eth0 lladdr 00:0c:29:79:90:b2 STALE
192.168.96.1 dev eth0 lladdr 04:f9:38:ae:79:3c REACHABLE
192.168.102.48 dev eth0 lladdr 00:0c:29:e5:55:68 STALE
192.168.98.124 dev eth0 lladdr 00:0c:29:47:db:99 STALE
192.168.100.146 dev eth0 lladdr 00:50:56:8c:6d:15 STALE
192.168.103.189 dev eth0 lladdr 00:1a:4a:29:ad:c8 STALE
flush
- 刷新邻接条目。
- 命令格式:ip neigh flush [ proxy ] [ to PREFIX ] [ dev DEV ] [ nud STATE ]
- 参数的语法和语义与 ip neigh show 的参数相同,但邻接条目没有列出,而是被清除。
- 使用 -statistics 选项,命令将变得冗长。它打印出删除的邻接条目数和刷新邻接条目所做的查询次数。