Line 14: | Line 14: | ||
{{admon/tip|Drivers first|NetworkManager may only work with network interfaces once the relevant drivers are correctly installed on your system. Reboot your system after installing a new firmware or a new driver in order to ensure that the changes take effect.}} | {{admon/tip|Drivers first|NetworkManager may only work with network interfaces once the relevant drivers are correctly installed on your system. Reboot your system after installing a new firmware or a new driver in order to ensure that the changes take effect.}} | ||
== Documentation == | |||
http://projects.gnome.org/NetworkManager/developers/api/09/index.html | |||
== NetworkManager objectives == | == NetworkManager objectives == |
Revision as of 17:23, 24 July 2012
NetworkManager
NetworkManager provides automatic network detection and configuration for the system. Once enabled, the NetworkManager service also monitors the network interfaces, and may automatically switch to the best connection at any given time. Applications that include NetworkManager support may automatically switch between on-line and off-line modes when the system gains or loses network connectivity.
These facilities are most useful for modern laptops, where the user may move between wireless networks, and plug in to a variety of wired networks, but NetworkManager also provides features that are relevant to workstations. Current versions of NetworkManager support modem connections, and certain types of VPN. Development of these features is ongoing.
NetworkManager requires Fedora to have drivers for the wired and wireless interfaces on the computer. Many manufacturers of modems and wireless devices provide limited support for Linux. You may need to install additional drivers or firmware on your Fedora system in order to activate these interfaces.
Documentation
http://projects.gnome.org/NetworkManager/developers/api/09/index.html
NetworkManager objectives
NM is slowly changing from a desktop network connection configurator to a universal network configuration software that could be used as a part of the base system.
- Provide core network configuration features
- Expose the features through on-disk text-based configuration
- Expose the features through D-Bus API and CLI (GUI frontends should be built upon the D-Bus API)
Features
- Configuration using keyfile and ifcfg-rh formats
- Good IPv4 support
- Moderate IPv6 support
- Device bonding (not tested yet)
- D-Bus interface
- CLI frontends
- GUI frontends
Broken features
- Support for unmanaged devices (see known problems)
- Integration with other tools
Possible future features
- Ethernet Bridging
- Keeping wired devices allways on (for IPv6 link-local networking)
- Support for IPv6 automatic reconfiguration (changing default routes, etc...)
- Event-based IPv6 handling without timers and duplicate processing (would clean logs and make code more robust)
- Exporting list of DNS servers and handing it over to recursive DNS servers like unbound and dnsmasq (especially necessary for proper VPN access)
- Local caching nameserver with DNSSEC and forwarders
- Support for networking on manually created interfaces (e.g. bridges)
- Support for easy temporary connection setup through CLI, D-Bus (and GUI)
- Support for making (the above) temporary connections permanent
- It should be possible to configure NetworkManager not to manage any devices by default (each device managed only by explicit configuration), cmdline switch might be handy
- NetworkManager should probably log external IPv4/IPv6 address/routing changes, as well as bridge configuration changes
- NetworkManager should have an option to clean up any stuff created by itself (bridge/bond devices, addresses, etc)
Note: Some of the features described here may have been already available and working at some point of time.
More resources:
Known problems
- NetworkManager gets automaticaly respawned in F17, no sane way to temporarily disable it
- dhclient left over upon exist and spawned duplicately (also dhclient's check failes when permision denied when writing pidfile)
- Serious IPv6 problems (some of fixed in git, targeting 0.9.6), affecting also IPv4 networking and link
- IPv6 code is still full of workarounds
- Malfunctioning connection 'assume' functionality for IPv4 (removed for IPv6)
- Serious doubts about working integration with network-scripts
- Doesn't work well with dnssec-trigger/unbound/dnsmasq (DNS is not conveyed)
- Other things work only when in some specific state
- NetworkManager features are not currently implemented with testability in mind
- Too many open bug reports, many probably obsolete, especially on component NetworkManager/general in Gnome Bugzilla (230+ at the time of writing this)
Note: some of the problems are deep in the core of NetworkManager. It can be expected that more problems will emerge over time or while fixing the currently known ones.
Unreproduced problems
- List of unmanaged devices (by MAC) is sometimes ignored (sorry, cannot reproduce right now)
- Manually assigned IPv4 addresses get lost (in tens of seconds, but can't reproduce right now)
Notes
- NetworkManager builds against specific distributions, not tools or dependencies (--with-distro)
About this section of the wiki
Currently most of the information in this page and the Tools/NetworkManager subtree have been added by me (User:Pavlix). Please feel free to add, correct and clarify stuff but please get in touch with me before deleting.
Further Information
- Refer to the System Administrator's Guide here: Fedora Documentation
- Red Hat Magazine article on NetworkManager : Good summary of the technology
- The NetworkManager Website
- The NetworkManager mailing list
- Local Caching Nameserver