Linux で仮想 NIC のタイプを確認するにはどうすればいいですか?

Linux で仮想 NIC のタイプを確認するにはどうすればいいですか?

Linux ボックスには、多数の仮想 NIC が存在します。「ip link add ... type ...」を使用して仮想 NIC を作成したときのリンク タイプを知りたい場合は、どうすればよいでしょうか。

ありがとう、ウッディ

答え1

複数の方法があります -

  1. brctl show- ブリッジのメンバーシップを表示できます

  2. ifconfig -a | grep HWaddr- MACアドレスと一致

  3. ls -l /sys/class/net/- 仮想のものはすべて仮想で表示され、LAN は PCI バス上にあります。

答え2

ip -details link showは、インターフェイスの考えられるほぼすべてのプロパティ(ただし、すべてではありません)を追加します。これには、通常、3 行目の先頭にあるタイプ( a bridge、 avethなど)が含まれます。実際のイーサネットまたはワイヤレス デバイスは、このような追加プロパティが存在しない場合を除き、このコマンドではハードウェアの性質を表示しません。ワイヤレスは、 内の phy 名の存在によって検出できます/sys/class/net/<ifname>/phy80211/name

以下は、ほとんどのタイプを表示するためのダーティ スクリプトです (信頼できない形式を解析しているため、信頼できるとは見なされません) (ただし、たとえば、 PIM マルチキャスト デーモンで表示される場合は、その前に表示されないpimreg特別なプロパティがあります)。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 の場合。

関連情報