The Joy and Pain of Gnome's NetworkManager
The Premise of the Promise

Charlie Schluting
Friday, June 5, 2009 12:31:15 PM
Pain-free networking is the promise that the NetworkManager project makes.
NetworkManager ships with most major Linux distributions now and is, by default, enabled
at boot time. For mobile laptop users NetworkManager is great, but its usefulness is
questionable for desktops and server deployments. This week we will introduce
NetworkManager and its features (and drawbacks), followed by a Cisco VPN Client how-to
next week.
The Premise of the Promise
The NetworkManager project believes that pain-free networking should be possible for
laptop users. Everything should just work, as it typically does in OS X and Windows. If
you unplug your CAT-5 cable and there is wireless available, you should be
automatically connected to the Wi-Fi network so you may continue working. Likewise, when
you return to your desk, NetworkManager should automatically connect to the faster wired
network. This is how it works in every other operating system, so generally speaking this
is a move in the right direction for Linux.
Other Stories on LinuxPlanet
|
NetworkManager also seeks to be the authoritative source of network state information.
Given that NetworkManager should know what type of network you are connected to, it is
well positioned to provide information to applications. Using dbus and hal,
NetworkManager provides interfaces for applications to query for network state and
network speed, which allows them to adjust their behavior accordingly. The example given
on the project's Web page is that your computer should not try to update itself when
there is no networking, nor when connected to a pay-per-KB GSM
network.
Supported Networks
NetworkManager supports the standard wired and wireless network types. That is, it
automatically detects available devices and attempts to use them. If eth0 (the first
wired network card) has a link, it will automatically try to connect to the network using
DHCP. If a previously used wireless network is available, the
same thing happens. You can either select an available network via the GNOME desktop
applet, or you can open the NetworkManager GUI to configure most aspects of these
connections manually. DSL is also supported in the interface, but it a tad trickier
to configure due to the wide variety of devices and link-layer protocols used by service
providers.
Mobile broadband support is also available in NetworkManager. Mobile broadband is the
data your cellular phone uses. If your phone supports it, and the appropriate driver is
installed, you can tether your phone via USB cable and it can be used as a modem. More
common these days however, are the mobile broadband USB cards. NetworkManager detects
these just like Wi-Fi cards now, and allows you to configure the network connection via
the GUI. One major difference with a mobile broadband type of connection is that it does
not ever automatically connect. The logic is that most mobile broadband connections are
pay-per-use, so NetworkManager does not want to automatically start using the connection
without the user's knowledge. If you have unlimited data, this setting can be changed:
edit the connection and select "connect automatically" on the first page.
NetworkManager also provides a neat way to configure VPN connections. OpenVPN, Cisco
VPNs, and even Microsoft's PPTP VPN are all supported, once the appropriate plugin
is installed. Some of these are more painful to configure than others, but surprisingly
PPTP is quite easy in Ubuntu. After installing the network-manager-pptp package,
NetworkManager will allow you to create a new PPTP connection via the GUI. A VPN
connection in NetworkManager can be configured to connect automatically or manually, as
desired by the user. Next week, we will get into the details of making the Cisco VPN
client work.
Next: NetworkManager Pain »