for NetworkManager 1.26.2 The latest version of this documentation can be found on-line at https://developer.gnome.org/NetworkManager/stable/.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy of the GNU Free Documentation License from the Free Software Foundation by visiting their Web site or by writing to:


  The Free Software Foundation, Inc.,
  51 Franklin Street - Fifth Floor,
  BostonMA 02110-1301,
  USA

Abstract

This manual is the reference documentation for NetworkManager, the standard Linux network management service. It is intended for system administrators and integrators who need to understand the capabilities of NetworkManager, its configuration options, command line tools and the D-Bus API for programmatic control of the service.

The end users NetworkManager should instead refer to respective documentation of their desktop environment of choice.

The application developers who prefer not to use the D-Bus API directly can use the libnm library shipped with NetworkManager or its bindings to a higher level language such as Python, Ruby or Vala via GObject introspection.


I. Manual Pages
NetworkManager — network management daemon
NetworkManager.conf — NetworkManager configuration file
nmcli — command-line tool for controlling NetworkManager
nmcli-examples — usage examples of nmcli
nmtui — Text User Interface for controlling NetworkManager
nm-settings-dbus — Description of settings and properties of NetworkManager connection profiles on the D-Bus API
nm-settings-nmcli — Description of settings and properties of NetworkManager connection profiles for nmcli
nm-settings-keyfile — Description of keyfile settings plugin
nm-settings-ifcfg-rh — Description of ifcfg-rh settings plugin
nm-online — ask NetworkManager whether the network is connected
nm-initrd-generator — early boot NetworkManager configuration generator
nm-openvswitch — overview of NetworkManager Open vSwitch support
II. Network Configuration Setting Specification
Configuration Settings
connection — The NMSettingConnection object is a NMSetting subclass that describes properties that apply to all NMConnection objects, regardless of what type of network connection they describe. Each NMConnection object must contain a "connection" setting.
6lowpan — The NMSetting6Lowpan object is a NMSetting subclass that describes properties necessary for connection to 6LoWPAN interfaces.
802-1x — The NMSetting8021x object is a NMSetting subclass that describes properties necessary for connection to 802.1x-authenticated networks, such as WPA and WPA2 Enterprise Wi-Fi networks and wired 802.1x networks. 802.1x connections typically use certificates and/or EAP authentication methods to securely verify, identify, and authenticate the client to the network itself, instead of simply relying on a widely shared static key. It's a good idea to read up on wpa_supplicant configuration before using this setting extensively, since most of the options here correspond closely with the relevant wpa_supplicant configuration options. Furthermore, to get a good idea of 802.1x, EAP, TLS, TTLS, etc and their applications to Wi-Fi and wired networks, you'll want to get copies of the following books. 802.11 Wireless Networks: The Definitive Guide, Second Edition Author: Matthew Gast ISBN: 978-0596100520 Cisco Wireless LAN Security Authors: Krishna Sankar, Sri Sundaralingam, Darrin Miller, and Andrew Balinsky ISBN: 978-1587051548
adsl — The NMSettingAdsl object is a NMSetting subclass that describes properties of ADSL connections.
bluetooth — The NMSettingBluetooth object is a NMSetting subclass that describes properties necessary for connection to devices that provide network connections via the Bluetooth Dial-Up Networking (DUN) and Network Access Point (NAP) profiles.
bond — The NMSettingBond object is a NMSetting subclass that describes properties necessary for bond connections.
bridge — The NMSettingBridge object is a NMSetting subclass that describes properties necessary for bridging connections.
bridge-port — The NMSettingBridgePort object is a NMSetting subclass that describes optional properties that apply to bridge ports.
cdma — The NMSettingCdma object is a NMSetting subclass that describes properties that allow connections to IS-95-based mobile broadband networks, including those using CDMA2000/EVDO technology.
dcb — The NMSettingDcb object is a NMSetting subclass that describes properties for enabling and using Data Center Bridging (DCB) on Ethernet networks. DCB is a set of protocols (including 802.1Qbb, 802.1Qaz, 802.1Qau, and 802.1AB) to eliminate packet loss in Ethernet networks and support the use of storage technologies like Fibre Channel over Ethernet (FCoE) and iSCSI.
dummy — The NMSettingDummy object is a NMSetting subclass that describes properties necessary for connection to dummy devices
ethtool — The NMSettingEthtool object is a NMSetting subclass that describes properties to control network driver and hardware settings.
generic — The NMSettingGeneric object is a NMSetting subclass that describes optional properties that apply to "generic" devices (ie, devices that NetworkManager does not specifically recognize). There are currently no properties on this object; it exists only to be the "connection type" setting on NMConnections for generic devices.
gsm — The NMSettingGsm object is a NMSetting subclass that describes properties that allow connections to 3GPP-based mobile broadband networks, including those using GPRS/EDGE and UMTS/HSPA technology.
infiniband — The NMSettingInfiniband object is a NMSetting subclass that describes properties necessary for connection to IP-over-InfiniBand networks.
ipv4 — The NMSettingIP4Config object is a NMSetting subclass that describes properties related to IPv4 addressing, routing, and Domain Name Service. NMSettingIP4Config has few properties or methods of its own; it inherits almost everything from NMSettingIPConfig. NetworkManager supports 5 values for the "method" property for IPv4. If "auto" is specified then the appropriate automatic method (DHCP, PPP, etc) is used for the interface and most other properties can be left unset. If "link-local" is specified, then a link-local address in the 169.254/16 range will be assigned to the interface. If "manual" is specified, static IP addressing is used and at least one IP address must be given in the "addresses" property. If "shared" is specified (indicating that this connection will provide network access to other computers) then the interface is assigned an address in the 10.42.x.1/24 range and a DHCP and forwarding DNS server are started, and the interface is NAT-ed to the current default network connection. "disabled" means IPv4 will not be used on this connection.
ipv6 — The NMSettingIP6Config object is a NMSetting subclass that describes properties related to IPv6 addressing, routing, and Domain Name Service NMSettingIP6Config has few properties or methods of its own; it inherits almost everything from NMSettingIPConfig. NetworkManager supports 7 values for the "method" property for IPv6. If "auto" is specified then the appropriate automatic method (PPP, router advertisement, etc) is used for the device and most other properties can be left unset. To force the use of DHCP only, specify "dhcp"; this method is only valid for Ethernet- based hardware. If "link-local" is specified, then an IPv6 link-local address will be assigned to the interface. If "manual" is specified, static IP addressing is used and at least one IP address must be given in the "addresses" property. If "ignore" is specified, IPv6 configuration is not done. Note: the "shared" method is not yet supported. If "disabled" is specified, IPv6 is disabled completely for the interface.
ip-tunnel — IP Tunneling Settings
macsec — The NMSettingMacsec object is a NMSetting subclass that describes properties necessary for connection to MACsec (IEEE 802.1AE) interfaces.
macvlan — The NMSettingMacvlan object is a NMSetting subclass that describes properties necessary for connection to macvlan interfaces.
match — Match settings
802-11-olpc-mesh — The NMSettingOlpcMesh object is a NMSetting subclass that describes properties necessary for connection to OLPC-Mesh devices.
ovs-bridge — The NMSettingOvsBridge object is a NMSetting subclass that describes properties necessary for Open vSwitch bridges.
ovs-dpdk — The NMSettingOvsDpdk object is a NMSetting subclass that describes properties necessary for Open vSwitch interfaces of type "dpdk".
ovs-interface — The NMSettingOvsInterface object is a NMSetting subclass that describes properties necessary for Open vSwitch interfaces.
ovs-patch — The NMSettingOvsPatch object is a NMSetting subclass that describes properties necessary for Open vSwitch interfaces of type "patch".
ovs-port — The NMSettingOvsPort object is a NMSetting subclass that describes properties necessary for Open vSwitch ports.
ppp — The NMSettingPpp object is a NMSetting subclass that describes properties necessary for connection to networks that require PPP transport, like PPPoE cable and DSL modems and some mobile broadband devices.
pppoe — The NMSettingPppoe object is a NMSetting subclass that describes properties necessary for connection to networks that require PPPoE connections to provide IP transport, for example cable or DSL modems.
proxy — The NMSettingProxy object is a NMSetting subclass that describes properties related to Proxy settings like PAC URL, PAC script etc. NetworkManager support 2 values for the "method" property for proxy. If "auto" is specified then WPAD takes place and the appropriate details are pushed into PacRunner or user can override this URL with a new PAC URL or a PAC script. If "none" is selected then no proxy configuration is given to PacRunner to fulfill client queries.
serial — The NMSettingSerial object is a NMSetting subclass that describes properties necessary for connections that may use serial communications, such as mobile broadband or analog telephone connections.
sriov — SR-IOV settings
tc — Linux Traffic Control Settings
team — The NMSettingTeam object is a NMSetting subclass that describes properties necessary for team connections.
team-port — The NMSettingTeamPort object is a NMSetting subclass that describes optional properties that apply to team ports.
tun — The NMSettingTun object is a NMSetting subclass that describes properties necessary for connection to TUN/TAP interfaces.
user — The NMSettingUser object is a NMSetting subclass that allow to attach arbitrary user data to NMConnection objects.
vlan — The NMSettingVlan object is a NMSetting subclass that describes properties necessary for connection to VLAN interfaces.
vpn — The NMSettingVpn object is a NMSetting subclass that describes properties necessary for connection to Virtual Private Networks. NetworkManager uses a plugin architecture to allow easier use of new VPN types, and this setting abstracts the configuration for those plugins. Since the configuration options are only known to the VPN plugins themselves, the VPN configuration options are stored as key/value pairs of strings rather than GObject properties.
vrf — The NMSettingVrf object is a NMSetting subclass that describes properties necessary for connection to vrf devices
vxlan — The NMSettingVxlan object is a NMSetting subclass that describes properties necessary for connection to VXLAN interfaces.
wifi-p2p — The NMSettingWifiP2P object is a NMSetting subclass that describes properties necessary for connection to 802.11 Wi-Fi P2P networks (aka Wi-Fi Direct).
wimax — The NMSettingWimax object is a NMSetting subclass that describes properties necessary for connection to 802.16e Mobile WiMAX networks. NetworkManager no longer supports WiMAX; while this API remains available for backward-compatibility reasons, it serves no real purpose, since WiMAX connections cannot be activated.
802-3-ethernet — The NMSettingWired object is a NMSetting subclass that describes properties necessary for connection to Ethernet networks.
wireguard — The NMSettingWireGuard object is a NMSetting subclass that contains settings for configuring WireGuard.
802-11-wireless — The NMSettingWireless object is a NMSetting subclass that describes properties necessary for connection to 802.11 Wi-Fi networks.
802-11-wireless-security — The NMSettingWirelessSecurity object is a NMSetting subclass that describes properties necessary for connection to encrypted Wi-Fi networks. It's a good idea to read up on wpa_supplicant configuration before using this setting extensively, since most of the options here correspond closely with the relevant wpa_supplicant configuration options. To get a better overview of how Wi-Fi security works, you may want to get copies of the following books. 802.11 Wireless Networks: The Definitive Guide, Second Edition Author: Matthew Gast ISBN: 978-0596100520 Cisco Wireless LAN Security Authors: Krishna Sankar, Sri Sundaralingam, Darrin Miller, and Andrew Balinsky ISBN: 978-1587051548
wpan — The NMSettingWpan object is a NMSetting subclass that describes properties necessary for configuring IEEE 802.15.4 (WPAN) MAC layer devices.
Secret flag types
III. D-Bus API Reference
The /org/freedesktop/NetworkManager object
org.freedesktop.NetworkManager — Connection Manager
The /org/freedesktop/NetworkManager/AgentManager object
org.freedesktop.NetworkManager.AgentManager — Secret Agent Manager
The /org/freedesktop/NetworkManager/DnsManager object
org.freedesktop.NetworkManager.DnsManager — DNS Configuration State
The /org/freedesktop/NetworkManager/Settings object
org.freedesktop.NetworkManager.Settings — Connection Settings Profile Manager
The /org/freedesktop/NetworkManager/Settings/* objects
org.freedesktop.NetworkManager.Settings.Connection — Connection Settings Profile
The /org/freedesktop/NetworkManager/Devices/* objects
org.freedesktop.NetworkManager.Device — Device
org.freedesktop.NetworkManager.Device.Statistics — Device Statistic Counters
org.freedesktop.NetworkManager.Device.Adsl — ADSL Device
org.freedesktop.NetworkManager.Device.Bluetooth — Bluetooth Device
org.freedesktop.NetworkManager.Device.Bond — Bonding Device
org.freedesktop.NetworkManager.Device.Bridge — Bridging Device
org.freedesktop.NetworkManager.Device.Dummy — Dummy Device
org.freedesktop.NetworkManager.Device.Generic — Unrecognized Device
org.freedesktop.NetworkManager.Device.IPTunnel — IP Tunneling Device
org.freedesktop.NetworkManager.Device.Infiniband — Infiniband Device
org.freedesktop.NetworkManager.Device.Lowpan — 6LoWPAN Device
org.freedesktop.NetworkManager.Device.Macsec — MACSec Device
org.freedesktop.NetworkManager.Device.Macvlan — MAC VLAN Device
org.freedesktop.NetworkManager.Device.Modem — Modem Device
org.freedesktop.NetworkManager.Device.OlpcMesh — OLPC Wireless Mesh Device
org.freedesktop.NetworkManager.Device.OvsBridge — OvsBridge Device
org.freedesktop.NetworkManager.Device.OvsInterface — OvsInterface Device
org.freedesktop.NetworkManager.Device.OvsPort — OvsPort Device
org.freedesktop.NetworkManager.Device.Ppp — PPP Device
org.freedesktop.NetworkManager.Device.Team — Teaming Device
org.freedesktop.NetworkManager.Device.Tun — Userspace Tunneling Device
org.freedesktop.NetworkManager.Device.Veth — Virtual Ethernet Device
org.freedesktop.NetworkManager.Device.Vlan — Virtual LAN Device
org.freedesktop.NetworkManager.Device.Vrf — VRF Device
org.freedesktop.NetworkManager.Device.Vxlan — VXLAN Device
org.freedesktop.NetworkManager.Device.WifiP2P — Wi-Fi P2P Device
org.freedesktop.NetworkManager.Device.WireGuard — WireGuard Device
org.freedesktop.NetworkManager.Device.Wired — Wired Ethernet Device
org.freedesktop.NetworkManager.Device.Wireless — Wi-Fi Device
org.freedesktop.NetworkManager.Device.Wpan — IEEE 802.15.4 (WPAN) MAC Layer Device
org.freedesktop.NetworkManager.PPP — Helper interface for a PPP plugin
The /org/freedesktop/NetworkManager/ActiveConnection/* objects
org.freedesktop.NetworkManager.Connection.Active — Active Connection
org.freedesktop.NetworkManager.VPN.Connection — Active VPN Connection
The /org/freedesktop/NetworkManager/IP4Config/* objects
org.freedesktop.NetworkManager.IP4Config — IPv4 Configuration Set
The /org/freedesktop/NetworkManager/IP6Config/* objects
org.freedesktop.NetworkManager.IP6Config — IPv6 Configuration Set
The /org/freedesktop/NetworkManager/DHCP4Config/* objects
org.freedesktop.NetworkManager.DHCP4Config — IPv4 DHCP Client State
The /org/freedesktop/NetworkManager/DHCP4Config/* objects
org.freedesktop.NetworkManager.DHCP6Config — IPv6 DHCP Client State
The /org/freedesktop/NetworkManager/AccessPoint/* objects
org.freedesktop.NetworkManager.AccessPoint — Wi-Fi Access Point
The /org.freedesktop.NetworkManager.WifiP2PPeer/* objects
org.freedesktop.NetworkManager.WifiP2PPeer — Wi-Fi P2P Peer
The /org/freedesktop/NetworkManager/Checkpoint/* objects
org.freedesktop.NetworkManager.Checkpoint — Configuration and State Snapshot
Types
NetworkManager D-Bus API Types
IV. Secret Agent D-Bus API Reference
Secret agents
org.freedesktop.NetworkManager.SecretAgent — User Secret Agent
V. VPN Plugin D-Bus API Reference
VPN services
org.freedesktop.NetworkManager.VPN.Plugin — VPN Service
Types
VPN Plugin D-Bus API Types
Index
A. License