В ящике с 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
Вы можете использовать несколько способов -
brctl show
- Членство в мосту может отображаться
ifconfig -a | grep HWaddr
- совпадать с MAC-адресами
ls -l /sys/class/net/
- виртуальные будут показывать все в виртуальном, а lan находится на шине PCI.
Может быть и другой выход. Я использую обратный вопрос:
ip link show type bridge
где вы можете заменить мост с другим типом NIC.