在 Linux 机器上,我看到有很多虚拟网卡。如果我想知道使用“ip link add ... type ...”创建它们时的链接类型是什么,我该怎么做?
谢谢,伍迪
答案1
您可以使用多种方式 -
brctl show
- 可显示桥牌会员资格ifconfig -a | grep HWaddr
- 与 MAC 地址匹配ls -l /sys/class/net/
- 虚拟的将显示所有虚拟的并且局域网位于 PCI 总线上。
答案2
ip -details link show
将添加几乎(但不是)所有可以想象到的接口属性,包括(通常在第 3 行开头)其类型,例如 a bridge
、 aveth
等。除非没有此类附加属性,否则实际的以太网或无线设备不会使用此命令显示其硬件性质。可以通过 中 phy 名称的存在来检测无线/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。