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.
|