1NETWORKMANAGER.CONF(5) Configuration NETWORKMANAGER.CONF(5)
2
3
4
6 NetworkManager.conf - NetworkManager configuration file
7
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
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
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
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 Whether the configured settings plugin(s) should set up file
90 monitors and immediately pick up changes made to connection files
91 while NetworkManager is running. This is disabled by default;
92 NetworkManager will only read the connection files at startup, and
93 when explicitly requested via the ReloadConnections D-Bus call. If
94 this key is set to 'true', then NetworkManager will reload
95 connection files any time they changed. Automatic reloading is not
96 advised because there are race conditions involved and it depends
97 on the way how the editor updates the file. In some situations,
98 NetworkManager might first delete and add the connection anew,
99 instead of updating the existing one. Also, NetworkManager might
100 pick up incomplete settings while the user is still editing the
101 files.
102
103 Note that neither this setting nor restarting the NetworkManager
104 daemon is the advised way to reload connection profiles from disk.
105 Instead, after modifying the files reload them with nmcli
106 connection reload or nmcli connection load "$FILENAME". Even
107 better, instead of modifying files directly, use NetworkManager
108 tools like nmcli, nmtui or the GUI.
109
110 This setting is deprecated and will have no effect in the future.
111
112 auth-polkit
113 Whether the system uses PolicyKit for authorization. If false, all
114 requests will be allowed. If true, non-root requests are authorized
115 using PolicyKit. The default value is true.
116
117 dhcp
118 This key sets up what DHCP client NetworkManager will use. Allowed
119 values are dhclient, dhcpcd, and internal. The dhclient and dhcpcd
120 options require the indicated clients to be installed. The internal
121 option uses a built-in DHCP client which is not currently as
122 featureful as the external clients.
123
124 If this key is missing, it defaults to dhclient. It the chosen
125 plugin is not available, clients are looked for in this order:
126 dhclient, dhcpcd, internal.
127
128 no-auto-default
129 Specify devices for which NetworkManager shouldn't create default
130 wired connection (Auto eth0). By default, NetworkManager creates a
131 temporary wired connection for any Ethernet device that is managed
132 and doesn't have a connection configured. List a device in this
133 option to inhibit creating the default connection for the device.
134 May have the special value * to apply to all devices.
135
136 When the default wired connection is deleted or saved to a new
137 persistent connection by a plugin, the device is added to a list in
138 the file /var/lib/NetworkManager/no-auto-default.state to prevent
139 creating the default connection for that device again.
140
141 See the section called “Device List Format” for the syntax how to
142 specify a device.
143
144 Example:
145
146 no-auto-default=00:22:68:5c:5d:c4,00:1e:65:ff:aa:ee
147 no-auto-default=eth0,eth1
148 no-auto-default=*
149
150
151 ignore-carrier
152 This setting is deprecated for the per-device setting
153 ignore-carrier which overwrites this setting if specified (See
154 ignore-carrier). Otherwise, it is a list of matches to specify for
155 which device carrier should be ignored. See the section called
156 “Device List Format” for the syntax how to specify a device. Note
157 that master types like bond, bridge, and team ignore carrier by
158 default. You can however revert that default using the "except:"
159 specifier (or better, use the per-device setting instead of the
160 deprecated setting).
161
162 assume-ipv6ll-only
163 Specify devices for which NetworkManager will try to generate a
164 connection based on initial configuration when the device only has
165 an IPv6 link-local address.
166
167 See the section called “Device List Format” for the syntax how to
168 specify a device.
169
170 configure-and-quit
171 When set to 'true', NetworkManager quits after performing initial
172 network configuration but spawns small helpers to preserve DHCP
173 leases and IPv6 addresses. This is useful in environments where
174 network setup is more or less static or it is desirable to save
175 process time but still handle some dynamic configurations. When
176 this option is true, network configuration for Wi-Fi, WWAN,
177 Bluetooth, ADSL, and PPPoE interfaces cannot be preserved due to
178 their use of external services, and these devices will be
179 deconfigured when NetworkManager quits even though other
180 interface's configuration may be preserved. Also, to preserve DHCP
181 addresses the 'dhcp' option must be set to 'internal'. The default
182 value of the 'configure-and-quit' option is 'false', meaning that
183 NetworkManager will continue running after initial network
184 configuration and continue responding to system and hardware
185 events, D-Bus requests, and user commands.
186
187 hostname-mode
188 Set the management mode of the hostname. This parameter will affect
189 only the transient hostname. If a valid static hostname is set,
190 NetworkManager will skip the update of the hostname despite the
191 value of this option. An hostname empty or equal to 'localhost',
192 'localhost6', 'localhost.localdomain' or 'localhost6.localdomain'
193 is considered invalid.
194
195 default: NetworkManager will update the hostname with the one
196 provided via DHCP on the main connection (the one with a default
197 route). If not present, the hostname will be updated to the last
198 one set outside NetworkManager. If it is not valid, NetworkManager
199 will try to recover the hostname from the reverse lookup of the IP
200 address of the main connection. If this fails too, the hostname
201 will be set to 'localhost.localdomain'.
202
203 dhcp: NetworkManager will update the transient hostname only with
204 information coming from DHCP. No fallback nor reverse lookup will
205 be performed, but when the dhcp connection providing the hostname
206 is deactivated, the hostname is reset to the last hostname set
207 outside NetworkManager or 'localhost' if none valid is there.
208
209 none: NetworkManager will not manage the transient hostname and
210 will never set it.
211
212 dns
213 Set the DNS processing mode.
214
215 If the key is unspecified, default is used, unless /etc/resolv.conf
216 is a symlink to /run/systemd/resolve/stub-resolv.conf,
217 /run/systemd/resolve/resolv.conf, /lib/systemd/resolv.conf or
218 /usr/lib/systemd/resolv.conf. In that case, systemd-resolved is
219 chosen automatically.
220
221 default: NetworkManager will update /etc/resolv.conf to reflect the
222 nameservers provided by currently active connections.
223
224 dnsmasq: NetworkManager will run dnsmasq as a local caching
225 nameserver, using a "split DNS" configuration if you are connected
226 to a VPN, and then update resolv.conf to point to the local
227 nameserver. It is possible to pass custom options to the dnsmasq
228 instance by adding them to files in the
229 "/etc/NetworkManager/dnsmasq.d/" directory. Note that when multiple
230 upstream servers are available, dnsmasq will initially contact them
231 in parallel and then use the fastest to respond, probing again
232 other servers after some time. This behavior can be modified
233 passing the 'all-servers' or 'strict-order' options to dnsmasq (see
234 the manual page for more details).
235
236 systemd-resolved: NetworkManager will push the DNS configuration to
237 systemd-resolved
238
239 unbound: NetworkManager will talk to unbound and dnssec-triggerd,
240 providing a "split DNS" configuration with DNSSEC support.
241 /etc/resolv.conf will be managed by dnssec-trigger daemon.
242
243 none: NetworkManager will not modify resolv.conf. This implies
244 rc-manager unmanaged
245
246 Note that the plugins dnsmasq, systemd-resolved and unbound are
247 caching local nameservers. Hence, when NetworkManager writes
248 /var/run/NetworkManager/resolv.conf and /etc/resolv.conf (according
249 to rc-manager setting below), the name server there will be
250 localhost only. NetworkManager also writes a file
251 /var/run/NetworkManager/no-stub-resolv.conf that contains the
252 original name servers pushed to the DNS plugin.
253
254 rc-manager
255 Set the resolv.conf management mode. The default value depends on
256 NetworkManager build options, and this version of NetworkManager
257 was build with a default of "symlink". Regardless of this setting,
258 NetworkManager will always write resolv.conf to its runtime state
259 directory /var/run/NetworkManager/resolv.conf.
260
261 symlink: If /etc/resolv.conf is a regular file, NetworkManager will
262 replace the file on update. If /etc/resolv.conf is instead a
263 symlink, NetworkManager will leave it alone. Unless the symlink
264 points to the internal file /var/run/NetworkManager/resolv.conf, in
265 which case the symlink will be updated to emit an inotify
266 notification. This allows the user to conveniently instruct
267 NetworkManager not to manage /etc/resolv.conf by replacing it with
268 a symlink.
269
270 file: NetworkManager will write /etc/resolv.conf as file. If it
271 finds a symlink to an existing target, it will follow the symlink
272 and update the target instead. In no case will an existing symlink
273 be replaced by a file. Note that older versions of NetworkManager
274 behaved differently and would replace dangling symlinks with a
275 plain file.
276
277 resolvconf: NetworkManager will run resolvconf to update the DNS
278 configuration.
279
280 netconfig: NetworkManager will run netconfig to update the DNS
281 configuration.
282
283 unmanaged: don't touch /etc/resolv.conf.
284
285 none: deprecated alias for symlink.
286
287 systemd-resolved
288 Send the connection DNS configuration to systemd-resolved. Defaults
289 to "true".
290
291 Note that this setting is complementary to the dns setting. You can
292 keep this enabled while using dns set to another DNS plugin
293 alongside systemd-resolved, or dns set to systemd-resolved to
294 configure the system resolver to use systemd-resolved.
295
296 If systemd-resolved is enabled, the connectivity check resolves the
297 hostname per-device.
298
299 debug
300 Comma separated list of options to aid debugging. This value will
301 be combined with the environment variable NM_DEBUG. Currently the
302 following values are supported:
303
304 RLIMIT_CORE: set ulimit -c unlimited to write out core dumps.
305 Beware, that a core dump can contain sensitive information such as
306 passwords or configuration settings.
307
308 fatal-warnings: set g_log_set_always_fatal() to core dump on
309 warning messages from glib. This is equivalent to the
310 --g-fatal-warnings command line option.
311
312 autoconnect-retries-default
313 The number of times a connection activation should be automatically
314 tried before switching to another one. This value applies only to
315 connections that can auto-connect and have a
316 connection.autoconnect-retries property set to -1. If not
317 specified, connections will be tried 4 times. Setting this value to
318 1 means to try activation once, without retry.
319
320 slaves-order
321 This key specifies in which order slave connections are
322 auto-activated on boot or when the master activates them. Allowed
323 values are name (order connection by interface name, the default),
324 or index (order slaves by their kernel index).
325
327 This section contains keyfile-plugin-specific options, and is normally
328 only used when you are not using any other distro-specific plugin.
329
330 hostname
331 This key is deprecated and has no effect since the hostname is now
332 stored in /etc/hostname or other system configuration files
333 according to build options.
334
335 path
336 The location where keyfiles are read and stored. This defaults to
337 "/etc/NetworkManager/system-connections".
338
339 unmanaged-devices
340 Set devices that should be ignored by NetworkManager.
341
342 See the section called “Device List Format” for the syntax how to
343 specify a device.
344
345 Example:
346
347 unmanaged-devices=interface-name:em4
348 unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth2
349
350
352 This section contains ifupdown-specific options and thus only has
353 effect when using the ifupdown plugin.
354
355 managed
356 If set to true, then interfaces listed in /etc/network/interfaces
357 are managed by NetworkManager. If set to false, then any interface
358 listed in /etc/network/interfaces will be ignored by
359 NetworkManager. Remember that NetworkManager controls the default
360 route, so because the interface is ignored, NetworkManager may
361 assign the default route to some other interface.
362
363 The default value is false.
364
366 This section controls NetworkManager's logging. Any settings here are
367 overridden by the --log-level and --log-domains command-line options.
368
369 level
370 The default logging verbosity level. One of OFF, ERR, WARN, INFO,
371 DEBUG, TRACE. The ERR level logs only critical errors. WARN logs
372 warnings that may reflect operation. INFO logs various
373 informational messages that are useful for tracking state and
374 operations. DEBUG enables verbose logging for debugging purposes.
375 TRACE enables even more verbose logging then DEBUG level.
376 Subsequent levels also log all messages from earlier levels; thus
377 setting the log level to INFO also logs error and warning messages.
378
379 domains
380 The following log domains are available: PLATFORM, RFKILL, ETHER,
381 WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS,
382 VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE,
383 OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN, BRIDGE,
384 DBUS_PROPS, TEAM, CONCHECK, DCB, DISPATCH, AUDIT, SYSTEMD,
385 VPN_PLUGIN, PROXY.
386
387 In addition, these special domains can be used: NONE, ALL, DEFAULT,
388 DHCP, IP.
389
390 You can specify per-domain log level overrides by adding a colon
391 and a log level to any domain. E.g., "WIFI:DEBUG,WIFI_SCAN:OFF".
392
393 Domain descriptions:
394 PLATFORM : OS (platform) operations
395 RFKILL : RFKill subsystem operations
396 ETHER : Ethernet device operations
397 WIFI : Wi-Fi device operations
398 BT : Bluetooth operations
399 MB : Mobile broadband operations
400 DHCP4 : DHCP for IPv4
401 DHCP6 : DHCP for IPv6
402 PPP : Point-to-point protocol operations
403 WIFI_SCAN : Wi-Fi scanning operations
404 IP4 : IPv4-related operations
405 IP6 : IPv6-related operations
406 AUTOIP4 : AutoIP operations
407 DNS : Domain Name System related operations
408 VPN : Virtual Private Network connections and
409 operations
410 SHARING : Connection sharing. With TRACE level log queries
411 for dnsmasq instance
412 SUPPLICANT : WPA supplicant related operations
413 AGENTS : Secret agents operations and communication
414 SETTINGS : Settings/config service operations
415 SUSPEND : Suspend/resume
416 CORE : Core daemon and policy operations
417 DEVICE : Activation and general interface operations
418 OLPC : OLPC Mesh device operations
419 WIMAX : WiMAX device operations
420 INFINIBAND : InfiniBand device operations
421 FIREWALL : FirewallD related operations
422 ADSL : ADSL device operations
423 BOND : Bonding operations
424 VLAN : VLAN operations
425 BRIDGE : Bridging operations
426 DBUS_PROPS : D-Bus property changes
427 TEAM : Teaming operations
428 CONCHECK : Connectivity check
429 DCB : Data Center Bridging (DCB) operations
430 DISPATCH : Dispatcher scripts
431 AUDIT : Audit records
432 SYSTEMD : Messages from internal libsystemd
433 VPN_PLUGIN : logging messages from VPN plugins
434 PROXY : logging messages for proxy handling
435
436 NONE : when given by itself logging is disabled
437 ALL : all log domains
438 DEFAULT : default log domains
439 DHCP : shortcut for "DHCP4,DHCP6"
440 IP : shortcut for "IP4,IP6"
441
442 HW : deprecated alias for "PLATFORM"
443
444 In general, the logfile should not contain passwords or private
445 data. However, you are always advised to check the file before
446 posting it online or attaching to a bug report. VPN_PLUGIN is
447 special as it might reveal private information of the VPN plugins
448 with verbose levels. Therefore this domain will be excluded when
449 setting ALL or DEFAULT to more verbose levels then INFO.
450
451 backend
452 The logging backend. Supported values are "syslog" and "journal".
453 When NetworkManager is started with "--debug" in addition all
454 messages will be printed to stderr. If unspecified, the default is
455 "journal".
456
457 audit
458 Whether the audit records are delivered to auditd, the audit
459 daemon. If false, audit records will be sent only to the
460 NetworkManager logging system. If set to true, they will be also
461 sent to auditd. The default value is false.
462
464 Specify default values for connections.
465
466 Example:
467
468 [connection]
469 ipv6.ip6-privacy=0
470
471
472 Supported Properties
473 Not all properties can be overwritten, only the following properties
474 are supported to have their default values configured (see nm-
475 settings(5) for details). A default value is only consulted if the
476 corresponding per-connection value explicitly allows for that.
477
478
479
480 802-1x.auth-timeout
481
482 cdma.mtu
483
484 connection.auth-retries
485 If left unspecified, the default value is 3 tries before failing
486 the connection.
487
488 connection.autoconnect-slaves
489
490 connection.lldp
491
492 connection.llmnr
493
494 connection.mdns
495
496 connection.stable-id
497
498 ethernet.cloned-mac-address
499 If left unspecified, it defaults to "preserve".
500
501 ethernet.generate-mac-address-mask
502
503 ethernet.mtu
504 If configured explicitly to 0, the MTU is not reconfigured during
505 device activation unless it is required due to IPv6 constraints. If
506 left unspecified, a DHCP/IPv6 SLAAC provided value is used or the
507 MTU is not reconfigured during activation.
508
509 ethernet.wake-on-lan
510
511 gsm.mtu
512
513 infiniband.mtu
514 If configured explicitly to 0, the MTU is not reconfigured during
515 device activation unless it is required due to IPv6 constraints. If
516 left unspecified, a DHCP/IPv6 SLAAC provided value is used or the
517 MTU is left unspecified on activation.
518
519 ip-tunnel.mtu
520 If configured explicitly to 0, the MTU is not reconfigured during
521 device activation unless it is required due to IPv6 constraints. If
522 left unspecified, a DHCP/IPv6 SLAAC provided value is used or a
523 default of 1500.
524
525 ipv4.dad-timeout
526
527 ipv4.dhcp-client-id
528
529 ipv4.dhcp-timeout
530 If left unspecified, the default value for the interface type is
531 used.
532
533 ipv4.dns-priority
534 If unspecified or zero, use 50 for VPN profiles and 100 for other
535 profiles.
536
537 ipv4.route-metric
538
539 ipv4.route-table
540 If left unspecified, routes are only added to the main table. Note
541 that this is different from explicitly selecting the main table
542 254, because of how NetworkManager removes extraneous routes from
543 the tables.
544
545 ipv6.dhcp-duid
546 If left unspecified, it defaults to "lease".
547
548 ipv6.dhcp-timeout
549 If left unspecified, the default value for the interface type is
550 used.
551
552 ipv6.dns-priority
553 If unspecified or zero, use 50 for VPN profiles and 100 for other
554 profiles.
555
556 ipv6.ip6-privacy
557 If ipv6.ip6-privacy is unset, use the content of
558 "/proc/sys/net/ipv6/conf/default/use_tempaddr" as last fallback.
559
560 ipv6.route-metric
561
562 ipv6.route-table
563 If left unspecified, routes are only added to the main table. Note
564 that this is different from explicitly selecting the main table
565 254, because of how NetworkManager removes extraneous routes from
566 the tables.
567
568 sriov.autoprobe-drivers
569 If left unspecified, drivers are autoprobed when the SR-IOV VF gets
570 created.
571
572 vpn.timeout
573 If left unspecified, default value of 60 seconds is used.
574
575 wifi.cloned-mac-address
576 If left unspecified, it defaults to "preserve".
577
578 wifi.generate-mac-address-mask
579
580 wifi.mac-address-randomization
581 If left unspecified, MAC address randomization is disabled. This
582 setting is deprecated for wifi.cloned-mac-address.
583
584 wifi.mtu
585 If configured explicitly to 0, the MTU is not reconfigured during
586 device activation unless it is required due to IPv6 constraints. If
587 left unspecified, a DHCP/IPv6 SLAAC provided value is used or a
588 default of 1500.
589
590 wifi.powersave
591 If left unspecified, the default value "ignore" will be used.
592
593 wifi-sec.pmf
594 If left unspecified, the default value "optional" will be used.
595
596 wifi-sec.fils
597 If left unspecified, the default value "optional" will be used.
598
599 wifi.wake-on-wlan
600
601 wireguard.mtu
602
603
604 Sections
605 You can configure multiple connection sections, by having different
606 sections with a name that all start with "connection". Example:
607
608 [connection]
609 ipv6.ip6-privacy=0
610 connection.autoconnect-slaves=1
611 vpn.timeout=120
612
613 [connection-wifi-wlan0]
614 match-device=interface-name:wlan0
615 ipv4.route-metric=50
616
617 [connection-wifi-other]
618 match-device=type:wifi
619 ipv4.route-metric=55
620 ipv6.ip6-privacy=1
621
622 The sections within one file are considered in order of appearance,
623 with the exception that the [connection] section is always considered
624 last. In the example above, this order is [connection-wifi-wlan0],
625 [connection-wlan-other], and [connection]. When checking for a default
626 configuration value, the sections are searched until the requested
627 value is found. In the example above, "ipv4.route-metric" for wlan0
628 interface is set to 50, and for all other Wi-Fi typed interfaces to 55.
629 Also, Wi-Fi devices would have IPv6 private addresses enabled by
630 default, but other devices would have it disabled. Note that also
631 "wlan0" gets "ipv6.ip6-privacy=1", because although the section
632 "[connection-wifi-wlan0]" matches the device, it does not contain that
633 property and the search continues.
634
635 When having different sections in multiple files, sections from files
636 that are read later have higher priority. So within one file the
637 priority of the sections is top-to-bottom. Across multiple files later
638 definitions take precedence.
639
640 The following properties further control how a connection section
641 applies.
642
643 match-device
644 An optional device spec that restricts when the section applies.
645 See the section called “Device List Format” for the possible
646 values.
647
648 stop-match
649 An optional boolean value which defaults to no. If the section
650 matches (based on match-device), further sections will not be
651 considered even if the property in question is not present. In the
652 example above, if [connection-wifi-wlan0] would have stop-match set
653 to yes, the device wlan0 would have ipv6.ip6-privacy property
654 unspecified. That is, the search for the property would not
655 continue in the connection sections [connection-wifi-other] or
656 [connection].
657
659 Contains per-device persistent configuration.
660
661 Example:
662
663 [device]
664 match-device=interface-name:eth3
665 managed=1
666
667
668 Supported Properties
669 The following properties can be configured per-device.
670
671 managed
672 Whether the device is managed or not. A device can be marked as
673 managed via udev rules (ENV{NM_UNMANAGED}), or via setting plugins
674 (keyfile.unmanaged-devices). This is yet another way. Note that
675 this configuration can be overruled at runtime via D-Bus. Also, it
676 has higher priority then udev rules.
677
678 carrier-wait-timeout
679 Specify the timeout for waiting for carrier in milliseconds. When
680 the device loses carrier, NetworkManager does not react
681 immediately. Instead, it waits for this timeout before considering
682 the link lost. Also, on startup, NetworkManager considers the
683 device as busy for this time, as long as the device has no carrier.
684 This delays startup-complete signal and NetworkManager-wait-online.
685 Configuring this too high means to block NetworkManager-wait-online
686 longer then necessary. Configuring it too low, means that
687 NetworkManager will declare startup-complete, although carrier is
688 about to come and auto-activation to kick in. The default is 5000
689 milliseconds.
690
691 ignore-carrier
692 Specify devices for which NetworkManager will (partially) ignore
693 the carrier state. Normally, for device types that support
694 carrier-detect, such as Ethernet and InfiniBand, NetworkManager
695 will only allow a connection to be activated on the device if
696 carrier is present (ie, a cable is plugged in), and it will
697 deactivate the device if carrier drops for more than a few seconds.
698
699 A device with carrier ignored will allow activating connections on
700 that device even when it does not have carrier, provided that the
701 connection uses only statically-configured IP addresses.
702 Additionally, it will allow any active connection (whether static
703 or dynamic) to remain active on the device when carrier is lost.
704
705 Note that the "carrier" property of NMDevices and device D-Bus
706 interfaces will still reflect the actual device state; it's just
707 that NetworkManager will not make use of that information.
708
709 Master types like bond, bridge and team ignore carrier by default,
710 while other device types react on carrier changes by default.
711
712 This setting overwrites the deprecated main.ignore-carrier setting
713 above.
714
715 wifi.scan-rand-mac-address
716 Configures MAC address randomization of a Wi-Fi device during
717 scanning. This defaults to yes in which case a random,
718 locally-administered MAC address will be used. The setting
719 wifi.scan-generate-mac-address-mask allows to influence the
720 generated MAC address to use certain vendor OUIs. If disabled, the
721 MAC address during scanning is left unchanged to whatever is
722 configured. For the configured MAC address while the device is
723 associated, see instead the per-connection setting
724 wifi.cloned-mac-address.
725
726 wifi.backend
727 Specify the Wi-Fi backend used for the device. Currently supported
728 are wpa_supplicant and iwd (experimental).
729
730 wifi.scan-generate-mac-address-mask
731 Like the per-connection settings ethernet.generate-mac-address-mask
732 and wifi.generate-mac-address-mask, this allows to configure the
733 generated MAC addresses during scanning. See nm-settings(5) for
734 details.
735
736 sriov-num-vfs
737 Specify the number of virtual functions (VF) to enable for a PCI
738 physical device that supports single-root I/O virtualization
739 (SR-IOV).
740
741 Sections
742 The [device] section works the same as the [connection] section. That
743 is, multiple sections that all start with the prefix "device" can be
744 specified. The settings "match-device" and "stop-match" are available
745 to match a device section on a device. The order of multiple sections
746 is also top-down within the file and later files overwrite previous
747 settings. See “Sections” under the section called “CONNECTION SECTION”
748 for details.
749
751 This section controls NetworkManager's optional connectivity checking
752 functionality. This allows NetworkManager to detect whether or not the
753 system can actually access the internet or whether it is behind a
754 captive portal.
755
756 Connectivity checking serves two purposes. For one, it exposes a
757 connectivity state on D-Bus, which other applications may use. For
758 example, Gnome's portal helper uses this as signal to show a captive
759 portal login page. The other use is that default-route of devices
760 without global connectivity get a penalty of +20000 to the
761 route-metric. This has the purpose to give a better default-route to
762 devices that have global connectivity. For example, when being
763 connected to WWAN and to a Wi-Fi network which is behind a captive
764 portal, WWAN still gets preferred until login.
765
766 Note that your distribution might set
767 /proc/sys/net/ipv4/conf/*/rp_filter to strict filtering. That works
768 badly with per-device connectivity checking, which uses SO_BINDDEVICE
769 to send requests on all devices. A strict rp_filter setting will reject
770 any response and the connectivity check on all but the best route will
771 fail.
772
773 uri
774 The URI of a web page to periodically request when connectivity is
775 being checked. This page should return the header
776 "X-NetworkManager-Status" with a value of "online". Alternatively,
777 its body content should be set to "NetworkManager is online". The
778 body content check can be controlled by the response option. If
779 this option is blank or missing, connectivity checking is disabled.
780
781 interval
782 Specified in seconds; controls how often connectivity is checked
783 when a network connection exists. If set to 0 connectivity checking
784 is disabled. If missing, the default is 300 seconds.
785
786 response
787 If set, controls what body content NetworkManager checks for when
788 requesting the URI for connectivity checking. Note that this only
789 compares that the HTTP response starts with the specifid text, it
790 does not compare the exact string. This behavior might change in
791 the future, so avoid relying on it. If missing, the response
792 defaults to "NetworkManager is online". If set to empty, the HTTP
793 server is expected to answer with status code 204 or send no data.
794
796 This section specifies global DNS settings that override
797 connection-specific configuration.
798
799 searches
800 A list of search domains to be used during hostname lookup.
801
802 options
803 A list of options to be passed to the hostname resolver.
804
806 Sections with a name starting with the "global-dns-domain-" prefix
807 allow to define global DNS configuration for specific domains. The part
808 of section name after "global-dns-domain-" specifies the domain name a
809 section applies to. More specific domains have the precedence over less
810 specific ones and the default domain is represented by the wildcard
811 "*". A default domain section is mandatory.
812
813 servers
814 A list of addresses of DNS servers to be used for the given domain.
815
816 options
817 A list of domain-specific DNS options. Not used at the moment.
818
820 This is a special section that contains options which apply to the
821 configuration file that contains the option.
822
823 enable
824 Defaults to "true". If "false", the configuration file will be
825 skipped during loading. Note that the main configuration file
826 NetworkManager.conf cannot be disabled.
827
828 # always skip loading the config file
829 [.config]
830 enable=false
831
832 You can also match against the version of NetworkManager. For
833 example the following are valid configurations:
834
835 # only load on version 1.0.6
836 [.config]
837 enable=nm-version:1.0.6
838
839 # load on all versions 1.0.x, but not 1.2.x
840 [.config]
841 enable=nm-version:1.0
842
843 # only load on versions >= 1.1.6. This does not match
844 # with version 1.2.0 or 1.4.4. Only the last digit is considered.
845 [.config]
846 enable=nm-version-min:1.1.6
847
848 # only load on versions >= 1.2. Contrary to the previous
849 # example, this also matches with 1.2.0, 1.2.10, 1.4.4, etc.
850 [.config]
851 enable=nm-version-min:1.2
852
853 # Match against the maximum allowed version. The example matches
854 # versions 1.2.0, 1.2.2, 1.2.4. Again, only the last version digit
855 # is allowed to be smaller. So this would not match match on 1.1.10.
856 [.config]
857 enable=nm-version-max:1.2.6
858
859 You can also match against the value of the environment variable
860 NM_CONFIG_ENABLE_TAG, like:
861
862 # always skip loading the file when running NetworkManager with
863 # environment variable "NM_CONFIG_ENABLE_TAG=TAG1"
864 [.config]
865 enable=env:TAG1
866
867 More then one match can be specified. The configuration will be
868 enabled if one of the predicates matches ("or"). The special prefix
869 "except:" can be used to negate the match. Note that if one
870 except-predicate matches, the entire configuration will be
871 disabled. In other words, a except predicate always wins over other
872 predicates. If the setting only consists of "except:" matches and
873 none of the negative conditions are satisfied, the configuration is
874 still enabled.
875
876 # enable the configuration either when the environment variable
877 # is present or the version is at least 1.2.0.
878 [.config]
879 enable=env:TAG2,nm-version-min:1.2
880
881 # enable the configuration for version >= 1.2.0, but disable
882 # it when the environment variable is set to "TAG3"
883 [.config]
884 enable=except:env:TAG3,nm-version-min:1.2
885
886 # enable the configuration on >= 1.3, >= 1.2.6, and >= 1.0.16.
887 # Useful if a certain feature is only present since those releases.
888 [.config]
889 enable=nm-version-min:1.3,nm-version-min:1.2.6,nm-version-min:1.0.16
890
891
893 Settings plugins for reading and writing connection profiles. The
894 number of available plugins is distribution specific.
895
896 keyfile
897 The keyfile plugin is the generic plugin that supports all the
898 connection types and capabilities that NetworkManager has. It
899 writes files out in an .ini-style format in
900 /etc/NetworkManager/system-connections. See nm-settings-keyfile(5)
901 for details about the file format.
902
903 The stored connection file may contain passwords, secrets and
904 private keys in plain text, so it will be made readable only to
905 root, and the plugin will ignore files that are readable or
906 writable by any user or group other than root. See "Secret flag
907 types" in nm-settings(5) for how to avoid storing passwords in
908 plain text.
909
910 This plugin is always active, and will automatically be used to
911 store any connections that aren't supported by any other active
912 plugin.
913
914 ifcfg-rh
915 This plugin is used on the Fedora and Red Hat Enterprise Linux
916 distributions to read and write configuration from the standard
917 /etc/sysconfig/network-scripts/ifcfg-* files. It currently supports
918 reading Ethernet, Wi-Fi, InfiniBand, VLAN, Bond, Bridge, and Team
919 connections. Enabling ifcfg-rh implicitly enables ibft plugin, if
920 it is available. This can be disabled by adding no-ibft. See
921 /usr/share/doc/initscripts/sysconfig.txt and nm-settings-ifcfg-
922 rh(5) for more information about the ifcfg file format.
923
924 ifupdown
925 This plugin is used on the Debian and Ubuntu distributions, and
926 reads Ethernet and Wi-Fi connections from /etc/network/interfaces.
927
928 This plugin is read-only; any connections (of any type) added from
929 within NetworkManager when you are using this plugin will be saved
930 using the keyfile plugin instead.
931
932 ibft, no-ibft
933 This plugin allows to read iBFT configuration (iSCSI Boot Firmware
934 Table). The configuration is read using /sbin/iscsiadm. Users are
935 expected to configure iBFT connections via the firmware interfaces.
936 If ibft support is available, it is automatically enabled after
937 ifcfg-rh. This can be disabled by no-ibft. You can also explicitly
938 specify ibft to load the plugin without ifcfg-rh or to change the
939 plugin order.
940
941 Note that ibft plugin uses /sbin/iscsiadm and thus requires
942 CAP_SYS_ADMIN capability.
943
944 ifcfg-suse, ifnet
945 These plugins are deprecated and their selection has no effect. The
946 keyfile plugin should be used instead.
947
949 Device List Format
950 The configuration options main.no-auto-default, main.ignore-carrier,
951 keyfile.unmanaged-devices, connection*.match-device and
952 device*.match-device select devices based on a list of matchings.
953 Devices can be specified using the following format:
954
955 *
956 Matches every device.
957
958 IFNAME
959 Case sensitive match of interface name of the device. Globbing is
960 not supported.
961
962 HWADDR
963 Match the permanent MAC address of the device. Globbing is not
964 supported
965
966 interface-name:IFNAME, interface-name:~IFNAME
967 Case sensitive match of interface name of the device. Simple
968 globbing is supported with * and ?. Ranges and escaping is not
969 supported.
970
971 interface-name:=IFNAME
972 Case sensitive match of interface name of the device. Globbing is
973 disabled and IFNAME is taken literally.
974
975 mac:HWADDR
976 Match the permanent MAC address of the device. Globbing is not
977 supported
978
979 s390-subchannels:HWADDR
980 Match the device based on the subchannel address. Globbing is not
981 supported
982
983 type:TYPE
984 Match the device type. Valid type names are as reported by "nmcli
985 -f GENERAL.TYPE device show". Globbing is not supported.
986
987 driver:DRIVER
988 Match the device driver as reported by "nmcli -f
989 GENERAL.DRIVER,GENERAL.DRIVER-VERSION device show". "DRIVER" must
990 match the driver name exactly and does not support globbing.
991 Optionally, a driver version may be specified separated by '/'.
992 Globbing is supported for the version.
993
994 dhcp-plugin:DHCP
995 Match the configured DHCP plugin "main.dhcp".
996
997 except:SPEC
998 Negative match of a device. SPEC must be explicitly qualified with
999 a prefix such as interface-name:. A negative match has higher
1000 priority then the positive matches above.
1001
1002 If there is a list consisting only of negative matches, the
1003 behavior is the same as if there is also match-all. That means, if
1004 none of all the negative matches is satisfied, the overall result
1005 is still a positive match. That means, "except:interface-name:eth0"
1006 is the same as "*,except:interface-name:eth0".
1007
1008 SPEC[,;]SPEC
1009 Multiple specs can be concatenated with commas or semicolons. The
1010 order does not matter as matches are either inclusive or negative
1011 (except:), with negative matches having higher priority.
1012
1013 Backslash is supported to escape the separators ';' and ',', and to
1014 express special characters such as newline ('\n'), tabulator
1015 ('\t'), whitespace ('\s') and backslash ('\\'). The globbing of
1016 interface names cannot be escaped. Whitespace is not a separator
1017 but will be trimmed between two specs (unless escaped as '\s').
1018
1019 Example:
1020
1021 interface-name:em4
1022 mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth2
1023 interface-name:vboxnet*,except:interface-name:vboxnet2
1024 *,except:mac:00:22:68:1c:59:b1
1025
1026
1028 NetworkManager(8), nmcli(1), nmcli-examples(7), nm-online(1), nm-
1029 settings(5), nm-applet(1), nm-connection-editor(1)
1030
1031
1032
1033NetworkManager 1.16.2 NETWORKMANAGER.CONF(5)