CentOS 8 NetworkManager puts ethernet NIC to sleep

Mike Cooper asked:

I’m running CentOS 8.2 with a pretty generic install. The system has a single Gb ethernet nic (ens32) which has a static IP address configured.

Once a day (or there abouts) the ens32 interface is unconfigured by NM. That is, "ip a" shows no IPv4 or IPv6 address configured for ens32.

The log shows this:

Sep 10 14:48:33 revohub NetworkManager[1182]: <info>  [1599774513.8602] device (ens32): state change: activated -> deactivating (reason 'sleeping', sys-iface-state: 'managed')
Sep 10 15:18:17 revohub NetworkManager[1182]: <info>  [1599776297.0812] device (ens32): state change: deactivating -> disconnected (reason 'sleeping', sys-iface-state: 'managed')
Sep 10 15:18:17 revohub avahi-daemon[999]: Withdrawing address record for fe80::b8f9:edc2:6c9f:53cf on ens32.
Sep 10 15:18:17 revohub avahi-daemon[999]: Leaving mDNS multicast group on interface ens32.IPv6 with address fe80::b8f9:edc2:6c9f:53cf.
Sep 10 15:18:17 revohub avahi-daemon[999]: Interface ens32.IPv6 no longer relevant for mDNS.
Sep 10 15:18:17 revohub avahi-daemon[999]: Withdrawing address record for 10.2.0.56 on ens32.
Sep 10 15:18:17 revohub avahi-daemon[999]: Leaving mDNS multicast group on interface ens32.IPv4 with address 10.2.0.56.
Sep 10 15:18:17 revohub avahi-daemon[999]: Interface ens32.IPv4 no longer relevant for mDNS.
Sep 10 15:18:17 revohub NetworkManager[1182]: <info>  [1599776297.3245] device (ens32): state change: disconnected -> unmanaged (reason 'sleeping', sys-iface-state: 'managed')

So it seems that NM is putting ens32 to sleep and unconfiguring it. It never reconfigures (brings it back up) either.

Here is the ifcfg-ens32 file:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32"
UUID="1e897830-f27c-4891-88eb-303aa0f4b1c5"
DEVICE="ens32"
ONBOOT="yes"
IPADDR=10.2.0.56
PREFIX=16
GATEWAY=10.2.0.1
DNS1=10.2.0.10

Output from nmcli:

[[email protected] mcooper]# nmcli
virbr0: unmanaged
        "virbr0"
        bridge, 52:54:00:D2:86:92, sw, mtu 1500

ens32: unmanaged
        "Intel 82545EM"
        ethernet (e1000), 00:0C:29:F2:F3:45, hw, mtu 1500

lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

virbr0-nic: unmanaged
        "virbr0-nic"
        tun, 52:54:00:D2:86:92, sw, mtu 1500

My answer:


The VMware virtual network driver e1000 is a legacy driver which these days is really only good for antique operating systems. It’s probably not getting much maintenance due to its age and having been superseded by the vmxnet series of drivers for most operating systems.

Virtually all modern operating systems can all use the vmxnet3 (or in older VMware versions, vmxnet2 or vmxnet) paravirtual network driver, even during installation. If your VM was created with a different network driver, you can change it in the virtual machine settings, then power off and power on the VM again. This should get you a higher performing and more stable driver.


View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.