如何知道 Linux 上虛擬網路卡的類型?

如何知道 Linux 上虛擬網路卡的類型?

在 Linux 機器上,我看到有許多虛擬網路卡。如果我想知道使用「ip link add ... type ...」建立連結時的連結類型是什麼,我該怎麼辦?

謝謝,伍迪

答案1

您可以使用多種方式 -

  1. brctl show- 可以顯示橋樑成員資格

  2. ifconfig -a | grep HWaddr- 與MAC位址匹配

  3. ls -l /sys/class/net/- 虛擬的將在虛擬中顯示所有內容,並且 LAN 位於 PCI 總線上。

答案2

ip -details link show將添加介面的幾乎(但不是)所有可以想像的屬性,通常包括在第三行的開頭,其類型,例如 a bridge、 aveth等。除非通過沒有這種額外的財產。可以透過 中是否存在無線物理名稱來偵測無線/sys/class/net/<ifname>/phy80211/name

這是一個髒腳本(不應該被認為是可靠的,因為它正在解析不可靠的格式!)來顯示大多數類型(但例如pimreg與 PIM 多播守護程序一起出現將具有其特殊屬性,link/pimreg在此之前不會顯示):

$ ip -details link show |awk '/^[0-9]+:/ { line=NR; printf "\n%s ",gensub("(@.*|:)$","",1,$2) } NR == line+2 { printf "%s",$1 } END { printf "\n" }'

lo 
eth0 
wlan0 
dummy0 dummy
lxcbr0 bridge
virbr0 bridge
virbr0-nic tun
gre0 gre
gretap0 gretap
erspan0 erspan
ifb0 ifb
ifb1 ifb
vethIRMVCJ veth
vethQOHSJ9 veth
testbr0 bridge
wg0 wireguard
macvlan0 macvlan

答案3

可能還有其他方法。我用的是反問句:

ip link show type bridge

你可以在哪裡替代與其他類型的 NIC 一起使用。

相關內容