diff --git a/dib/ironic-python-agent-ramdisk/environment.d/20-ipa-distro-family.bash b/dib/ironic-python-agent-ramdisk/environment.d/20-ipa-distro-family.bash
index 048066c..38b7cdf 100644
--- a/dib/ironic-python-agent-ramdisk/environment.d/20-ipa-distro-family.bash
+++ b/dib/ironic-python-agent-ramdisk/environment.d/20-ipa-distro-family.bash
@@ -5,6 +5,10 @@ else
     export IPA_DISTRO_FAMILY=other
 fi
 
+if [[ ${DISTRO_NAME} =~ (centos|rhel) && ${DIB_RELEASE%-stream} > 7 ]]; then
+    export DIB_DHCP_NETWORK_MANAGER_AUTO=${DIB_DHCP_NETWORK_MANAGER_AUTO:-true}
+fi
+
 # NOTE(rpittau) force Python version to 3 for debian
 if [[ $DISTRO_NAME =~ debian ]]; then
   DIB_PYTHON_VERSION=3
diff --git a/releasenotes/notes/network-manager-auto-dhcp-all-interfaces-rhel-centos-relese-gt-7-0c2054d0067c6e93.yaml b/releasenotes/notes/network-manager-auto-dhcp-all-interfaces-rhel-centos-relese-gt-7-0c2054d0067c6e93.yaml
new file mode 100644
index 0000000..9da1e33
--- /dev/null
+++ b/releasenotes/notes/network-manager-auto-dhcp-all-interfaces-rhel-centos-relese-gt-7-0c2054d0067c6e93.yaml
@@ -0,0 +1,14 @@
+---
+other:
+  - |
+    On RHEL and CentOS 8 and later the *dhcp-all-interfaces* diskimage-builder
+    element is now configured to only apply NetworkManager configuration by
+    default. The *dhcp-all-interfaces* service will not be enabled.
+    To re-enable the *dhcp-all-interfaces* service, set
+    ``DIB_DHCP_NETWORK_MANAGER_AUTO=false`` in the environment.
+
+    NetworkManager is quite capable to do automatic interface configuration.
+    NetworkManager will by default try to auto-configure any interface with
+    no configuration, it will use DHCP for IPv4 and Router Advertisements to
+    decide how to initialize IPv6.
+