На одном из Linux серверов я обнаружил сетевой интерфейс ‘enx b03af2b6059f‘, которого вроде недолжно быть. Расскажу что же это такое.

Предпосылки

Выполнив команду ip addr чтобы посмотреть ip адреса на сервере я заметил подозрительный сетевой интерфейс enxb03af2b6059f:

# ip addr | grep enx
6: enxb03af2b6059f: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000

Вначале подумал что случайно внёс его в конфиг /etc/network/interfaces, и на самом деле он не нужен.

Проверил, относится ли он к какому-нибудь сетевому оборудованию с помощью lspci:

# lshw -c network -businfo | grep pci
pci@0000:43:00.0  enp67s0f0        network        82571EB Gigabit Ethernet Controller
pci@0000:43:00.1  enp67s0f1        network        82571EB Gigabit Ethernet Controller
pci@0000:48:00.0  eno1np0          network        BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller
pci@0000:48:00.1  eno2np1          network        BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller

Из вывода вижу что не связан.

Но после удаления этого интерфейса из конфига /etc/network/interfaces и перезагрузки сервера он появился снова. Пришлось разбираться дальше.

Что же это за интерфейс

Оказалось что это виртуальный сетевой интерфейс enx от материнских плат Supermicro. На материнских платах Supermicro серии X12/H12 с функцией RoT (Root of Trust) в операционной системе появляется дополнительный виртуальный сетевой интерфейс. В Linux имя такого интерфейса – enx+MAC (например, enxb03af2b6059f).

Имена сетевых интерфейсов в Linux можете посмотреть здесь.

Виртуальный сетевой интерфейс предоставляется через RNDIS Ethernet через USB шину и обеспечивает функции связи между операционной системой и BMC. Если вы отключите этот интерфейс, то вы не сможете выполнять обновление прошивки с помощью утилит Linux или Windows (Supermicro Update Manager).

Включить или отключить этот интерфейс можно в IPMI. Для этого перейдите по пунктам меню “Configuration / BMC Settings“, затем переключитесь на вкладку “Host Interface“. Здесь вы можете включать и отключать этот интерфейс:

Supermicro BMC Host Interface - сетевой интерфейс enx
Supermicro BMC Host Interface

Вывод командной строки

Теперь покажу вам с помощью каких утилит можно посмотреть на этот интерфейс.

Так как это USB шина то вместо lspci нужно использовать lsusb:

# lsusb -t
 * * *
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
        |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 1: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 2: Dev 4, If 1, Class=CDC Data, Driver=rndis_host, 480M
        |__ Port 2: Dev 4, If 0, Class=Wireless, Driver=rndis_host, 480M
 * * *

На шине 05 есть устройство 4 – Port 2: Dev 4, If 1, Class=CDC Data, Driver=rndis_host, 480M.

Драйвер этого устройства rndis_host:

# lsmod | grep -i rndis
rndis_host             20480  0
cdc_ether              20480  1 rndis_host
usbnet                 45056  2 rndis_host,cdc_ether

Посмотреть на это устройство внимательнее можете с помощью команды lsusb -s <bus>:<dev> -v:

# lsusb -s 005:004 -v

Bus 005 Device 004: ID 0b1f:03ee Insyde Software Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x0b1f Insyde Software Corp.
  idProduct          0x03ee
  bcdDevice            3.18
  iManufacturer           1 Linux 3.18.0 with ast_vhub
  iProduct                2 RNDIS/Ethernet Gadget
  iSerial                 0
  bNumConfigurations      2
   * * * 
Вывод довольно длинный, поэтому я его сократил

Сам источник, который дал мне ответ что-же это за интерфейс доступен по этой ссылке.

Добавить комментарий

Ваш адрес email не будет опубликован.