![如何知道 Linux 上虛擬網路卡的類型?](https://rvso.com/image/726402/%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%20Linux%20%E4%B8%8A%E8%99%9B%E6%93%AC%E7%B6%B2%E8%B7%AF%E5%8D%A1%E7%9A%84%E9%A1%9E%E5%9E%8B%EF%BC%9F.png)
在 Linux 機器上,我看到有許多虛擬網路卡。如果我想知道使用「ip link add ... type ...」建立連結時的連結類型是什麼,我該怎麼辦?
謝謝,伍迪
答案1
您可以使用多種方式 -
brctl show
- 可以顯示橋樑成員資格ifconfig -a | grep HWaddr
- 與MAC位址匹配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 一起使用。