解讀 ip 命令展示的網路連線資訊

Sandra Henry-stocker發表於2018-03-24

ip 命令可以告訴你很多網路連線配置和狀態的資訊,但是所有這些詞和數字意味著什麼? 讓我們深入瞭解一下,看看所有顯示的值都試圖告訴你什麼。

當您使用 ip a(或 ip addr)命令獲取系統上所有網路介面的資訊時,您將看到如下所示的內容:

$ 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

這個系統上的兩個介面 - 環回(lo)和網路(enp0s25)——顯示了很多統計資料。 lo 介面顯然是環回地址loolback。 我們可以在列表中看到環回 IPv4 地址(127.0.0.1)和環回 IPv6(::1)。 而普通的網路介面更有趣。

為什麼是 enp0s25 而不是 eth0

如果你想知道為什麼它在這個系統上被稱為 enp0s25,而不是可能更熟悉的 eth0,那我們可以稍微解釋一下。

新的命名方案被稱為“可預測的網路介面Predictable Network Interface”。 它已經在基於systemd 的 Linux 系統上使用了一段時間了。 介面名稱取決於硬體的物理位置。 en 僅僅就是 “ethernet” 的意思,就像 “eth” 用於對應 eth0,一樣。 p 是乙太網卡的匯流排編號,s 是插槽編號。 所以 enp0s25 告訴我們很多我們正在使用的硬體的資訊。

<BROADCAST,MULTICAST,UP,LOWER_UP> 這個配置串告訴我們:

BROADCAST   該介面支援廣播
MULTICAST   該介面支援多播
UP          網路介面已啟用
LOWER_UP    網路電纜已插入,裝置已連線至網路

列出的其他值也告訴了我們很多關於介面的知識,但我們需要知道 brdqlen 這些詞代表什麼意思。 所以,這裡顯示的是上面展示的 ip 資訊的其餘部分的翻譯。

mtu 1500                                    最大傳輸單位(資料包大小)為1,500位元組
qdisc pfifo_fast                            用於資料包排隊
state UP                                    網路介面已啟用
group default                               介面組
qlen 1000                                   傳輸佇列長度
link/ether 00:1e:4f:c8:43:fc                介面的 MAC(硬體)地址
brd ff:ff:ff:ff:ff:ff                       廣播地址
inet 192.168.0.24/24                        IPv4 地址
brd 192.168.0.255                           廣播地址
scope global                                全域性有效
dynamic enp0s25                             地址是動態分配的
valid_lft 80866sec                          IPv4 地址的有效使用期限
preferred_lft 80866sec                      IPv4 地址的首選生存期
inet6 fe80::2c8e:1de0:a862:14fd/64          IPv6 地址
scope link                                  僅在此裝置上有效
valid_lft forever                           IPv6 地址的有效使用期限
preferred_lft forever                       IPv6 地址的首選生存期

您可能已經注意到,ifconfig 命令提供的一些資訊未包含在 ip a 命令的輸出中 —— 例如傳輸資料包的統計資訊。 如果您想檢視傳送和接收的資料包數量以及衝突數量的列表,可以使用以下 ip 命令:

$ 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

另一個 ip 命令提供有關係統路由表的資訊。

$ 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

ip 命令是非常通用的。 您可以從 ip 命令及其來自Red Hat的選項獲得有用的備忘單。


via: https://www.networkworld.com/article/3262045/linux/checking-your-network-connections-on-linux.html

作者:Sandra Henry-Stocker 譯者:Flowsnow 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章