1NETWORKMANAGER.CONF(5)           Configuration          NETWORKMANAGER.CONF(5)
2
3
4

NAME

6       NetworkManager.conf - NetworkManager configuration file
7

SYNOPSIS

9       /etc/NetworkManager/NetworkManager.conf,
10       /etc/NetworkManager/conf.d/name.conf,
11       /run/NetworkManager/conf.d/name.conf,
12       /usr/lib/NetworkManager/conf.d/name.conf,
13       /var/lib/NetworkManager/NetworkManager-intern.conf
14

DESCRIPTION

16       NetworkManager.conf is the configuration file for NetworkManager. It is
17       used to set up various aspects of NetworkManager's behavior. The
18       location of the main file and configuration directories may be changed
19       through use of the --config, --config-dir, --system-config-dir, and
20       --intern-config argument for NetworkManager, respectively.
21
22       If a default NetworkManager.conf is provided by your distribution's
23       packages, you should not modify it, since your changes may get
24       overwritten by package updates. Instead, you can add additional .conf
25       files to the /etc/NetworkManager/conf.d directory. These will be read
26       in order, with later files overriding earlier ones. Packages might
27       install further configuration snippets to
28       /usr/lib/NetworkManager/conf.d. This directory is parsed first, even
29       before NetworkManager.conf. Scripts can also put per-boot configuration
30       into /run/NetworkManager/conf.d. This directory is parsed second, also
31       before NetworkManager.conf. The loading of a file
32       /run/NetworkManager/conf.d/name.conf can be prevented by adding a file
33       /etc/NetworkManager/conf.d/name.conf. Likewise, a file
34       /usr/lib/NetworkManager/conf.d/name.conf can be shadowed by putting a
35       file of the same name to either /etc/NetworkManager/conf.d or
36       /run/NetworkManager/conf.d.
37
38       NetworkManager can overwrite certain user configuration options via
39       D-Bus or other internal operations. In this case it writes those
40       changes to /var/lib/NetworkManager/NetworkManager-intern.conf. This
41       file is not intended to be modified by the user, but it is read last
42       and can shadow user configuration from NetworkManager.conf.
43
44       Certain settings from the configuration can be reloaded at runtime
45       either by sending SIGHUP signal or via D-Bus' Reload call.
46

FILE FORMAT

48       The configuration file format is so-called key file (sort of ini-style
49       format). It consists of sections (groups) of key-value pairs. Lines
50       beginning with a '#' and blank lines are considered comments. Sections
51       are started by a header line containing the section enclosed in '[' and
52       ']', and ended implicitly by the start of the next section or the end
53       of the file. Each key-value pair must be contained in a section.
54
55       For keys that take a list of devices as their value, you can specify
56       devices by their MAC addresses or interface names, or "*" to specify
57       all devices. See the section called “Device List Format” below.
58
59       Minimal system settings configuration file looks like this:
60
61           [main]
62           plugins=keyfile
63
64       As an extension to the normal keyfile format, you can also append a
65       value to a previously-set list-valued key by doing:
66
67           plugins+=another-plugin
68           plugins-=remove-me
69
70

MAIN SECTION

