2018-03-24 11:52:28 +08:00
|
|
|
|
解读 ip 命令展示的网络连接信息
|
2018-03-13 11:54:00 +08:00
|
|
|
|
======
|
|
|
|
|
|
|
|
|
|
![](https://images.idgesg.net/images/article/2018/03/network-connections-100751906-large.jpg)
|
|
|
|
|
|
2018-03-24 11:52:28 +08:00
|
|
|
|
`ip` 命令可以告诉你很多网络连接配置和状态的信息,但是所有这些词和数字意味着什么? 让我们深入了解一下,看看所有显示的值都试图告诉你什么。
|
2018-03-13 11:54:00 +08:00
|
|
|
|
|
2018-03-24 11:52:28 +08:00
|
|
|
|
当您使用 `ip a`(或 `ip addr`)命令获取系统上所有网络接口的信息时,您将看到如下所示的内容:
|
2018-03-13 11:54:00 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ ip a
|
|
|
|
|
1: lo: <LOOPBACK,UP,LOWER_UP> 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: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
|
|
|
|
|
link/ether 00:1e:4f:c8:43:fc brd ff:ff:ff:ff:ff:ff
|
|
|
|
|
inet 192.168.0.24/24 brd 192.168.0.255 scope global dynamic enp0s25
|
|
|
|
|
valid_lft 57295sec preferred_lft 57295sec
|
|
|
|
|
inet6 fe80::2c8e:1de0:a862:14fd/64 scope link
|
|
|
|
|
valid_lft forever preferred_lft forever
|
|
|
|
|
```
|
|
|
|
|
|
2018-03-24 11:52:28 +08:00
|
|
|
|
这个系统上的两个接口 - 环回(`lo`)和网络(`enp0s25`)——显示了很多统计数据。 `lo` 接口显然是<ruby>环回地址<rt>loolback</rt></ruby>。 我们可以在列表中看到环回 IPv4 地址(`127.0.0.1`)和环回 IPv6(`::1`)。 而普通的网络接口更有趣。
|
2018-03-13 11:54:00 +08:00
|
|
|
|
|
2018-03-24 11:52:28 +08:00
|
|
|
|
### 为什么是 enp0s25 而不是 eth0
|
2018-03-13 11:54:00 +08:00
|
|
|
|
|
2018-03-24 11:52:28 +08:00
|
|
|
|
如果你想知道为什么它在这个系统上被称为 `enp0s25`,而不是可能更熟悉的 `eth0`,那我们可以稍微解释一下。
|
2018-03-13 11:54:00 +08:00
|
|
|
|
|
2018-03-24 11:52:28 +08:00
|
|
|
|
新的命名方案被称为“<ruby>可预测的网络接口<rt>Predictable Network Interface</rt></ruby>”。 它已经在基于systemd 的 Linux 系统上使用了一段时间了。 接口名称取决于硬件的物理位置。 `en` 仅仅就是 “ethernet” 的意思,就像 “eth” 用于对应 `eth0`,一样。 `p` 是以太网卡的总线编号,`s` 是插槽编号。 所以 `enp0s25` 告诉我们很多我们正在使用的硬件的信息。
|
|
|
|
|
|
|
|
|
|
`<BROADCAST,MULTICAST,UP,LOWER_UP>` 这个配置串告诉我们:
|
2018-03-13 11:54:00 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
BROADCAST 该接口支持广播
|
|
|
|
|
MULTICAST 该接口支持多播
|
|
|
|
|
UP 网络接口已启用
|
|
|
|
|
LOWER_UP 网络电缆已插入,设备已连接至网络
|
|
|
|
|
```
|
|
|
|
|
|
2018-03-24 11:52:28 +08:00
|
|
|
|
列出的其他值也告诉了我们很多关于接口的知识,但我们需要知道 `brd` 和 `qlen` 这些词代表什么意思。 所以,这里显示的是上面展示的 `ip` 信息的其余部分的翻译。
|
2018-03-13 11:54:00 +08:00
|
|
|
|
|
|
|
|
|
```
|
2018-03-24 11:52:28 +08:00
|
|
|
|
mtu 1500 最大传输单位(数据包大小)为1,500字节
|
2018-03-13 11:54:00 +08:00
|
|
|
|
qdisc pfifo_fast 用于数据包排队
|
|
|
|
|
state UP 网络接口已启用
|
|
|
|
|
group default 接口组
|
|
|
|
|
qlen 1000 传输队列长度
|
2018-03-24 11:52:28 +08:00
|
|
|
|
link/ether 00:1e:4f:c8:43:fc 接口的 MAC(硬件)地址
|
2018-03-13 11:54:00 +08:00
|
|
|
|
brd ff:ff:ff:ff:ff:ff 广播地址
|
2018-03-24 11:52:28 +08:00
|
|
|
|
inet 192.168.0.24/24 IPv4 地址
|
2018-03-13 11:54:00 +08:00
|
|
|
|
brd 192.168.0.255 广播地址
|
|
|
|
|
scope global 全局有效
|
|
|
|
|
dynamic enp0s25 地址是动态分配的
|
2018-03-24 11:52:28 +08:00
|
|
|
|
valid_lft 80866sec IPv4 地址的有效使用期限
|
|
|
|
|
preferred_lft 80866sec IPv4 地址的首选生存期
|
|
|
|
|
inet6 fe80::2c8e:1de0:a862:14fd/64 IPv6 地址
|
2018-03-13 11:54:00 +08:00
|
|
|
|
scope link 仅在此设备上有效
|
2018-03-24 11:52:28 +08:00
|
|
|
|
valid_lft forever IPv6 地址的有效使用期限
|
|
|
|
|
preferred_lft forever IPv6 地址的首选生存期
|
2018-03-13 11:54:00 +08:00
|
|
|
|
```
|
|
|
|
|
|
2018-03-24 11:52:28 +08:00
|
|
|
|
您可能已经注意到,`ifconfig` 命令提供的一些信息未包含在 `ip a` 命令的输出中 —— 例如传输数据包的统计信息。 如果您想查看发送和接收的数据包数量以及冲突数量的列表,可以使用以下 `ip` 命令:
|
2018-03-13 11:54:00 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ ip -s link show enp0s25
|
|
|
|
|
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
|
|
|
|
|
link/ether 00:1e:4f:c8:43:fc brd ff:ff:ff:ff:ff:ff
|
|
|
|
|
RX: bytes packets errors dropped overrun mcast
|
|
|
|
|
224258568 418718 0 0 0 84376
|
|
|
|
|
TX: bytes packets errors dropped carrier collsns
|
|
|
|
|
6131373 78152 0 0 0 0
|
|
|
|
|
```
|
|
|
|
|
|
2018-03-24 11:52:28 +08:00
|
|
|
|
另一个 `ip` 命令提供有关系统路由表的信息。
|
|
|
|
|
|
2018-03-13 11:54:00 +08:00
|
|
|
|
```
|
|
|
|
|
$ ip route show
|
|
|
|
|
default via 192.168.0.1 dev enp0s25 proto static metric 100
|
|
|
|
|
169.254.0.0/16 dev enp0s25 scope link metric 1000
|
|
|
|
|
192.168.0.0/24 dev enp0s25 proto kernel scope link src 192.168.0.24 metric 100
|
|
|
|
|
```
|
|
|
|
|
|
2018-03-24 11:52:28 +08:00
|
|
|
|
`ip` 命令是非常通用的。 您可以从 `ip` 命令及其来自[Red Hat][1]的选项获得有用的备忘单。
|
2018-03-13 11:54:00 +08:00
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
via: https://www.networkworld.com/article/3262045/linux/checking-your-network-connections-on-linux.html
|
|
|
|
|
|
|
|
|
|
作者:[Sandra Henry-Stocker][a]
|
|
|
|
|
译者:[Flowsnow](https://github.com/Flowsnow)
|
2018-03-24 11:52:28 +08:00
|
|
|
|
校对:[wxy](https://github.com/wxy)
|
2018-03-13 11:54:00 +08:00
|
|
|
|
|
|
|
|
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|
|
|
|
|
|
|
|
|
[a]:https://www.networkworld.com/author/Sandra-Henry_Stocker/
|
|
|
|
|
[1]:https://access.redhat.com/sites/default/files/attachments/rh_ip_command_cheatsheet_1214_jcs_print.pdf
|