Iproute
如何理解 ifconfig 或 ip addr show(的輸出)
該
ifconfig
命令會向您轉儲大量資訊,特別是如果您有很多介面,並且您不知道它們來自哪裡。我已通讀“Ifconfig 命令 - 詳細說明”教程頁面,該頁面對ifconfig
. 但它不包含我想要的所有資訊(也可能會過時 16 年)。使用
ip addr show eth0
:2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:e2:80:18 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0 valid_lft forever preferred_lft forever
我發現很難解析一些輸出。
下
eth0
:
<…>
描述……介面功能?不確定在哪裡可以找到全套選項,不確定它們的名稱,不知道Google搜尋什麼。還有什麼其他選擇?state UP
– 我知道還有state DOWN
和state RUNNING
。這些都是軟體結構,對吧?當我跑步時,身體沒有任何變化ip link set dev eth0 down
,對吧?那麼當這種狀態發生變化時,核心的行為有何不同呢?這種狀態會改變嗎?group default
– 介面組。他們解決的獨特問題是什麼?在下面
inet
- 是什麼
scope global
意思?– 私有 IP 如何具有全域範圍?我錯過了什麼?該命令輸出的語法是什麼?
從主機的角度來看,具有全域範圍的地址是全域的,即它們不限於主機或本地連結。如果地址落在 RFC1819(專用 Internet 的地址分配)中指定的範圍內,主機並不關心,也沒有什麼不同。“私有”地址僅按照慣例是私有的。主機不關心哪個路由器進行 NAT,以及從主機到從私有地址到公共地址的地址轉換完成了多少跳。此外,您也可以使用其他地址實現 NAT。
這是我已經可以解析的部分,供其他有相同問題的人參考。
eth0
是介面名稱。它可以是任何字元串:
mtu 1500
最大傳輸單元 = 1500 字節,這是通過此介面發送的幀的最大大小。這個數字通常受到乙太網協議上限 1500 的限制。如果您發送較大的數據包並到達乙太網介面,則該幀將被分段,並且其有效負載以 2 個或更多數據包的形式傳輸。對此並沒有任何好處,因此最好遵循標準。qdisc
pfifo_fast
排隊規則=先進先出的三個管道,這決定了介面在過載時如何選擇下一個要傳輸的數據包。group default
介面組通過組合客戶端上聚合介面的功能,為客戶端提供單個介面。qlen 1000
傳輸隊列長度 = 1000 個數據包。第 1000 個數據包將排隊,第 1001 個數據包將被丟棄。
link/ether
表示鏈路層協議是ethernet
:
brd
是廣播的意思。這是設備destination
在發送廣播時設置的地址。一個介面可以看到它所在的線路上的所有流量,但它足夠禮貌,只讀取發送給它的數據。定址介面的方式是使用它的特定地址或廣播地址。
inet
表示網路層協議為internet
(ipv4
)
lft
代表一生。如果您通過 獲得此地址dhcp
,那麼您的 IP 地址租約將有一個有效的生命週期。只是為了讓切換更容易一點,(可能)更短的首選生命週期。