Virtuelles Netzwerkinterface enx von Supermicro Mainboards
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:
Falls Sie die virtuelle Netzwerkschnittstelle deaktivieren möchten, können Sie dies im BMC Webinterface über Configuration ‣ BMC Settings ‣ Host Interface ‣ Off vornehmen:
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
- ↑ RNDIS (en.wikipedia.org)
- ↑ 2,0 2,1 Extra virtual LAN (RNDIS ethernet over USB) (Supermicro FAQ 32374)
- ↑ Linux To Try Again To Disable All RNDIS Protocol Drivers (www.phoronix.com, 01.10.2023)
- ↑ Linux Still Working To Disable RNDIS Drivers In 2024 (www.phoronix.com, 19.02.2024)
|
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. |