72       plugins
73           Lists system settings plugin names separated by ','. These plugins
74           are used to read and write system-wide connection profiles. When
75           multiple plugins are specified, the connections are read from all
76           listed plugins. When writing connections, the plugins will be asked
77           to save the connection in the order listed here; if the first
78           plugin cannot write out that connection type (or can't write out
79           any connections) the next plugin is tried, etc. If none of the
80           plugins can save the connection, an error is returned to the user.
81
82           The default value and the number of available plugins is
83           distro-specific. See the section called “PLUGINS” below for the
84           available plugins. Note that NetworkManager's native keyfile plugin
85           is always appended to the end of this list (if it doesn't already
86           appear earlier in the list).
87
88       monitor-connection-files
89           This setting is deprecated and has no effect. Profiles from disk
90           are never automatically reloaded. Use for example nmcli connection
91           (re)load for that.
92
93       auth-polkit
94           Whether the system uses PolicyKit for authorization. If true,
95           non-root requests are authorized using PolicyKit. Requests from
96           root (user ID zero) are always granted without asking PolicyKit. If
97           false, all requests will be allowed and PolicyKit is not used. If
98           set to root-only PolicyKit is not used and all requests except root
99           are denied. The default value is true.
100
101       dhcp
102           This key sets up what DHCP client NetworkManager will use. Allowed
103           values are dhclient, dhcpcd, and internal. The dhclient and dhcpcd
104           options require the indicated clients to be installed. The internal
105           option uses a built-in DHCP client which is not currently as
106           featureful as the external clients.
107
108           If this key is missing, it defaults to internal. It the chosen
109           plugin is not available, clients are looked for in this order:
110           dhclient, dhcpcd, internal.
111
112       no-auto-default
113           Specify devices for which NetworkManager shouldn't create default
114           wired connection (Auto eth0). By default, NetworkManager creates a
115           temporary wired connection for any Ethernet device that is managed
116           and doesn't have a connection configured. List a device in this
117           option to inhibit creating the default connection for the device.
118           May have the special value * to apply to all devices.
119
120           When the default wired connection is deleted or saved to a new
121           persistent connection by a plugin, the device is added to a list in
122           the file /var/lib/NetworkManager/no-auto-default.state to prevent
123           creating the default connection for that device again.
124
125           See the section called “Device List Format” for the syntax how to
126           specify a device.
127
128           Example:
129
130               no-auto-default=00:22:68:5c:5d:c4,00:1e:65:ff:aa:ee
131               no-auto-default=eth0,eth1
132               no-auto-default=*
133
134
135       ignore-carrier
136           This setting is deprecated for the per-device setting
137           ignore-carrier which overwrites this setting if specified (See
138           ignore-carrier). Otherwise, it is a list of matches to specify for
139           which device carrier should be ignored. See the section called
140           “Device List Format” for the syntax how to specify a device. Note
141           that master types like bond, bridge, and team ignore carrier by
142           default. You can however revert that default using the "except:"
143           specifier (or better, use the per-device setting instead of the
144           deprecated setting).
145
146       assume-ipv6ll-only
147           Specify devices for which NetworkManager will try to generate a
148           connection based on initial configuration when the device only has
149           an IPv6 link-local address.
150
151           See the section called “Device List Format” for the syntax how to
152           specify a device.
153
154       configure-and-quit
155           When set to 'true', NetworkManager quits after performing initial
156           network configuration but spawns small helpers to preserve DHCP
157           leases and IPv6 addresses. This is useful in environments where
158           network setup is more or less static or it is desirable to save
159           process time but still handle some dynamic configurations. When
160           this option is true, network configuration for Wi-Fi, WWAN,
161           Bluetooth, ADSL, and PPPoE interfaces cannot be preserved due to
162           their use of external services, and these devices will be
163           deconfigured when NetworkManager quits even though other
164           interface's configuration may be preserved. Also, to preserve DHCP
165           addresses the 'dhcp' option must be set to 'internal'. The default
166           value of the 'configure-and-quit' option is 'false', meaning that
167           NetworkManager will continue running after initial network
168           configuration and continue responding to system and hardware
169           events, D-Bus requests, and user commands.
170
171       hostname-mode
172           Set the management mode of the hostname. This parameter will affect
173           only the transient hostname. If a valid static hostname is set,
174           NetworkManager will skip the update of the hostname despite the
175           value of this option. An hostname empty or equal to 'localhost',
176           'localhost6', 'localhost.localdomain' or 'localhost6.localdomain'
177           is considered invalid.
178
179           default: NetworkManager will update the hostname with the one
180           provided via DHCP on the main connection (the one with a default
181           route). If not present, the hostname will be updated to the last
182           one set outside NetworkManager. If it is not valid, NetworkManager
183           will try to recover the hostname from the reverse lookup of the IP
184           address of the main connection. If this fails too, the hostname
185           will be set to 'localhost.localdomain'.
186
187           dhcp: NetworkManager will update the transient hostname only with
188           information coming from DHCP. No fallback nor reverse lookup will
189           be performed, but when the dhcp connection providing the hostname
190           is deactivated, the hostname is reset to the last hostname set
191           outside NetworkManager or 'localhost' if none valid is there.
192
193           none: NetworkManager will not manage the transient hostname and
194           will never set it.
195
196       dns
197           Set the DNS processing mode.
198
199           If the key is unspecified, default is used, unless /etc/resolv.conf
200           is a symlink to /run/systemd/resolve/stub-resolv.conf,
201           /run/systemd/resolve/resolv.conf, /lib/systemd/resolv.conf or
202           /usr/lib/systemd/resolv.conf. In that case, systemd-resolved is
203           chosen automatically.
204
205           default: NetworkManager will update /etc/resolv.conf to reflect the
206           nameservers provided by currently active connections.
207
208           dnsmasq: NetworkManager will run dnsmasq as a local caching
209           nameserver, using "Conditional Forwarding" if you are connected to
210           a VPN, and then update resolv.conf to point to the local
211           nameserver. It is possible to pass custom options to the dnsmasq
212           instance by adding them to files in the
213           "/etc/NetworkManager/dnsmasq.d/" directory. Note that when multiple
214           upstream servers are available, dnsmasq will initially contact them
215           in parallel and then use the fastest to respond, probing again
216           other servers after some time. This behavior can be modified
217           passing the 'all-servers' or 'strict-order' options to dnsmasq (see
218           the manual page for more details).
219
220           systemd-resolved: NetworkManager will push the DNS configuration to
221           systemd-resolved
222
223           unbound: NetworkManager will talk to unbound and dnssec-triggerd,
224           using "Conditional Forwarding" with DNSSEC support.
225           /etc/resolv.conf will be managed by dnssec-trigger daemon.
226
227           none: NetworkManager will not modify resolv.conf. This implies
228           rc-manager unmanaged
229
230           Note that the plugins dnsmasq, systemd-resolved and unbound are
231           caching local nameservers. Hence, when NetworkManager writes
232           /run/NetworkManager/resolv.conf and /etc/resolv.conf (according to
233           rc-manager setting below), the name server there will be localhost
234           only. NetworkManager also writes a file
235           /run/NetworkManager/no-stub-resolv.conf that contains the original
236           name servers pushed to the DNS plugin.
237
238           When using dnsmasq and systemd-resolved per-connection added dns
239           servers will always be queried using the device the connection has
240           been activated on.
241
242       rc-manager
243           Set the resolv.conf management mode. The default value depends on
244           NetworkManager build options, and this version of NetworkManager
245           was build with a default of "symlink". Regardless of this setting,
246           NetworkManager will always write resolv.conf to its runtime state
247           directory /run/NetworkManager/resolv.conf.
248
249           symlink: If /etc/resolv.conf is a regular file, NetworkManager will
250           replace the file on update. If /etc/resolv.conf is instead a
251           symlink, NetworkManager will leave it alone. Unless the symlink
252           points to the internal file /run/NetworkManager/resolv.conf, in
253           which case the symlink will be updated to emit an inotify
254           notification. This allows the user to conveniently instruct
255           NetworkManager not to manage /etc/resolv.conf by replacing it with
256           a symlink.
257
258           file: NetworkManager will write /etc/resolv.conf as file. If it
259           finds a symlink to an existing target, it will follow the symlink
260           and update the target instead. In no case will an existing symlink
261           be replaced by a file. Note that older versions of NetworkManager
262           behaved differently and would replace dangling symlinks with a
263           plain file.
264
265           resolvconf: NetworkManager will run resolvconf to update the DNS
266           configuration.
267
268           netconfig: NetworkManager will run netconfig to update the DNS
269           configuration.
270
271           unmanaged: don't touch /etc/resolv.conf.
272
273           none: deprecated alias for symlink.
274
275       systemd-resolved
276           Send the connection DNS configuration to systemd-resolved. Defaults
277           to "true".
278
279           Note that this setting is complementary to the dns setting. You can
280           keep this enabled while using dns set to another DNS plugin
281           alongside systemd-resolved, or dns set to systemd-resolved to
282           configure the system resolver to use systemd-resolved.
283
284           If systemd-resolved is enabled, the connectivity check resolves the
285           hostname per-device.
286
287       debug
288           Comma separated list of options to aid debugging. This value will
289           be combined with the environment variable NM_DEBUG. Currently the
290           following values are supported:
291
292           RLIMIT_CORE: set ulimit -c unlimited to write out core dumps.
293           Beware, that a core dump can contain sensitive information such as
294           passwords or configuration settings.
295
296           fatal-warnings: set g_log_set_always_fatal() to core dump on
297           warning messages from glib. This is equivalent to the
298           --g-fatal-warnings command line option.
299
300       autoconnect-retries-default
301           The number of times a connection activation should be automatically
302           tried before switching to another one. This value applies only to
303           connections that can auto-connect and have a
304           connection.autoconnect-retries property set to -1. If not
305           specified, connections will be tried 4 times. Setting this value to
306           1 means to try activation once, without retry.
307
308       slaves-order
309           This key specifies in which order slave connections are
310           auto-activated on boot or when the master activates them. Allowed
311           values are name (order connection by interface name, the default),
312           or index (order slaves by their kernel index).
313

