Managing Networking Efficiently with 'nmcli networking' (with examples)
The nmcli networking
command is a utility of the NetworkManager, designed to manage and report on the networking status of a system. NetworkManager is a vital tool for handling network connections on Linux-based systems, offering a centralized way to configure your network interfaces, create connections, and monitor network policies. With nmcli, you can perform network tasks directly from the command line, making it essential for system administrators and users who prefer to manage networks without a graphical interface.
Use case 1: Show the networking status of NetworkManager
Code:
nmcli networking
Motivation:
Understanding the current status of your network interfaces is crucial for diagnosing connectivity issues or verifying the operational status of your network. This command is beneficial when you want to quickly ascertain whether your system’s networking is enabled or disabled, especially in troubleshooting scenarios where the cause of connectivity loss is unclear.
Explanation:
nmcli
: Invokes the command-line interface for NetworkManager.networking
: Specifies that we want to manage or report on the networking status rather than other NetworkManager functionalities.
Example Output:
enabled
In this output, “enabled” indicates that the networking is currently functional. If it displayed “disabled,” it would suggest that networking is turned off, meaning no network interfaces are active.
Use case 2: Enable or disable networking and all interfaces managed by NetworkManager
Code:
nmcli networking on
or
nmcli networking off
Motivation:
Enabling or disabling all network interfaces at once is a powerful administrative action. You may need to disable networking for security purposes, such as when making significant configuration changes or to prevent unwanted network traffic during certain operations. Conversely, enabling networking is essential after maintenance or troubleshooting sessions.
Explanation:
nmcli
: Calls the NetworkManager command-line tool.networking
: Focuses on controlling the networking state.on|off
: Toggles the entire networking functionality. “on” activates all network interfaces managed by NetworkManager, while “off” disables them.
Example Output:
Networking is enabled.
or
Networking is disabled.
These outputs confirm the action taken—either enabling or disabling networking across all interfaces managed by NetworkManager.
Use case 3: Show the last known connectivity state
Code:
nmcli networking connectivity
Motivation:
Monitoring the last known connectivity state provides insights into the network’s recent history. This is useful for diagnosing intermittent network issues where connectivity may be lost and restored frequently. Understanding the last known state helps users pinpoint the timing of connectivity losses, a critical factor in network debugging.
Explanation:
nmcli
: Engages the NetworkManager CLI.networking
: Indicates the focus on managing networking functions.connectivity
: Queries the last known network connectivity status.
Example Output:
full
The possible states include “none,” “portal,” “limited,” and “full,” giving a quick overview of whether the system was recently able to access internet resources completely or partially.
Use case 4: Show the current connectivity state
Code:
nmcli networking connectivity check
Motivation:
Checking the current connectivity state is essential for real-time network management. This command is especially useful when diagnosing active connectivity problems, allowing administrators to see if the system can access the network correctly. It offers immediate insights into whether connectivity issues persist at the query time.
Explanation:
nmcli
: Utilizes the NetworkManager CLI.networking
: Focuses on managing networking aspects.connectivity check
: Actively assesses the current state of network connectivity.
Example Output:
full
Similar to displaying the last known state, this output provides real-time status on connectivity, confirming if the system can fully access the network. This result can be pivotal in determining if further troubleshooting steps are necessary.
Conclusion:
The nmcli networking
command empowers users to efficiently manage their network connections directly from the command line. By providing clear information on the networking status, toggling network interfaces, and checking connectivity states, it plays an indispensable role for anyone managing Linux-based systems. Each use case illustrates how nmcli networking
can diagnose, control, and verify the network state, ensuring a robust and reliable network infrastructure.