Virtuelles Netzwerkinterface enx von Supermicro Mainboards

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Bei Supermicro Mainboards ab der X12/H12 Serie mit RoT (Root of Trust) Funktion erscheint im Betriebssystem eine zusätzliche, virtuelle Netzwerkschnittstelle. Unter Linux lautet dessen Gerätename enx+MAC (z.B. enxb03af2b6059f). Wozu diese Netzwerkschnittstelle dient, und wie diese bei Bedarf deaktiviert werden kann, zeigt dieser Artikel anhand eines Supermicro H12SSL Mainboards. Informationen zu ASUS Mainboards finden Sie im Artikel Virtuelles Netzwerkinterface enx von ASUS Mainboards.

Grundlagen Netzwerkschnittstellennamen

Netzwerk-Schnittstellen, welche mit enx beginnen, enthalten als weiteren Teil des Names die MAC-Adresse.

Weitere Informationen dazu finden Sie im Artikel Linux Netzwerk-Schnittstellennamen.

Zweck des enx Netzwerkinterface bei Supermicro Mainboards

Die virtuelle Netzwerkschnittstelle wird via RNDIS[1] Ethernet over USB bereitgestellt und ermöglicht bestimmte Funktionen zur Kommunikation zwischen Betriebssystem und BMC.[2] Wenn Sie diese Ethernet über USB Schnittstelle deaktivieren, können Sie kein Server-Firmware-Update über In-Band mithilfe von Linux- oder Windows-Dienstprogrammen durchführen (Supermicro Update Manager).

RNDIS Support in Linux

Die Unterstützung von RNDIS unter Linux wird künftig voraussichtlich eingestellt (Stand Oktober 2023).[3] Als erste Linux Kernel Version könnte Kernel 6.9 betroffen sein.[4] Wir aktualisieren diesen Abschnitt, sobald wir neue relevante Informationen zur künftigen Unterstützung zur Kommunikation zwischen Linux Betriebssystem und BMC bei diesen Supermicro Systemen haben.

Netzwerkschnittstellen

In diesem Beispiel lautet der Schnittstellenname der virtuellen Netzwerkschnittstelle enxb03af2b6059f:

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 3c:ec:ef:6f:1f:3c brd ff:ff:ff:ff:ff:ff
    inet 10.2.2.160/24 brd 10.2.2.255 scope global dynamic noprefixroute eno1
       valid_lft 25261sec preferred_lft 25261sec
    inet6 fe80::6880:fba7:7407:f7f7/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 3c:ec:ef:6f:1f:3d brd ff:ff:ff:ff:ff:ff
7: enxb03af2b6059f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether b0:3a:f2:b6:05:9f brd ff:ff:ff:ff:ff:ff
    inet 169.254.3.1/24 brd 169.254.3.255 scope link dynamic noprefixroute enxb03af2b6059f
       valid_lft 863543sec preferred_lft 863543sec
    inet6 fe80::3346:74a7:85b3:a684/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

Virtuelles Netzwerkinterface deaktivieren

Das virtuelle Netzwerkinterface kann entweder im BMC Webinterface oder über das Betriebssystem deaktiviert werden.

Hinweis: Während laufender In-Band-Operationen dürfen folgende Änderungen NICHT vorgenommen werden, da dies zum Abbruch der Operationen führen würde:[2]

  • Ändern Sie NICHT die IP-Adresse der virtuellen Netzwerkschnittstelle
  • Deaktivierwen Sie NICHT die virtuellen Netzwerkschnittstelle

Konfiguration BMC Webinterface

In der Standardkonfiguration ist die virtuelle Netzwerkschnittstelle zur Kommunikation zwischen Betriebssystem und BMC aktiviert:

H12SSL-BMC-Configuration-BMC Settings-Host Interface-On.png

Falls Sie die virtuelle Netzwerkschnittstelle deaktivieren möchten, können Sie dies im BMC Webinterface über Configuration ‣ BMC Settings ‣ Host Interface ‣ Off vornehmen:

H12SSL-BMC-Configuration-BMC Settings-Host Interface-Off.png

Deaktivieren über modprobe blacklist

Beim Einsatz von Linux als Betriebssystem kann das virtuelle Netzwerkinterface auch einfach deaktiviert werden, indem das Laden des Kernel-Modules rndis_host verhindert wird.

Dazu erstellen Sie einfach einen Datei in /etc/modprobe.d/:

# echo "blacklist rndis_host" > /etc/modprobe.d/blacklist-rndis_host.conf
# cat /etc/modprobe.d/blacklist-rndis_host.conf
blacklist rndis_host
# reboot

Nach dem Neustart ist das virtuelle Netzwerkinterface nicht mehr aktiv.

Kommandozeilen-Ausgaben

Die folgenden Ausgaben zeigen die Einträge der virtuellen Netzwerkschnitte, welche über den rndis_host Treiber bereitgestellt wird.

lsmod

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

lsusb -t

# lsusb -t
/:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/:  Bus 07.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 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 2: Dev 7, If 0, Class=Wireless, Driver=rndis_host, 480M
        |__ Port 2: Dev 7, If 1, Class=CDC Data, Driver=rndis_host, 480M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M

lsusb -s 007:007 -v

# lsusb -s 7:7 -v

Bus 007 Device 007: 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
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           75
    bNumInterfaces          2
    bConfigurationValue     2
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass        224 Wireless
      bFunctionSubClass       1 Radio Frequency
      bFunctionProtocol       3 RNDIS
      iFunction               6 RNDIS
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      3 RNDIS
      iInterface              4 RNDIS Communications Control
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 01
      ** UNRECOGNIZED:  04 24 02 00
      ** UNRECOGNIZED:  05 24 06 00 01
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface              5 RNDIS Ethernet Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           88
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass       6 Ethernet Networking
      bFunctionProtocol       0
      iFunction              11 CDC ECM
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      6 Ethernet Networking
      bInterfaceProtocol      0
      iInterface              8 CDC Ethernet Control Model (ECM)
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1
      CDC Ethernet:
        iMacAddress                      9 b03af2b6059f
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0000
        bNumberPowerFilters              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface             10 CDC Ethernet Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  bNumConfigurations      2
Device Status:     0x0001
  Self Powered

Einzelnachweise

  1. RNDIS (en.wikipedia.org)
  2. 2,0 2,1 Extra virtual LAN (RNDIS ethernet over USB) (Supermicro FAQ 32374)
  3. Linux To Try Again To Disable All RNDIS Protocol Drivers (www.phoronix.com, 01.10.2023)
  4. Linux Still Working To Disable RNDIS Drivers In 2024 (www.phoronix.com, 19.02.2024)


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.


Das könnte Sie auch interessieren

Libupnp Pufferüberlauf bei Mainboards mit Nuvoton WPCM450R IPMI Chips mit ATEN-Software
SNMP Informationen per MIB Browser auslesen
Supermicro IPMI Sicherheitsupdates Juli 2014