KEYFILE SECTION

315       This section contains keyfile-plugin-specific options, and is normally
316       only used when you are not using any other distro-specific plugin.
317
318       hostname
319           This key is deprecated and has no effect since the hostname is now
320           stored in /etc/hostname or other system configuration files
321           according to build options.
322
323       path
324           The location where keyfiles are read and stored. This defaults to
325           "/etc/NetworkManager/system-connections".
326
327       unmanaged-devices
328           Set devices that should be ignored by NetworkManager.
329
330           See the section called “Device List Format” for the syntax how to
331           specify a device.
332
333           Example:
334
335               unmanaged-devices=interface-name:em4
336               unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth2
337
338

IFUPDOWN SECTION

340       This section contains ifupdown-specific options and thus only has
341       effect when using the ifupdown plugin.
342
343       managed
344           If set to true, then interfaces listed in /etc/network/interfaces
345           are managed by NetworkManager. If set to false, then any interface
346           listed in /etc/network/interfaces will be ignored by
347           NetworkManager. Remember that NetworkManager controls the default
348           route, so because the interface is ignored, NetworkManager may
349           assign the default route to some other interface.
350
351           The default value is false.
352

LOGGING SECTION

354       This section controls NetworkManager's logging. Any settings here are
355       overridden by the --log-level and --log-domains command-line options.
356
357       level
358           The default logging verbosity level. One of OFF, ERR, WARN, INFO,
359           DEBUG, TRACE. The ERR level logs only critical errors. WARN logs
360           warnings that may reflect operation. INFO logs various
361           informational messages that are useful for tracking state and
362           operations. DEBUG enables verbose logging for debugging purposes.
363           TRACE enables even more verbose logging then DEBUG level.
364           Subsequent levels also log all messages from earlier levels; thus
365           setting the log level to INFO also logs error and warning messages.
366
367       domains
368           The following log domains are available: PLATFORM, RFKILL, ETHER,
369           WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS,
370           VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE,
371           OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN, BRIDGE,
372           DBUS_PROPS, TEAM, CONCHECK, DCB, DISPATCH, AUDIT, SYSTEMD,
373           VPN_PLUGIN, PROXY.
374
375           In addition, these special domains can be used: NONE, ALL, DEFAULT,
376           DHCP, IP.
377
378           You can specify per-domain log level overrides by adding a colon
379           and a log level to any domain. E.g., "WIFI:DEBUG,WIFI_SCAN:OFF".
380
381           Domain descriptions:
382               PLATFORM    : OS (platform) operations
383               RFKILL      : RFKill subsystem operations
384               ETHER       : Ethernet device operations
385               WIFI        : Wi-Fi device operations
386               BT          : Bluetooth operations
387               MB          : Mobile broadband operations
388               DHCP4       : DHCP for IPv4
389               DHCP6       : DHCP for IPv6
390               PPP         : Point-to-point protocol operations
391               WIFI_SCAN   : Wi-Fi scanning operations
392               IP4         : IPv4-related operations
393               IP6         : IPv6-related operations
394               AUTOIP4     : AutoIP operations
395               DNS         : Domain Name System related operations
396               VPN         : Virtual Private Network connections and
397               operations
398               SHARING     : Connection sharing. With TRACE level log queries
399               for dnsmasq instance
400               SUPPLICANT  : WPA supplicant related operations
401               AGENTS      : Secret agents operations and communication
402               SETTINGS    : Settings/config service operations
403               SUSPEND     : Suspend/resume
404               CORE        : Core daemon and policy operations
405               DEVICE      : Activation and general interface operations
406               OLPC        : OLPC Mesh device operations
407               WIMAX       : WiMAX device operations
408               INFINIBAND  : InfiniBand device operations
409               FIREWALL    : FirewallD related operations
410               ADSL        : ADSL device operations
411               BOND        : Bonding operations
412               VLAN        : VLAN operations
413               BRIDGE      : Bridging operations
414               DBUS_PROPS  : D-Bus property changes
415               TEAM        : Teaming operations
416               CONCHECK    : Connectivity check
417               DCB         : Data Center Bridging (DCB) operations
418               DISPATCH    : Dispatcher scripts
419               AUDIT       : Audit records
420               SYSTEMD     : Messages from internal libsystemd
421               VPN_PLUGIN  : logging messages from VPN plugins
422               PROXY       : logging messages for proxy handling
423
424               NONE        : when given by itself logging is disabled
425               ALL         : all log domains
426               DEFAULT     : default log domains
427               DHCP        : shortcut for "DHCP4,DHCP6"
428               IP          : shortcut for "IP4,IP6"
429
430               HW          : deprecated alias for "PLATFORM"
431
432           In general, the logfile should not contain passwords or private
433           data. However, you are always advised to check the file before
434           posting it online or attaching to a bug report.  VPN_PLUGIN is
435           special as it might reveal private information of the VPN plugins
436           with verbose levels. Therefore this domain will be excluded when
437           setting ALL or DEFAULT to more verbose levels then INFO.
438
439       backend
440           The logging backend. Supported values are "syslog" and "journal".
441           When NetworkManager is started with "--debug" in addition all
442           messages will be printed to stderr. If unspecified, the default is
443           "journal".
444
445       audit
446           Whether the audit records are delivered to auditd, the audit
447           daemon. If false, audit records will be sent only to the
448           NetworkManager logging system. If set to true, they will be also
449           sent to auditd. The default value is false.
450

