Как узнать, какая сетевая карта какая, в Virtual Box из командной строки Linux?

Как узнать, какая сетевая карта какая, в Virtual Box из командной строки Linux?

Я уже несколько раз сталкивался с проблемой: при установке Linux на виртуальную машину все мои интерфейсы выглядят как «enp0s3» или «enp0s8» и т. д.

В одном тесте я запустил виртуальную машину с 4 виртуальными сетевыми картами, и каким-то образом они отобразились в Linux как:

enp0s3 enp0s8 enp0s9 enp0s17

Меня сбивает с толку сама схема нумерации, но я вообще не уверен, как определить, какая из них указывает на какую сетевую карту.

Если я делаю lspci, он показывает мне все устройства в системе, но не то, как они подключаются к списку интерфейсов....если я делаю "ip link show", он показывает мне все интерфейсы, но не NIC, к которым они подключены. Что мне делать?

РЕДАКТИРОВАТЬ:

Чтобы прояснить ситуацию, я не пытаюсь что-либо делать с физическим уровнем оборудования. Когда я пытаюсь узнать, «какой сетевой адаптер есть какой», я пытаюсь найти лучший метод определения того, какой интерфейс (enp0sX) указывает на какой из 4 виртуальных сетевых адаптеров Virtual Box. Очевидно, если у вас один сетевой адаптер, это само собой разумеется, но если вы используете все 4 виртуальных сетевых адаптера и все они используют один и тот же драйвер, становится сложно разобраться, какой из них есть какой.

решение1

Есть несколько способов это выяснить, но вот два самых надежных метода (на мой взгляд)...

Метод №1 (самый надежный)

drew@debian:~$ /sbin/ifconfig -a | grep HWaddr
eth0      Link encap:Ethernet  HWaddr 08:00:27:f7:28:18  
eth1      Link encap:Ethernet  HWaddr 08:00:27:52:8b:6e  
eth2      Link encap:Ethernet  HWaddr 08:00:27:81:d7:5c  
eth3      Link encap:Ethernet  HWaddr 08:00:27:d5:22:e8 

Сверьте MAC-адреса с тем, что показано в сетевых настройках машины (из хоста). То есть, щелкните правой кнопкой мыши на виртуальной машине, перейдите в «Настройки», затем «Сеть», посмотрите поле MAC-адреса для каждого адаптера.

Другие команды, которые выведут список MAC-адресов, включают ip addr, ip link show, lshw -C network. Я думаю, что команда, которую я разместил, дает самый чистый вывод.

Метод №2

drew@debian:~$ ls -l /sys/class/net
total 0
lrwxrwxrwx 1 root root 0 May 13 21:59 eth0 -> ../../devices/pci0000:00/0000:00:03.0/net/eth0
lrwxrwxrwx 1 root root 0 May 13 21:59 eth1 -> ../../devices/pci0000:00/0000:00:08.0/net/eth1
lrwxrwxrwx 1 root root 0 May 13 21:59 eth2 -> ../../devices/pci0000:00/0000:00:09.0/net/eth2
lrwxrwxrwx 1 root root 0 May 13 21:59 eth3 -> ../../devices/pci0000:00/0000:00:0a.0/net/eth3
lrwxrwxrwx 1 root root 0 May 13 21:59 lo -> ../../devices/virtual/net/lo

номера шин PCI будут в порядке... 3, 8, 9, a (10). Таким образом, это будет преобразовано в 3 = NIC 1, 8 = NIC2 и т. д... Обратите внимание, что если имена ваших NIC выглядят как enp0s3или eno1, то они также должны быть в порядке (хотя не обязательно последовательно), в вашем случае enp0s3это будет NIC 1, enp0s8это будет NIC 2 и т. д...

решение2

enp0s3илиenp0s8

  • периферия сети Ethernet
  • #
  • Серийный порт
  • #

Выполнение одного из следующих действий должно помочь (особенно если вы знаете, как были помечены соединения HOST в Vbox):

ip addr
ip -a
lspci  /  lsusb                 (оба показывают номера моделей; lspciобычно это более показательно)

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