NetworkManager attempts to keep an active network connection available at all times.
NetworkManager is composed of two layers:
A daemon running as root: network-manager.
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 (as user root or using sudo):
The features of NetworkManager are described on its homepage.
Make sure you read the fine manual:
interfaces(5) man page
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.
"Auto Ethernet" and "Auto eth0"
Auto Ethernet means "Select an Ethernet interface automatically"
Auto eth0 means "autoconfigure the eth0 interface".
- 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.
http://projects.gnome.org/NetworkManager/users/ - Project homepage and GNOME front-end (with some documentation);
http://live.gnome.org/NetworkManager - Various resources (FAQ, mailing list...)
http://old-en.opensuse.org/Projects/KNetworkManager - KDE front-end
nmtui(1) - Interactive text client
nmcli(1) - Command-line client