HOME

TheInfoList



OR:

NetworkManager is a
daemon A demon is a malevolent supernatural being, evil spirit or fiend in religion, occultism, literature, fiction, mythology and folklore. Demon, daemon or dæmon may also refer to: Entertainment Fictional entities * Daemon (G.I. Joe), a character ...
that sits on top of libudev and other Linux kernel interfaces (and a couple of other daemons) and provides a high-level interface for the configuration of the network interfaces.


Rationale

NetworkManager is a software utility that aims to simplify the use of
computer network A computer network is a collection of communicating computers and other devices, such as printers and smart phones. In order to communicate, the computers and devices must be connected by wired media like copper cables, optical fibers, or b ...
s. NetworkManager is available for
Linux kernel The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
-based and other
Unix-like A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
s.


How it works

To connect computers with each other, various
communications protocol A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer science), sem ...
s have been developed, e.g. IEEE 802.3 (Ethernet),
IEEE 802.11 IEEE 802.11 is part of the IEEE 802 set of local area network (LAN) technical standards, and specifies the set of medium access control (MAC) and physical layer (PHY) protocols for implementing wireless local area network (WLAN) computer com ...
("wireless"), IEEE 802.15.1 (Bluetooth),
PPPoE The Point-to-Point Protocol over Ethernet (PPPoE) is a network protocol for Encapsulation (networking), encapsulating Point-to-Point Protocol (PPP) frames inside Ethernet frames. It appeared in 1999, in the context of the boom of DSL as the solu ...
, PPPoA, and many many more. Each participating computer must have the suitable hardware, e.g.
network card A network interface controller (NIC, also known as a network interface card, network adapter, LAN adapter and physical network interface) is a computer hardware component that connects a computer to a computer network. Early network interface ...
or wireless network card and this hardware must be configured accordingly to be able to establish a connection. In case of a monolithic kernel all the device drivers are part of it. The hardware is accessed (and also configured) through its device driver by the configuration utility to configure the hardware, and programs like the
web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
/ SSH/ NTP-client/etc. to send and receive network packets.


Configuration of network interfaces without NetworkManager

On Linux and all Unix-like operating systems, the utilities
ifconfig ifconfig (short for ''interface config'') is a system administration utility in Unix-like operating systems for network interface configuration. The utility is a command-line interface A command-line interface (CLI) is a means of inter ...
and the newer ip (from the
iproute2 iproute2 is a collection of userspace utilities for controlling and monitoring various aspects of networking in the Linux kernel, including routing, network interfaces, tunnels, traffic control, and network-related device drivers. Project ...
-bundle) are used to configure IEEE 802.3 and
IEEE 802.11 IEEE 802.11 is part of the IEEE 802 set of local area network (LAN) technical standards, and specifies the set of medium access control (MAC) and physical layer (PHY) protocols for implementing wireless local area network (WLAN) computer com ...
hardware. These utilities configure the kernel directly and the configuration is applied immediately. After boot-up, the user is required to configure them again. To apply the same static configuration after each boot-up, the PID1-programs are used: System V init executes
shell script A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be command languages. Typical operations performed by shell scripts include file manipu ...
s and binary programs,
systemd systemd is a software suite that provides an array of system components for Linux operating systems. The main aim is to unify service configuration and behavior across Linux distributions. Its primary component is a "system and service manage ...
parses its own conf-files (and executes programs). The boot-up configuration for network interfaces is stored in /etc/network/interfaces
/code> for Debian Linux distributions and its derivatives or ifcfg
/code> files in /etc/sysconfig/network-scripts/ for Fedora and its derivatives, and DNS-servers in /etc/resolv.conf. /etc/network/interfaces or /etc/sysconfig/network-scripts/ifcfg-* can define a static IP-address or dhclient
/code> to be used, and all kinds of VPN can be configured here as well. In case the configuration has to be changed, DHCP-protocol goes a long way to do so automatically, without the user even noticing.


Configuration of network interfaces with NetworkManager

* NetworkManager is accessible via dbus. * Configuration is stored in /etc/NetworkManager/NetworkManager.conf But as we've transitioned from physically large servers to more portable hosts that may be plugged and unplugged (or moved from WiFi hotspot to WiFi hotspot) at the user's discretion, dynamic configurations (i.e., not stored in a static configuration file but taken from outside the host, and potentially changing after boot) have become a more prevalent configuration. Bootp was an early protocol used for this, and to this day its descendant DHCP is still very common. Many Unix-like systems include a program called dhclient to handle this dynamic configuration. Given a relatively static or simple dynamic configuration, static configuration modified by dhclient works well. However, as networks and their topologies get more complex, a central manager for all the network configuration information becomes more essential.


Software architecture

