Как узнать тип виртуального сетевого адаптера в Linux?

Как узнать тип виртуального сетевого адаптера в Linux?

На Linux-боксе я вижу, что существует много виртуальных сетевых карт. Если я хочу узнать тип ссылки при их создании с помощью 'ip link add ... type ...', что мне делать?

Спасибо, Вуди.

решение1

Вы можете использовать несколько способов -

  1. brctl show- Членство в мосту может быть отображено

  2. ifconfig -a | grep HWaddr- соответствие MAC-адресам

  3. ls -l /sys/class/net/- виртуальные покажут, что все находится в виртуальном режиме, а локальная сеть находится на шине PCI.

решение2

ip -details link showдобавит почти (но не) все мыслимые свойства интерфейса, включая, как правило, в начале 3-й строки, его тип, например, a bridge, a vethи т. д. Реальные устройства Ethernet или беспроводные устройства не покажут свою аппаратную природу с помощью этой команды, за исключением отсутствия такого дополнительного свойства. Беспроводные устройства можно обнаружить по наличию их имени 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

где вы можете заменитьмостс другим типом сетевой карты.

Связанный контент