Modern Linux distributions have shifted from the legacy network service to NetworkManager, particularly since RHEL 7. This change addresses the increasing complexity of network parameters and provides a unified configuration layer. Instead of manually editing files and restarting services to load configurations into kernel memory, NetworkManager manages state dynamically.
Verify the service status:
systemctl status NetworkManager
Identify hardware bus info:
lshw -class net -businfo
Three interfaces exist for configuration:
- GUI:
nm-connection-editor(requires X11 forwarding or local GUI). - TUI:
nmtui(terminal-based pseudo-graphical). - CLI:
nmcli(command-line interface).
Device Management via nmcli
Check physical interface status:
nmcli dev status
Columns indicate device name, type, state, and associated connection profile. States include unmanaged (ignored by NM), disconnected (no profile), connected (active), or connecting.
Disconnect a specific interface:
nmcli dev disconnect eth0
Reconnect using the assigned profile:
nmcli dev connect eth0
View detailed device properties:
nmcli dev show eth0
Connection Profile Menagement
Profiles are stored internally and often correlate with files in /etc/sysconfig/network-scripts/ (legacy compatibility).
List existing profiles:
nmcli con show
Create a new Ethernet profile with static IP:
nmcli con add type ethernet ifname eth0 con-name "Corp-LAN" ipv4.method manual ipv4.addresses 192.168.10.5/24 ipv4.gateway 192.168.10.1
Modify an existing profile (e.g., set DNS and auto-connect):
nmcli con mod "Corp-LAN" ipv4.dns "8.8.8.8" connection.autoconnect yes
Activate the profile:
nmcli con up "Corp-LAN"
Deactivate the profile:
nmcli con down "Corp-LAN"
Reload configurations from disk:
nmcli con reload
Rename a profile:
nmcli con mod "Corp-LAN" connection.id "Office-Main"
Change the interface bound to a profile:
nmcli con mod "Office-Main" connection.interface-name ens192
Warning: Modifying the active management interface remotely risks loss of connectivity. Always test changes on console access or secondary interfaces when possible.