Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Rationale  





2 How it works  



2.1  Configuration of network interfaces without NetworkManager  





2.2  Configuration of network interfaces with NetworkManager  



2.2.1  Software architecture  



2.2.1.1  Graphical front-ends and command line interfaces  









2.3  Mobile broadband configuration assistant  







3 History  





4 See also  





5 References  





6 External links  














NetworkManager






Čeština
Deutsch
Español
فارسی
Français

Italiano
Nederlands

Norsk bokmål
Português
Русский
Српски / srpski
Suomi
Українська

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


NetworkManager
Original author(s)Red Hat
Initial releaseNovember 19, 2004; 19 years ago (2004-11-19)
Stable release

1.48.4[1] Edit this on Wikidata / 5 July 2024; 18 days ago (5 July 2024)

Repository
Written inC with GObject
Operating systemSUS/POSIX[citation needed]
PlatformUnix-like[citation needed]
Type
  • Network interface configuration daemon and utility
  • Linux on the desktop
  • LicenseGNU LGPL v2.1 or later, portions GNU GPL v2 or later[2]
    Websitenetworkmanager.dev

    NetworkManager is a daemon 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

    [edit]

    NetworkManager is a software utility that aims to simplify the use of computer networks. NetworkManager is available for Linux kernel-based and other Unix-like operating systems.[citation needed]

    How it works

    [edit]
    Linux kernel: network device drivers and network stack. Utility programs are not depicted, they communicate through the SCI with the different components of the kernel.

    To connect computers with each other, various communications protocols have been developed, e.g. IEEE 802.3 (Ethernet), IEEE 802.11 ("wireless"), IEEE 802.15.1 (Bluetooth), PPPoE, PPPoA, and many many more. Each participating computer must have the suitable hardware, e.g. network cardorwireless 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/SSH/NTP-client/etc. to send and receive network packets.

    Configuration of network interfaces without NetworkManager

    [edit]

    On Linux and all Unix-like operating systems, the utilities ifconfig and the newer ip (from the iproute2-bundle) are used to configure IEEE 802.3 and IEEE 802.11 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 scripts and binary programs, systemd parses its own conf-files (and executes programs). The boot-up configuration for network interfaces is stored in /etc/network/interfaces for Debian Linux distributions and its derivatives or ifcfg files in /etc/sysconfig/network-scripts/ for Fedora and its derivatives, and DNS-servers in /etc/resolv.conf. /etc/network/interfacesor/etc/sysconfig/network-scripts/ifcfg-* can define a static IP-address or dhclient 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

    [edit]

    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.[citation needed]

    Software architecture

    [edit]

    NetworkManager has two components:

    1. the NetworkManager daemon, the actual software which manages connections and reports network changes
    2. several graphical front-ends for diverse graphical desktop environments, such as GNOME Shell, GNOME Panel, KDE Plasma Workspaces, Cinnamon, etc.

    Both components are intended by the developers to be reasonably portable, and the applet is available to desktop environments which implement the Freedesktop.org System Tray Protocol,[3] including GNOME, KDE Plasma Workspaces, Enlightenment (software) and Xfce. 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 for SUSE Linux.

    Graphical front-ends and command line interfaces
    [edit]
    nm-applet
    nm-applet is the GNOME applet for NetworkManager.
    nmcli
    nmcli is NetworkManager's built-in command-line interface added in 2010.[4] 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.[5] 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.[6]

    Mobile broadband configuration assistant

    [edit]

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

    History

    [edit]

    Red Hat initiated the NetworkManager project in 2004 with the goal of enabling Linux users to deal more easily with modern networking needs, particularly wireless networking. 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 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 WEPorWPA keys as needed.

    The NetworkManager project was among the first major Linux desktop components to utilize D-Bus 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.[8]

    See also

    [edit]

    References

    [edit]
    1. ^ "1.48.4". 5 July 2024. Retrieved 7 July 2024.
  • ^ https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md?ref_type=heads#legal
  • ^ Pennington, Havoc. "System Tray Protocol Specification". Standards.freedesktop.org. Retrieved 2012-02-04.
  • ^ "Initial pieces of nmcli, gitweb". cgit.freedesktop.org. Retrieved 2015-05-28.
  • ^ "Network Configuration Using a Text User Interface (nmtui) - Red Hat Customer Portal". Red Hat. Archived from the original on 2017-11-16. Retrieved 2017-11-16.
  • ^ "cnetworkmanager - Command Line Interface for NetworkManager". Vidner.net. Archived from the original on 2011-07-24. Retrieved 2012-02-04.
  • ^ "Announce on networkmanager-list". Mail.gnome.org. 2008-04-10. Retrieved 2012-02-04.
  • ^ "We'll Build A Dream House Of Net". Blogs.gnome.org. Retrieved 2015-05-28.
  • [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=NetworkManager&oldid=1233101208"

    Categories: 
    Applications using D-Bus
    Free network-related software
    Linux network-related software
    Red Hat software
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
    All articles with unsourced statements
    Articles with unsourced statements from April 2020
    Articles with unsourced statements from January 2018
    Articles with unsourced statements from May 2018
     



    This page was last edited on 7 July 2024, at 07:58 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki