Network Manager aims for Network Connectivity which "Just Works". The computer should use the wired network connection when it's plugged in, but automatically switch to a wireless connection when the user unplugs it and walks away from the desk. Likewise, when the user plugs the computer back in, the computer should switch back to the wired connection. The user should, most times, not even notice that their connection has been managed for them; they should simply see uninterrupted network connectivity.
NetworkManager should be installed by default on Ubuntu Desktop installs, as well as most flavours of Ubuntu.
To install NetworkManager:
sudo apt-get install network-manager
To install the GNOME applet / indicator:
sudo apt-get install network-manager-gnome
Network Manager VPN support is based on a plug-in system. If you need VPN support via network manager you have to install one of the following packages:
network-manager-openvpn network-manager-vpnc network-manager-openconnect
The network-manager-pptp plugin is installed by default.
On GNOME, you also need to install the -gnome packages for the VPN plugin you choose:
network-manager-openvpn-gnome network-manager-vpnc-gnome network-manager-openconnect-gnome
The steps to start NetworkManager depend on which of the initialization subsystems are running: Upstart or Systemd.
Start network manager
sudo start network-manager
Systemd became the default initialization system in Ubuntu 15.04. Here's how to start Network Manager and enable it to be restarted after a reboot:
Start network manager
sudo systemctl start NetworkManager.service
Enable restarting the network manager when the system reboots
sudo systemctl enable NetworkManager.service
The network-manager or the nm-applet is the one which is found in the systray. The icon of two computers, one below to the other on the left-side.
Clicking on NM-applet will give you the types of connection/hardware you have available.
For e.g. if you have a wired connection clicking on it will give you something like: Wired Network (D-Link System RTL-8139/8139C/8139C+ Auto eth1
Now let's break down what such a notification would mean.
a. Wired/Wireless/Mobile Broadband/VPN/DSL - the interface/hardware you have.
b. (D-Link System RTL-8139/8139C/8139C+ :- the chipset which enables the connection to be made.
c. Auto/Manual eth1 :- If the connection is has been made automatically or generated through the system settings or/and done manually. Any one connection can only have only of the states not both. The eth1 is just a name to make it easier for the user to know which way he's connected through to the network/Internet.
Right-clicking on the applet will give you the following options
a. A checkbox saying Enable Networking or not.
b. Connection Information: Giving info. on the same below.
c. Edit Connections: This is the NM-connections editor which we will talk about a little later.
d. About: Which gives the status of current version of network-manager installed and a link to the upstream network-manager site.
- This figure is shown right-clicking on the nm-applet and then clicking on the blue (i) Connection information option in the drop-down menu of nm-applet. It gives information about the interface being used, the MAC or Hardware Address of the device, what driver is being used to do the networking, at what speed is the network card capable of communicating, any security protocols used.
Then there is some distance and information regarding how the actual connection is set up in terms of the IP Address taken/given, the IP Address at which its broadcasting its presence to others, the Subnet Mask used and lastly the DNS address.
The NM-connections editor is where the user can edit and create the various connection types. To invoke the nm-connections editor you need to right-click on the nm-applet and then click on Edit Connections. Clicking on that option would result in a tabbed window called network connections having different ways to connect to the network/Internet.
This type of connection is one where you are connecting to the Internet through an Ethernet connection to some router/modem.
This type of connection is one where one is connected to the Internet through a wireless card & base-station combo.
This type of connection is similar to wireless, the only difference would be the hardware. Its normally based on a high-speed portable wireless card which may follow GPRS, 3G, WiMAX, UMTS/HSPA or/and EV-DO standards.
This type of connection is usually used by corporates to connect to their workplace via the internet or by universities to make special services available to their students and staff. Currently no more than one VPN connection at a time is supported (see here). The VPN packages are not installed by default. See VPN for how to do that.
This type of connection is when one is transferring data over the public telephone network (also known as POTS). Need some type of XDSL modem (ADSL is common type of connection).
Creating/Modifying a User connection
Hint: Making any change to an existing wired connection will only be applied after you finish editing and then left-click the connection name (left-click the Network Manager icon to access the list of connections) or by rebooting your system. Changes will also be automatically applied if your change the Connection name of a connection.
So how do we add or modify a user connection. Let's start by adding a user connection. So we do the following steps:
a. Invoke nm-connection-editor by right-clicking on network-manager icon, clicking on Edit Connections which brings up the network-connections having various options to connect to the local network or/and the Internet.
b. Choose one of the options depending on the hardware and the way the connection is set up. We would be looking at all the 5 options in the network connections one by one as to what information needs to be filled up.
Adding Wired connections
For this one needs to click on the Add button after selecting the Wired tab in Network Connections as shown above.
Clicking on that tab would bring you to another box having three tabs, i.e. Wired, 802.1x and lastly IPv4 settings.
At the top one needs to give some name to the connection, by default it is showing as Wired Connection 1. You can either use that or make it something which is recognizable and easily remembered by you.
A little distance below there are two options with check-boxes just next to them. The first option asks whether you want network-manager to connect automatically or not. Clicking on that would make network-manager automatically try to resolve or making that connection happen for you.
The second one says System Settings. Systems settings are an option so one can configure connections system-wide, so they get enabled without you being logged in. This was not possible to do before 0.7.
Just below that is the wired tab. The Wired tab has a field called "MAC address". The MAC (Media Access Control) address is a unique identifier for the Ethernet card/Network Interface card. The MAC address is written in the form of a set of 6 grouped hexadecimal digits, e.g. 01:23:45:67:89:AB.
To find out your MAC address you can run:
sudo ip addr
You will get something like this:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether '''00:08:c7:1b:8c:02''' brd ff:ff:ff:ff:ff:ff
This tab is for secure communications where one wants to have port-based authentication using some authentication server. After checking the box to use 802.1x security for the connection you have to choose which authenticated protocol to use from TLS, Tunneled TLS or Protected EAP. Would also need to give some identity as well as choose a user or/and some certifying authority's certificate. You would also need to give your private key particulars as well as a Private Key password. You may choose or not to show the password.
This is the last but perhaps the most interesting tab in the Wired Networking tab, where one has various options of connecting:
a. Automatic (DHCP)
b. Automatic (DHCP Addresses only)
d. Link-local only and lastly
e. Shared to other computers
User Settings and System Settings
All the connection configuration files will be stored here.
User settings are defined as files in those directories that include specific access controls to limit the access to a specific user.
If it is not managing your network connections, you'll need to comment out the references to all interfaces (except lo) in /etc/network/interfaces to let Network Manager handle them.
sudo cp /etc/network/interfaces /etc/network/interfaces.bak sudo nano /etc/network/interfaces
It should look similar to this when you are done:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # This is a list of hotpluggable network interfaces. # They will be activated automatically by the hotplug subsystem. # auto eth1 # iface eth1 inet dhcp
Then reboot and you should be good to go!
Stopping and Disabling NetworkManager
The steps to disable NetworkManager depend on which of the initialization subsystems are running: Upstart or Systemd.
According to this bug here's how to disable Network Manager without uninstalling it:
Stop network manager
sudo stop network-manager
Create an override file for the Upstart job:
echo "manual" | sudo tee /etc/init/network-manager.override
Systemd became the default initialization system in Ubuntu 15.04. Here's how to stop and disable Network Manager without uninstalling it:
Stop network manager
sudo systemctl stop NetworkManager.service
Disable network manager (permanently) to avoid it restarting after a reboot
sudo systemctl disable NetworkManager.service
Editing Network Settings in nm-connection-editor
Nm-connection-editor is the configuration applet that provides easy access to advanced network settings and allows greater configuration options through a simple interface. To access nm-connection-editor, right-click on the network icon in the notification area and select Edit Connections...
Changing a network's encryption key
Nm-connection-editor enables you to easily update a network's encryption key by displaying the current key for each network and giving you the option of displaying it in clear text while you edit.
Ensuring connection to particular access points
You can specify a particular BSSID directly in nm-connection-editor. This means that in a wireless network with more than one access point, you can choose the one NetworkManager will connect to.
Using NetworkManager on the command line
NetworkManager now ships with nmcli, a simple interface to allow users to connect to particular networks, and even create connections to new wireless networks they have never connected to:
Provides all the information about how to use the nmcli utility.