解讀 ip 命令展示的網路連接信息
ip
命令可以告訴你很多網路連接配置和狀態的信息,但是所有這些詞和數字意味著什麼? 讓我們深入了解一下,看看所有顯示的值都試圖告訴你什麼。
當您使用 ip a
(或 ip addr
)命令獲取系統上所有網路介面的信息時,您將看到如下所示的內容:
$ ip a1: 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 forever2: 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 網路電纜已插入,設備已連接至網路
列出的其他值也告訴了我們很多關於介面的知識,但我們需要知道 brd
和 qlen
這些詞代表什麼意思。 所以,這裡顯示的是上面展示的 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 enp0s252: 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 showdefault via 192.168.0.1 dev enp0s25 proto static metric 100169.254.0.0/16 dev enp0s25 scope link metric 1000192.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中國 榮譽推出
推薦閱讀:
※HTTP協議里的請求頭有什麼用?
※為什麼整個127.*網段都被拿來當做環回地址了?
※關於IP分組的分段是什麼原理?
※進行 Linux 網路編程的人需不需要看 TCP/IP 詳解這種書?
※為何IP地址不設計得更長,讓用戶都使用公網IP,去掉路由器交換機,讓電腦的互連就像打電話一樣方便呢?