
Я уже несколько раз сталкивался с проблемой: при установке 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
обычно это более показательно)