CONNECTION SECTION

452       Specify default values for connections.
453
454       Example:
455
456           [connection]
457           ipv6.ip6-privacy=0
458
459
460   Supported Properties
461       Not all properties can be overwritten, only the following properties
462       are supported to have their default values configured (see nm-
463       settings(5) for details). A default value is only consulted if the
464       corresponding per-connection value explicitly allows for that.
465
466
467
468       802-1x.auth-timeout
469
470       cdma.mtu
471
472       connection.auth-retries
473           If left unspecified, the default value is 3 tries before failing
474           the connection.
475
476       connection.autoconnect-slaves
477
478       connection.mud-url
479           If unspecified, MUD URL defaults to "none".
480
481       connection.lldp
482
483       connection.llmnr
484           If unspecified, the ultimate default values depends on the DNS
485           plugin. With systemd-resolved the default currently is "yes" (2)
486           and for all other plugins "no" (0).
487
488       connection.mdns
489           If unspecified, the ultimate default values depends on the DNS
490           plugin. With systemd-resolved the default currently is "no" (0) and
491           for all other plugins also "no" (0).
492
493       connection.stable-id
494
495       ethernet.cloned-mac-address
496           If left unspecified, it defaults to "preserve".
497
498       ethernet.generate-mac-address-mask
499
500       ethernet.mtu
501           If configured explicitly to 0, the MTU is not reconfigured during
502           device activation unless it is required due to IPv6 constraints. If
503           left unspecified, a DHCP/IPv6 SLAAC provided value is used or the
504           MTU is not reconfigured during activation.
505
506       ethernet.wake-on-lan
507
508       gsm.mtu
509
510       infiniband.mtu
511           If configured explicitly to 0, the MTU is not reconfigured during
512           device activation unless it is required due to IPv6 constraints. If
513           left unspecified, a DHCP/IPv6 SLAAC provided value is used or the
514           MTU is left unspecified on activation.
515
516       ip-tunnel.mtu
517           If configured explicitly to 0, the MTU is not reconfigured during
518           device activation unless it is required due to IPv6 constraints. If
519           left unspecified, a DHCP/IPv6 SLAAC provided value is used or a
520           default of 1500.
521
522       ipv4.dad-timeout
523
524       ipv4.dhcp-client-id
525
526       ipv4.dhcp-iaid
527           If left unspecified, it defaults to "ifname".
528
529       ipv4.dhcp-hostname-flags
530           If left unspecified, the value 3 (fqdn-encoded,fqdn-serv-update) is
531           used.
532
533       ipv4.dhcp-timeout
534           If left unspecified, the default value for the interface type is
535           used.
536
537       ipv4.dhcp-vendor-class-identifier
538           If left unspecified, the default is to not send the DHCP option to
539           the server.
540
541       ipv4.dns-priority
542           If unspecified or zero, use 50 for VPN profiles and 100 for other
543           profiles.
544
545       ipv4.route-metric
546
547       ipv4.route-table
548           If left unspecified, routes are only added to the main table. Note
549           that this is different from explicitly selecting the main table
550           254, because of how NetworkManager removes extraneous routes from
551           the tables.
552
553       ipv6.ra-timeout
554           If left unspecified, the default value depends on the sysctl
555           solicitation settings.
556
557       ipv6.dhcp-duid
558           If left unspecified, it defaults to "lease".
559
560       ipv6.dhcp-iaid
561           If left unspecified, it defaults to "ifname".
562
563       ipv6.dhcp-hostname-flags
564           If left unspecified, the value 1 (fqdn-serv-update) is used.
565
566       ipv6.dhcp-timeout
567           If left unspecified, the default value for the interface type is
568           used.
569
570       ipv6.dns-priority
571           If unspecified or zero, use 50 for VPN profiles and 100 for other
572           profiles.
573
574       ipv6.ip6-privacy
575           If ipv6.ip6-privacy is unset, use the content of
576           "/proc/sys/net/ipv6/conf/default/use_tempaddr" as last fallback.
577
578       ipv6.route-metric
579
580       ipv6.route-table
581           If left unspecified, routes are only added to the main table. Note
582           that this is different from explicitly selecting the main table
583           254, because of how NetworkManager removes extraneous routes from
584           the tables.
585
586       sriov.autoprobe-drivers
587           If left unspecified, drivers are autoprobed when the SR-IOV VF gets
588           created.
589
590       vpn.timeout
591           If left unspecified, default value of 60 seconds is used.
592
593       wifi.cloned-mac-address
594           If left unspecified, it defaults to "preserve".
595
596       wifi.generate-mac-address-mask
597
598       wifi.mac-address-randomization
599           If left unspecified, MAC address randomization is disabled. This
600           setting is deprecated for wifi.cloned-mac-address.
601
602       wifi.mtu
603           If configured explicitly to 0, the MTU is not reconfigured during
604           device activation unless it is required due to IPv6 constraints. If
605           left unspecified, a DHCP/IPv6 SLAAC provided value is used or a
606           default of 1500.
607
608       wifi.powersave
609           If left unspecified, the default value "ignore" will be used.
610
611       wifi-sec.pmf
612           If left unspecified, the default value "optional" will be used.
613
614       wifi-sec.fils
615           If left unspecified, the default value "optional" will be used.
616
617       wifi.wake-on-wlan
618
619       wireguard.mtu
620
621
622   Sections
623       You can configure multiple connection sections, by having different
624       sections with a name that all start with "connection". Example:
625
626           [connection]
627           ipv6.ip6-privacy=0
628           connection.autoconnect-slaves=1
629           vpn.timeout=120
630
631           [connection-wifi-wlan0]
632           match-device=interface-name:wlan0
633           ipv4.route-metric=50
634
635           [connection-wifi-other]
636           match-device=type:wifi
637           ipv4.route-metric=55
638           ipv6.ip6-privacy=1
639
640       The sections within one file are considered in order of appearance,
641       with the exception that the [connection] section is always considered
642       last. In the example above, this order is [connection-wifi-wlan0],
643       [connection-wlan-other], and [connection]. When checking for a default
644       configuration value, the sections are searched until the requested
645       value is found. In the example above, "ipv4.route-metric" for wlan0
646       interface is set to 50, and for all other Wi-Fi typed interfaces to 55.
647       Also, Wi-Fi devices would have IPv6 private addresses enabled by
648       default, but other devices would have it disabled. Note that also
649       "wlan0" gets "ipv6.ip6-privacy=1", because although the section
650       "[connection-wifi-wlan0]" matches the device, it does not contain that
651       property and the search continues.
652
653       When having different sections in multiple files, sections from files
654       that are read later have higher priority. So within one file the
655       priority of the sections is top-to-bottom. Across multiple files later
656       definitions take precedence.
657
658       The following properties further control how a connection section
659       applies.
660
661       match-device
662           An optional device spec that restricts when the section applies.
663           See the section called “Device List Format” for the possible
664           values.
665
666       stop-match
667           An optional boolean value which defaults to no. If the section
668           matches (based on match-device), further sections will not be
669           considered even if the property in question is not present. In the
670           example above, if [connection-wifi-wlan0] would have stop-match set
671           to yes, the device wlan0 would have ipv6.ip6-privacy property
672           unspecified. That is, the search for the property would not
673           continue in the connection sections [connection-wifi-other] or
674           [connection].
675

