網路介面狀態未知

網路介面狀態未知

ip link輸出中「狀態未知」是什麼意思?例如

10: enp56s0f3u4u2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether X:X:X:X:X:X brd ff:ff:ff:ff:ff:ff

據我所知,網路介面可以是 UP 或 DOWN 的。

答案1

每個介面至少有兩種不同的狀態:

  • 管理狀態(介面是否已啟用)。這只是向上/向下,由您或網路軟體控制;使用ip link set eth0 up或啟用介面後,您可以在範例開頭附近ifconfig eth0 up看到它指示為標誌。<UP>

  • 運行狀態(介面是否作品)。僅僅因為它已啟用,並不意味著它已經可以傳輸資料 - 乙太網路需要連接電纜; Wi-Fi需要關聯AP;基本上它需要一個載體。對於實體介面來說,這顯然是一個外部因素,無法透過命令控制;它僅顯示在輸出中,就像<LOWER_UP>存在載體一樣。

    這些比現實中的向上/向下更複雜,例如使用 WPA-Enterprise 的 Wi-Fi 網絡關聯後有一個運營商,但在執行 WPA 握手之前還無法發送數據,因此存在第三級「操作」狀態:「休眠」。

    (對於 VLAN 等虛擬接口,還有另一個“lowerlayerdown”。)

因此,「狀態未知」不是管理「向上/向下」開關,它是來自系統本身的操作狀態,顯示了整個值的選擇。此狀態需要由驅動程式提供 - 並且(至少根據 Linux 文件)並非所有驅動程式都具有設定實際操作狀態所需的位元。因此,如果您的乙太網路驅動程式沒有這樣做,您將看到預設值 IF_OPER_UNKNOWN (0)。

答案2

的輸出ip可能會產生誤導。

當介面啟動時,您看到的部分從 DOWN 變為 UNKNOWN,而當建立實際連接時,則從 UP 變為 UP。

那個部分裡面尖括號告訴您介面本身何時開啟。

相關內容