NetworkManager
NetworkManager(8) is a high level network administration tool.
Contents
Installation
Most Linux distributions offer a networkmanager package.
Usage
nmcli(1) and nmtui(1) are bundled with NetworkManager(8).
NetworkManager(8) stores profiles of connections. These are then written to files in /etc/NetworkManager/system-connections/.
To list all connections, try:
nmcli connection show
To set a connection up or down, try:
nmcli connection up CONNECTION_UUID nmcli connection down CONNECTION_UUID
To delete a connection (and erase the locally stored profile), try:
nmcli connection delete CONNECTION_UUID # or rm /etc/NetworkManager/system-connections/CONNECTION_UUID
WiFi
To list available Wi-Fi networks, try:
nmcli device wifi list
To connect to a new Wi-Fi network, thereby creating a connection, try:
nmcli device wifi connect NETWORK_SSID password NETWORK_PASSWORD
To turn off Wi-Fi entirely, try:
nmcli radio wifi off
Network Interfaces
To disconnect a network interface (like eth0), try:
nmcli device disconnect ifname IFNAME
Configurations
DHCP
NetworkManager(8) uses an internal DHCP client. To use a different client, edit /etc/NetworkManager/conf.d/dhcp-client.conf like:
[main] dhcp=dhclient
Only dhclient(8) and dhcpcd(8) are allowed alternatives.
NetworkManager(8) broadcasts a machine's hostname. To disable this on a per-connection basis, edit /etc/NetworkManager/system-connections/CONNECTION_UUID like:
[ipv4] dhcp-send-hostname=false [ipv6] dhcp-send-hostname=false
DNS
NetworkManager(8) tries to take ownership of DNS through the resolver file, /etc/resolv.conf. If another service tries to do the same, DNS can end up mangled.
To use a different client, edit /etc/NetworkManager/conf.d/dns.conf like:
[main] dns=dnsmasq
Only dnsmasq(8) and systemd-resolved(8) are allowed alternatives.
As a workaround for compatibility with openresolv, edit /etc/NetworkManager/conf.d/rc-manager.conf like:
[main] rc-manager=resolvconf
It is also possible to disable DNS operations entirely by setting dns=none.
Wi-Fi Backend
To use iwd(8) as the Wi-Fi backend, edit /etc/NetworkManager/conf.d/wifi_backend.conf like:
[device] wifi.backend=iwd