DEVICE SECTION

677       Contains per-device persistent configuration.
678
679       Example:
680
681           [device]
682           match-device=interface-name:eth3
683           managed=1
684
685
686   Supported Properties
687       The following properties can be configured per-device.
688
689       managed
690           Whether the device is managed or not. A device can be marked as
691           managed via udev rules (ENV{NM_UNMANAGED}), or via setting plugins
692           (keyfile.unmanaged-devices). This is yet another way. Note that
693           this configuration can be overruled at runtime via D-Bus. Also, it
694           has higher priority then udev rules.
695
696       carrier-wait-timeout
697           Specify the timeout for waiting for carrier in milliseconds. When
698           the device loses carrier, NetworkManager does not react
699           immediately. Instead, it waits for this timeout before considering
700           the link lost. Also, on startup, NetworkManager considers the
701           device as busy for this time, as long as the device has no carrier.
702           This delays startup-complete signal and NetworkManager-wait-online.
703           Configuring this too high means to block NetworkManager-wait-online
704           longer then necessary. Configuring it too low, means that
705           NetworkManager will declare startup-complete, although carrier is
706           about to come and auto-activation to kick in. The default is 5000
707           milliseconds.
708
709       ignore-carrier
710           Specify devices for which NetworkManager will (partially) ignore
711           the carrier state. Normally, for device types that support
712           carrier-detect, such as Ethernet and InfiniBand, NetworkManager
713           will only allow a connection to be activated on the device if
714           carrier is present (ie, a cable is plugged in), and it will
715           deactivate the device if carrier drops for more than a few seconds.
716
717           A device with carrier ignored will allow activating connections on
718           that device even when it does not have carrier, provided that the
719           connection uses only statically-configured IP addresses.
720           Additionally, it will allow any active connection (whether static
721           or dynamic) to remain active on the device when carrier is lost.
722
723           Note that the "carrier" property of NMDevices and device D-Bus
724           interfaces will still reflect the actual device state; it's just
725           that NetworkManager will not make use of that information.
726
727           Master types like bond, bridge and team ignore carrier by default,
728           while other device types react on carrier changes by default.
729
730           This setting overwrites the deprecated main.ignore-carrier setting
731           above.
732
733       wifi.scan-rand-mac-address
734           Configures MAC address randomization of a Wi-Fi device during
735           scanning. This defaults to yes in which case a random,
736           locally-administered MAC address will be used. The setting
737           wifi.scan-generate-mac-address-mask allows to influence the
738           generated MAC address to use certain vendor OUIs. If disabled, the
739           MAC address during scanning is left unchanged to whatever is
740           configured. For the configured MAC address while the device is
741           associated, see instead the per-connection setting
742           wifi.cloned-mac-address.
743
744       wifi.backend
745           Specify the Wi-Fi backend used for the device. Currently supported
746           are wpa_supplicant and iwd (experimental).
747
748       wifi.scan-generate-mac-address-mask
749           Like the per-connection settings ethernet.generate-mac-address-mask
750           and wifi.generate-mac-address-mask, this allows to configure the
751           generated MAC addresses during scanning. See nm-settings(5) for
752           details.
753
754       sriov-num-vfs
755           Specify the number of virtual functions (VF) to enable for a PCI
756           physical device that supports single-root I/O virtualization
757           (SR-IOV).
758
759   Sections
760       The [device] section works the same as the [connection] section. That
761       is, multiple sections that all start with the prefix "device" can be
762       specified. The settings "match-device" and "stop-match" are available
763       to match a device section on a device. The order of multiple sections
764       is also top-down within the file and later files overwrite previous
765       settings. See “Sections” under the section called “CONNECTION SECTION”
766       for details.
767

