On Red Hat systems, we use nmcli for managing NetworkManager connections (creating, editing, activating, etc.), while ip is used for displaying and low-level network device, routing, and tunnel manipulation.
Thanks
Thank you for your response!
@Trevor , you are more likely to find 'ip' on systems with a small footprint - servers with small images , or on containers. Also its easier to script with 'ip'.
Thanks.
Thanks for your reply sam2019!
I use nmcli (which is scriptable, by design) to manage configurations and make persistent changes. I use ip mostly for querying, and for ad-hoc changes that I don't intent to persist after the next boot.
Genrally speaking nmcli is used for high level network configurations ( and scripting ) which interacts with NetworkManager whereas ip , which is provided by iproute2 utility collection, interacts directly with kernel to manipulate low level control and used for troubleshooting purposes.
I frequently use ip command utilities for quickly gathering network info and for troubleshooting purposes.
In a nutshell : The nmcli and ip commands serve distinct purposes in network management. nmcli offers a high-level abstraction by managing network connections and profiles through interaction with NetworkManager. Consequently, configurations made with nmcli are usually persistent. Its typical use cases include standard network management tasks and scripting. In contrast, the ip command provides low-level control by directly interacting with the Linux kernel. Its focus is on network devices, addresses, routing, and neighbors, and changes made with ip are often temporary unless explicitly saved. The primary use cases for ip involve low-level control, troubleshooting network issues, and managing networks in minimal environments.
A terrific nutshell explanation!!!!
Another little something for your viewing pleasure!
Red Hat
Learning Community
A collaborative learning environment, enabling open source skill development.