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