CONNECTIVITY SECTION

769       This section controls NetworkManager's optional connectivity checking
770       functionality. This allows NetworkManager to detect whether or not the
771       system can actually access the internet or whether it is behind a
772       captive portal.
773
774       Connectivity checking serves two purposes. For one, it exposes a
775       connectivity state on D-Bus, which other applications may use. For
776       example, Gnome's portal helper uses this as signal to show a captive
777       portal login page. The other use is that default-route of devices
778       without global connectivity get a penalty of +20000 to the
779       route-metric. This has the purpose to give a better default-route to
780       devices that have global connectivity. For example, when being
781       connected to WWAN and to a Wi-Fi network which is behind a captive
782       portal, WWAN still gets preferred until login.
783
784       Note that your distribution might set
785       /proc/sys/net/ipv4/conf/*/rp_filter to strict filtering. That works
786       badly with per-device connectivity checking, which uses SO_BINDDEVICE
787       to send requests on all devices. A strict rp_filter setting will reject
788       any response and the connectivity check on all but the best route will
789       fail.
790
791       enabled
792           Whether connectivity check is enabled. Note that to enable
793           connectivity check, a valid uri must also be configured. The value
794           defaults to true, but since the uri is unset by default,
795           connectivity check may be disabled. The main purpose of this option
796           is to have a single flag to disable connectivity check. Note that
797           this setting can also be set via D-Bus API at runtime. In that
798           case, the value gets stored in
799           /var/lib/NetworkManager/NetworkManager-intern.conf file.
800
801       uri
802           The URI of a web page to periodically request when connectivity is
803           being checked. This page should return the header
804           "X-NetworkManager-Status" with a value of "online". Alternatively,
805           its body content should be set to "NetworkManager is online". The
806           body content check can be controlled by the response option. If
807           this option is blank or missing, connectivity checking is disabled.
808
809       interval
810           Specified in seconds; controls how often connectivity is checked
811           when a network connection exists. If set to 0 connectivity checking
812           is disabled. If missing, the default is 300 seconds.
813
814       response
815           If set, controls what body content NetworkManager checks for when
816           requesting the URI for connectivity checking. Note that this only
817           compares that the HTTP response starts with the specifid text, it
818           does not compare the exact string. This behavior might change in
819           the future, so avoid relying on it. If missing, the response
820           defaults to "NetworkManager is online". If set to empty, the HTTP
821           server is expected to answer with status code 204 or send no data.
822

GLOBAL-DNS SECTION

824       This section specifies global DNS settings that override
825       connection-specific configuration.
826
827       searches
828           A list of search domains to be used during hostname lookup.
829
830       options
831           A list of options to be passed to the hostname resolver.
832

GLOBAL-DNS-DOMAIN SECTIONS

834       Sections with a name starting with the "global-dns-domain-" prefix
835       allow to define global DNS configuration for specific domains. The part
836       of section name after "global-dns-domain-" specifies the domain name a
837       section applies to. More specific domains have the precedence over less
838       specific ones and the default domain is represented by the wildcard
839       "*". A default domain section is mandatory.
840
841       servers
842           A list of addresses of DNS servers to be used for the given domain.
843
844       options
845           A list of domain-specific DNS options. Not used at the moment.
846

.CONFIG SECTIONS

848       This is a special section that contains options which apply to the
849       configuration file that contains the option.
850
851       enable
852           Defaults to "true". If "false", the configuration file will be
853           skipped during loading. Note that the main configuration file
854           NetworkManager.conf cannot be disabled.
855
856               # always skip loading the config file
857               [.config]
858               enable=false
859
860           You can also match against the version of NetworkManager. For
861           example the following are valid configurations:
862
863               # only load on version 1.0.6
864               [.config]
865               enable=nm-version:1.0.6
866
867               # load on all versions 1.0.x, but not 1.2.x
868               [.config]
869               enable=nm-version:1.0
870
871               # only load on versions >= 1.1.6. This does not match
872               # with version 1.2.0 or 1.4.4. Only the last digit is considered.
873               [.config]
874               enable=nm-version-min:1.1.6
875
876               # only load on versions >= 1.2. Contrary to the previous
877               # example, this also matches with 1.2.0, 1.2.10, 1.4.4, etc.
878               [.config]
879               enable=nm-version-min:1.2
880
881               # Match against the maximum allowed version. The example matches
882               # versions 1.2.0, 1.2.2, 1.2.4. Again, only the last version digit
883               # is allowed to be smaller. So this would not match match on 1.1.10.
884               [.config]
885               enable=nm-version-max:1.2.6
886
887           You can also match against the value of the environment variable
888           NM_CONFIG_ENABLE_TAG, like:
889
890               # always skip loading the file when running NetworkManager with
891               # environment variable "NM_CONFIG_ENABLE_TAG=TAG1"
892               [.config]
893               enable=env:TAG1
894
895           More then one match can be specified. The configuration will be
896           enabled if one of the predicates matches ("or"). The special prefix
897           "except:" can be used to negate the match. Note that if one
898           except-predicate matches, the entire configuration will be
899           disabled. In other words, a except predicate always wins over other
900           predicates. If the setting only consists of "except:" matches and
901           none of the negative conditions are satisfied, the configuration is
902           still enabled.
903
904               # enable the configuration either when the environment variable
905               # is present or the version is at least 1.2.0.
906               [.config]
907               enable=env:TAG2,nm-version-min:1.2
908
909               # enable the configuration for version >= 1.2.0, but disable
910               # it when the environment variable is set to "TAG3"
911               [.config]
912               enable=except:env:TAG3,nm-version-min:1.2
913
914               # enable the configuration on >= 1.3, >= 1.2.6, and >= 1.0.16.
915               # Useful if a certain feature is only present since those releases.
916               [.config]
917               enable=nm-version-min:1.3,nm-version-min:1.2.6,nm-version-min:1.0.16
918
919

PLUGINS

921       Settings plugins for reading and writing connection profiles. The
922       number of available plugins is distribution specific.
923
924       keyfile
925           The keyfile plugin is the generic plugin that supports all the
926           connection types and capabilities that NetworkManager has. It
927           writes files out in an .ini-style format in
928           /etc/NetworkManager/system-connections. See nm-settings-keyfile(5)
929           for details about the file format.
930
931           The stored connection file may contain passwords, secrets and
932           private keys in plain text, so it will be made readable only to
933           root, and the plugin will ignore files that are readable or
934           writable by any user or group other than root. See "Secret flag
935           types" in nm-settings(5) for how to avoid storing passwords in
936           plain text.
937
938           This plugin is always active, and will automatically be used to
939           store any connections that aren't supported by any other active
940           plugin.
941
942       ifcfg-rh
943           This plugin is used on the Fedora and Red Hat Enterprise Linux
944           distributions to read and write configuration from the standard
945           /etc/sysconfig/network-scripts/ifcfg-* files. It currently supports
946           reading Ethernet, Wi-Fi, InfiniBand, VLAN, Bond, Bridge, and Team
947           connections. Enabling ifcfg-rh implicitly enables ibft plugin, if
948           it is available. This can be disabled by adding no-ibft. See
949           /usr/share/doc/initscripts/sysconfig.txt and nm-settings-ifcfg-
950           rh(5) for more information about the ifcfg file format.
951
952       ifupdown
953           This plugin is used on the Debian and Ubuntu distributions, and
954           reads Ethernet and Wi-Fi connections from /etc/network/interfaces.
955
956           This plugin is read-only; any connections (of any type) added from
957           within NetworkManager when you are using this plugin will be saved
958           using the keyfile plugin instead.
959
960       ibft, no-ibft
961           These plugins are deprecated and their selection has no effect.
962           This is now handled by nm-initrd-generator.
963
964       ifcfg-suse, ifnet
965           These plugins are deprecated and their selection has no effect. The
966           keyfile plugin should be used instead.
967

APPENDIX

969   Device List Format
970       The configuration options main.no-auto-default, main.ignore-carrier,
971       keyfile.unmanaged-devices, connection*.match-device and
972       device*.match-device select devices based on a list of matchings.
973       Devices can be specified using the following format:
974
975       *
976           Matches every device.
977
978       IFNAME
979           Case sensitive match of interface name of the device. Globbing is
980           not supported.
981
982       HWADDR
983           Match the permanent MAC address of the device. Globbing is not
984           supported
985
986       interface-name:IFNAME, interface-name:~IFNAME
987           Case sensitive match of interface name of the device. Simple
988           globbing is supported with * and ?. Ranges and escaping is not
989           supported.
990
991       interface-name:=IFNAME
992           Case sensitive match of interface name of the device. Globbing is
993           disabled and IFNAME is taken literally.
994
995       mac:HWADDR
996           Match the permanent MAC address of the device. Globbing is not
997           supported
998
999       s390-subchannels:HWADDR
1000           Match the device based on the subchannel address. Globbing is not
1001           supported
1002
1003       type:TYPE
1004           Match the device type. Valid type names are as reported by "nmcli
1005           -f GENERAL.TYPE device show". Globbing is not supported.
1006
1007       driver:DRIVER
1008           Match the device driver as reported by "nmcli -f
1009           GENERAL.DRIVER,GENERAL.DRIVER-VERSION device show". "DRIVER" must
1010           match the driver name exactly and does not support globbing.
1011           Optionally, a driver version may be specified separated by '/'.
1012           Globbing is supported for the version.
1013
1014       dhcp-plugin:DHCP
1015           Match the configured DHCP plugin "main.dhcp".
1016
1017       except:SPEC
1018           Negative match of a device.  SPEC must be explicitly qualified with
1019           a prefix such as interface-name:. A negative match has higher
1020           priority then the positive matches above.
1021
1022           If there is a list consisting only of negative matches, the
1023           behavior is the same as if there is also match-all. That means, if
1024           none of all the negative matches is satisfied, the overall result
1025           is still a positive match. That means, "except:interface-name:eth0"
1026           is the same as "*,except:interface-name:eth0".
1027
1028       SPEC[,;]SPEC
1029           Multiple specs can be concatenated with commas or semicolons. The
1030           order does not matter as matches are either inclusive or negative
1031           (except:), with negative matches having higher priority.
1032
1033           Backslash is supported to escape the separators ';' and ',', and to
1034           express special characters such as newline ('\n'), tabulator
1035           ('\t'), whitespace ('\s') and backslash ('\\'). The globbing of
1036           interface names cannot be escaped. Whitespace is not a separator
1037           but will be trimmed between two specs (unless escaped as '\s').
1038
1039       Example:
1040
1041           interface-name:em4
1042           mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth2
1043           interface-name:vboxnet*,except:interface-name:vboxnet2
1044           *,except:mac:00:22:68:1c:59:b1
1045
1046

SEE ALSO

1048       NetworkManager(8), nmcli(1), nmcli-examples(7), nm-online(1), nm-
1049       settings(5), nm-applet(1), nm-connection-editor(1)
1050
1051
1052
1053NetworkManager 1.26.6                                   NETWORKMANAGER.CONF(5)
Impressum