Назад | Перейти на главную страницу

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

В ящике с Linux я вижу много виртуальных сетевых адаптеров. Что мне делать, если я хочу знать, что это за тип ссылки при их создании с помощью «ip link add ... type ...»?

Спасибо Вуди

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

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

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

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

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

Может быть и другой выход. Я использую обратный вопрос:

ip link show type bridge

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