物理ネットワークデバイスと仮想ネットワークデバイスを区別する方法があるかどうか疑問に思います。ip a
選択の余地がない。だから私はそれに取り組んでいます/sys/class/net/<iface>
。 2つの属性とタイプがありますが、addr_assign_type
そのタイプは仮想かどうかを示すことができるか、決定できませんEthernet
。loopback
addr_assign_type
私たちは違うのだろうか?
私の観察によると/sys/class/net/<iface>/{eth|loopback}
やり取り0
する。/sys/class/net/<iface>/{virtualdevice}
1 or 3
これから何かを推論できますか?
ベストアンサー1
を実行すると、ethtool -i <network interface>
物理インターフェイスにbus-info:
適切なハードウェアデバイスを識別する行が必要です。仮想デバイスの場合はbus-info:
空です。
/sys
ベース識別の場合は、次のことができます。
if readlink /sys/class/net/$IFACE | grep -q /virtual/
then
echo "$IFACE is virtual"
else
echo "$IFACE is physical"
fi