NetworkManager – Debian Wiki
Translation(s): English – Français – Italiano – German – Português (Brasil) – 简体中文 – Русский
NetworkManager attempts to keep an active network connection available at all times.
The point of NetworkManager is to make networking configuration and setup as painless and automatic as possible. If using DHCP, NetworkManager is intended to replace default routes, obtain IP addresses from a DHCP server and change nameservers whenever it sees fit. In effect, the goal of NetworkManager is to make networking Just Work.
Whilst it was originally targeted at desktops, it has more recently been chosen as the default network management software for some non-Debian server-oriented Linux distributions. If you have special needs, the upstream’s developers would like to hear about them, but understand that NetworkManager is not intended to serve the needs of all users.
If not using Network Manager:
-
For basic or simple configurations (e.g. workstation), the regular way to configure the network was using interfaces configuration file at /etc/network/interfaces. Details are described in NetworkConfiguration. It still may be used.
-
Another way to configure: leverage on Systemd
NetworkManager is composed of two layers:
-
A daemon running as root: network-manager.
-
A front-end: nmcli and nmtui (enclosed in package network-manager), nm-tray, network-manager-gnome (nm-applet), plasma-nm.
Additionally, there are various plugins available that enable NetworkManager to handle other, special connections like different types of VPN connections.
NetworkManager will only handle interfaces not declared in /etc/network/interfaces (see README file).
NetworkManager keeps connection information on known individual networks in configuration files called profiles. Those are stored at /etc/NetworkManager/system-connections/. For options in these files refer to the manpage on nm-settings: man nm-settings or online. They can be edited (as root) using a text editor or the nm-connection-editor (enclosed in network-manager-gnome).
For changes in configuration to become effective, you may have to restart the NetworkManager daemon:
sudo service network-manager restart
Starting with Debian 11 (bullseye), use:
sudo service NetworkManager restart
Mục Lục
Features
The features of NetworkManager are described on its homepage.
Documentation
Make sure you read the fine manual:
Wired Networks are Unmanaged
As of Debian 6.0 “Squeeze”, NetworkManager does not manage any interface defined in /etc/network/interfaces by default.
Unmanaged devices means NetworkManager doesn’t handle those network devices. This occurs when two conditions are met:
-
The file /etc/network/interfaces contains anything about the interface, even:
allow-hotplug eth0 iface eth0 inet dhcp
-
And /etc/NetworkManager/NetworkManager.conf contains:
[main] plugins=ifupdown,keyfile [ifupdown] managed=false
Enabling Interface Management
If you want NetworkManager to handle interfaces that are enabled in /etc/network/interfaces:
-
Set managed=true in /etc/NetworkManager/NetworkManager.conf.
-
Restart NetworkManager:
sudo service network-manager restart
Starting with Debian 11 (bullseye), use:
sudo service NetworkManager restart
“Auto Ethernet” and “Auto eth0”
-
Auto Ethernet means “Select an Ethernet interface automatically”
-
Auto eth0 means “autoconfigure the eth0 interface”.
FAQ
- Q. How do I configure a static IP address (for a server, etc) ?
-
A) Use nm-connection-editor or configure /etc/network/interfaces as described in NetworkConfiguration.
- Q. How can I configure DNS for NetworkManager?
-
A) The short answer is to use nm-connection-editor. For the long answer see the corresponding entry in NetworkConfiguration.
- Q. Why can’t I see NetworkManager with my new user account ?
-
A) Make sure human users are in the netdev group (see /usr/share/doc/network-manager-gnome/README.Debian).
- Q. How to setup a connection sharing (“hotspot”) for a wired interface ?
-
A) First make sure to install dnsmasq-base (but not dnsmasq unless you disable the system daemon in /etc/default/dnsmasq). Then use nm-connection-editor and setup a new profile using “shared to other computer” as the method for IPv4 (not possible from Gnome3’s gnome-control-center). This hides all the complexity (dnsmasq, iptables, sysctl). Finally, use that profile for the network interface connected to the shared network. For Wi-Fi interfaces, a hotspot functionality is provided which uses the same functionality besides setting up an ad-hoc WiFi network.
See Also
-
https://wiki.gnome.org/Projects/NetworkManager – Project homepage and GNOME front-end (with some documentation)
-
nmtui(1) – Interactive text client
-
nmcli(1) – Command-line client
CategoryNetwork CategorySoftware