Iproute
上下都有介面?
$ ip link | grep vboxnet 10: vboxnet0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
在尖括號中,它說
UP
。尖括號表示什麼?更進一步,它聲稱
state DOWN
。這似乎與之前的資訊相衝突。介面是向上還是向下?在手冊頁中,
ip-link
我找不到尖括號的含義。ip``ip-address
在尖括號內有一個介面的標誌列表(= 開/關類型屬性)。在標誌之後,列出了非二進制屬性(也稱為屬性)。
您應該注意兩個概念:
- 管理狀態:您命令網路介面處於的狀態(即,活動與否)
- 操作狀態:網路介面實際所處的狀態
如果配置網路介面,其管理狀態將設置為
UP
立即,但只有在物理介面成功上電、檢測到來自另一端的鏈路脈衝、完成自動協商(如果適用)後,操作狀態才會改變) 並且介面和驅動程序已完全準備好通過交通。在
ip link
輸出中,UP
標誌描述了介面的管理狀態。有兩個相關的標誌:LOWER_UP
當卡物理準備好傳輸時添加,NO-CARRIER
如果另一端沒有信號。這兩個標誌將被視為操作狀態的一部分。因此,您的
vboxnet0
介面已被命令啟動(= 活動),但目前沒有虛擬機連接到此虛擬介面,因此該介面已標記NO-CARRIER
,因此在操作上處於關閉狀態,至少在某些虛擬機開始使用它之前。實際核心級標誌被稱為
IFF_UP
“介面管理啟用”和IFF_RUNNING
“介面操作就緒”。以前的ifconfig
命令只是直接顯示它們(不帶IFF_
前綴),但是沒有RUNNING
很容易注意到,所以ip link
命令現在有這樣的邏輯:IF (IFF_UP is set) AND (IFF_RUNNING is not set) THEN display an extra flag "NO-CARRIER" in the flags field
核心級別的標誌在
netdevice(7)
手冊頁的“DESCRIPTION” →“Ioctls”下進行了描述。