NetworkManager has two components: # the NetworkManager
daemon A demon is a malevolent supernatural being, evil spirit or fiend in religion, occultism, literature, fiction, mythology and folklore. Demon, daemon or dæmon may also refer to: Entertainment Fictional entities * Daemon (G.I. Joe), a character ...
, the actual software which manages connections and reports network changes # several graphical front-ends for diverse graphical desktop environments, such as GNOME Shell,
GNOME Panel A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
, KDE Plasma Workspaces,
Cinnamon Cinnamon is a spice obtained from the inner bark of several tree species from the genus ''Cinnamomum''. Cinnamon is used mainly as an aromatic condiment and flavouring additive in a wide variety of cuisines, sweet and savoury dishes, biscuits, b ...
, etc. Both components are intended by the developers to be reasonably portable, and the applet is available to
desktop environment In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphi ...
s which implement the Freedesktop.org System Tray Protocol, including GNOME, KDE Plasma Workspaces,
Enlightenment (software) Enlightenment, also known simply as E, is a compositing window manager for the X Window System The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X originated as part of ...
and
Xfce Xfce or XFCE (pronounced as four individual letters, ) is a Free and open-source software, free and open-source desktop environment for Linux and other Unix-like operating systems. Xfce aims to be fast and Lightweight software, lightweight whil ...
. As the components communicate via D-Bus, applications can be written to be “ link-aware”, or to replace the provided applet entirely. One example is KNetworkManager, a KDE frontend to NetworkManager developed by
Novell Novell, Inc. () was an American software and services company headquartered in Provo, Utah, that existed from 1980 until 2014. Its most significant product was the multi-platform network operating system known as NetWare. Novell technolog ...
for SUSE Linux.


=Graphical front-ends and command line interfaces

= File:Network Manager 0.9.5.png, The GUI shows all available APs. The user merely needs to click on the desired one. File:GNOME Shell NM front-end 3.10.png, Graphical front-end for GNOME Shell 3.10 ;nm-applet :nm-applet is the
GNOME A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
applet In computing, an applet is any small application that performs one specific task that runs within the scope of a dedicated widget engine or a larger program, often as a plug-in. The term is frequently used to refer to a Java applet, a program ...
for NetworkManager. ;nmcli :nmcli is NetworkManager's built-in
command-line interface A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
added in 2010. nmcli allows easy display of NetworkManager's current status, manage connections and devices, monitor connections. ;nmtui :nmtui is a built-in
text-based user interface In computing, text-based user interfaces (TUI) (alternately terminal user interfaces, to reflect a dependence upon the properties of computer terminals and not just text), is a retronym describing a type of user interface (UI) common as an ear ...
. nmtui is relatively basic compared to nmcli, which only allows users to add/edit a connection, activate a connection, and set the hostname of the system. ;cnetworkmanager :cnetworkmanager command-line interface for NetworkManager.


Mobile broadband configuration assistant

Antti Kaijanmäki announced the development of a mobile broadband configuration assistant for NetworkManager in April 2008; it became available in NetworkManager version 0.7.0. Together with the package mobile-broadband-provider-info the connection is easily configured.


History

Red Hat Red Hat, Inc. (formerly Red Hat Software, Inc.) is an American software company that provides open source software products to enterprises and is a subsidiary of IBM. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North ...
initiated the NetworkManager project in 2004 with the goal of enabling Linux users to deal more easily with modern networking needs, particularly
wireless networking A wireless network is a computer network that uses wireless data connections between network nodes. Wireless networking allows homes, telecommunications networks, and business installations to avoid the costly process of introducing cables in ...
. NetworkManager takes an opportunistic approach to network selection, attempting to use the best available connection as outages occur, or as the user roams between wireless networks. It prefers
Ethernet Ethernet ( ) is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
connections over “known” wireless networks, which are preferred over wireless networks with SSIDs to which the user has never connected. The user is prompted for WEP or WPA keys as needed. The NetworkManager project was among the first major Linux desktop components to utilize
D-Bus D-Bus (short for "Desktop Bus") is a message-oriented middleware mechanism that allows communication between multiple Process (computing), processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org pro ...
and HAL extensively. Since June 2009, however, NetworkManager no longer depends on HAL, and since 0.9.10 (ca. 2014), neither does it require the D-Bus daemon to be running for root operation.


See also

* Linux on the desktop * BlueZ * GNOME Keyring Manager * usbserial * Wicd – network manager written in Python * wpa_supplicant * wvdial * netifd – tiny daemon with the ability to listen on netlink events; does not require
D-Bus D-Bus (short for "Desktop Bus") is a message-oriented middleware mechanism that allows communication between multiple Process (computing), processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org pro ...
, does not depend on
GLib GLib is a bundle of three (formerly five) low-level system libraries written in C and developed mainly by GNOME. GLib's code was separated from GTK, so it can be used by software other than GNOME and has been developed in parallel ever since ...
, targets embedded devices * ConnMan – daemon for managing Internet connections within embedded devices


References


External links


NetworkManager Homepage

Service Provider Database

NetworkManager in freedesktop.org



Original NetworkManager page at redhat.com via WaybackMachine



How to use a WiFi interface with NetworkManager
{{DEFAULTSORT:Networkmanager Applications using D-Bus Free network-related software Linux network-related software Red Hat software