Provided by: iwd_2.14-1ubuntu3_amd64 

NAME
iwd.network - Network configuration for wireless daemon
SYNOPSIS
Network configuration files .open, .psk and .8021x
DESCRIPTION
iwd stores information on known networks, and reads information on pre-provisioned networks, from small
text configuration files. Those files live in the state directory specified by the environment variable
$STATE_DIRECTORY, which is normally provided by systemd. In the absence of such an environment variable
it defaults to $LIBDIR/iwd, which normally is set to /var/lib/iwd. You can create, modify or remove
those files. iwd monitors the directory for changes and will update its state accordingly. iwd will
also modify these files in the course of network connections or as a result of D-Bus API invocations.
FILE FORMAT
The syntax is similar to that of GNOME keyfile syntax (which is based on the format defined in the
Desktop Entry Specification, see http://freedesktop.org/Standards/desktop-entry-spec). The recognized
groups as well as keys and values in each group are documented here. Defaults are written in bold.
For completeness we include the description of the file syntax here. This is the syntax that the ell
library's l_settings class implements. The syntax is based on lines and lines are delimited by newline
characters.
Empty lines are ignored and whitespace at the beginning of a line is ignored. Comment lines have # as
their first non-whitespace character.
Key-value lines contain a setting key, an equal sign and the value of the setting. Whitespace preceding
the key, the equal sign or the value, is ignored. The key must be a continuous string of alphanumeric
and underscore characters and minus signs only. The value starts at the first non-whitespace character
after the first equal sign on the line and ends at the end of the line and must be correctly
UTF-8-encoded. A boolean value can be true or false but 0 or 1 are also allowed. Integer values are
written in base 10. String values, including file paths and hexstrings, are written as is except for
five characters that may be backslash-escaped: space, \t, \r, \n and backslash itself. The latter three
must be escaped. A space character must be escaped if it is the first character in the value string and
is written as \s.
Settings are interpreted depending on the group they are in. A group starts with a group header line and
contains all settings until the next group's header line. A group header line contains a [ character
followed by the group name and a ] character. Whitespace is allowed before the [ and after the ]. A
group name consists of printable characters other than [ and ].
If a group name starts with the @ sign, that group's content is handled by a parser extension instead and
does not cause the previous non-extension group to end. The initial @ sign must be followed by a
non-empty extension name, another @ sign and a group name as defined above. The extension name consists
of printable characters other than @. No whitespace is allowed after the group header in this case. The
extension payload syntax and length are determined by the extension name. Normal parsing rules defined
in this section resume at the end of the payload and any settings after the end of the payload are
handled as part of the previous non-extension group.
Currently the only extension supported is named pem and allows embedding the contents of a single RFC7468
PEM-formatted payload or a sequence of multiple PEM payloads. The payload should start with the
-----BEGIN string on a line following the group header line and end with an -----END line as specified in
the RFC. Newline characters before, between and after PEM payloads are included in the extension
payload. No other extra characters are allowed.
NAMING
File names are based on the network's SSID and security type: Open, PSK-protected or 802.1x. The name
consist of the encoding of the SSID followed by .open, .psk or .8021x. The SSID appears verbatim in the
name if it contains only alphanumeric characters, spaces, underscores or minus signs. Otherwise it is
encoded as an equal sign followed by the lower-case hex encoding of the name.
SETTINGS
The settings below are split into several sections and grouped into broad categories. Each category has
a group associated with it which is given at the beginning of each sub-section. Recognized keys and
valid values are listed following the group definition.
General Settings
The group [Settings] contains general settings.
───────────────────────────────────────────────────────────────────
AutoConnect Values: true, false
Whether the network can be connected
to automatically
───────────────────────────────────────────────────────────────────
Hidden Values: true, false
Whether the network is hidden, i.e.
its SSID must be included in an
active scan request
───────────────────────────────────────────────────────────────────
AlwaysRandomizeAddress Values: true, false
If enabled, the MAC address will be
fully randomized on each connection.
This option is only used if
[General].AddressRandomization is set
to 'network'. See iwd.config. This
setting should not be used with
[Settings].AddressOverride, if both
are set AddressOverride will be used.
───────────────────────────────────────────────────────────────────
AddressOverride MAC address string
Override the MAC address used for
connecting to this network. This
option is only used if
[General].AddressRandomization is set
to 'network'. See iwd.config. This
setting should not be used with
[Settings].AlwaysRandomizeAddress, if
both are set AddressOverride will be
used.
───────────────────────────────────────────────────────────────────
TransitionDisable Values: true, false
If enabled, the use of TKIP pairwise
cipher and connections without
Management Frame Protection are
disallowed. This will make certain
legacy access points unavailable for
use. Additional security hardening
can also be applied via the
[Settings].DisabledTransitionModes
setting.
Properly configured Access Points
will typically update this setting
appropriately via Transition Disable
indications. User customization of
this value is thus typically not
required.
───────────────────────────────────────────────────────────────────
DisabledTransitionModes Comma-separated list of disabled
transition modes:
• personal
• enterprise
• open
If 'personal' mode is
disabled, then legacy
WPA2-Personal access points
are no longer available to be
connected to or roamed to.
Only access points utilizing
WPA3-Personal will be
considered.
If 'enterprise' mode is
disabled, then legacy
WPA2-Enterprise access points
are no longer available to be
connected to or roamed to.
If 'open' mode is disabled,
then non-OWE enabled access
points will not be connected
to.
Properly configured Access
Points will typically update
this setting appropriately via
Transition Disable
indications. User
customization of this value is
thus typically not required.
┌─────────────────────────┬───────────────────────────────────────┐
│ │ │
Network Authentication│Settings │ │
The group [Security] contains settings for Wi-Fi security and authentication configuration. This group
can be encrypted by enabling SystemdEncrypt, see iwd.config for details on this option. If this section
is encrypted (only contains EncryptedSalt/EncryptedSecurity) it should not be modified. Modifying these
values will result in the inability to connect to that network.
───────────────────────────────────────────────────────────────────────────────
Passphrase 8..63 character string
Passphrase to be used when connecting
to WPA-Personal networks. Required
when connecting to WPA3-Personal
(SAE) networks. Also required if the
PreSharedKey is not provided. If not
provided in settings, the agent will
be asked for the passphrase at
connection time.
───────────────────────────────────────────────────────────────────────────────
PasswordIdentifier string
An identifer string to be used with
the passphrase. This is used for
WPA3-Personal (SAE) networks if the
security has enabled password
identifiers for clients.
───────────────────────────────────────────────────────────────────────────────
PreSharedKey 64 character hex string
Processed passphrase for this network
in the form of a hex-encoded 32 byte
pre-shared key. Must be provided if
Passphrase is omitted.
───────────────────────────────────────────────────────────────────────────────
EAP-Method one of the following methods:
AKA, AKA', MSCHAPV2, PEAP, PWD, SIM,
TLS, TTLS.
The following additional methods are
allowed as TTLS/PEAP inner methods:
GTC, MD5.
───────────────────────────────────────────────────────────────────────────────
EAP-Identity string
Identity string transmitted in
plaintext. Depending on the EAP
method, this value can be optional or
mandatory. GTC, MD5, MSCHAPV2, PWD
require an identity, so if not
provided, the agent will be asked for
it at connection time. TLS based
methods (PEAP, TLS, TTLS) might still
require an EAP-Identity to be set,
depending on the RADIUS server
configuration.
───────────────────────────────────────────────────────────────────────────────
EAP-Password string
Password to be provided for
WPA-Enterprise authentication. If
not provided, the agent will be asked
for the password at connection time.
Required by: GTC, MD5, MSCHAPV2, PWD.
───────────────────────────────────────────────────────────────────────────────
EAP-Password-Hash hex string
Some EAP methods can accept a
pre-hashed version of the password.
For MSCHAPV2, a MD4 hash of the
password can be given here.
───────────────────────────────────────────────────────────────────────────────
EAP-TLS-CACert, absolute file path or embedded pem
EAP-TTLS-CACert,
EAP-PEAP-CACert Path to a PEM-formatted X.509 root
certificate list to use for trust
verification of the authenticator.
The authenticator's server's
certificate chain must be verified by
at least one CA in the list for the
authentication to succeed. If
omitted, then authenticator's
certificate chain will not be
verified (not recommended.)
───────────────────────────────────────────────────────────────────────────────
EAP-TLS-ClientCert absolute file path or embedded pem
Path to the client X.509 certificate
or certificate chain to send on
server request.
───────────────────────────────────────────────────────────────────────────────
EAP-TLS-ClientKey absolute file path or embedded pem
Path to the client private key
corresponding to the public key
provided in EAP-TLS-ClientCert. The
recommended format is PKCS#8 PEM.
───────────────────────────────────────────────────────────────────────────────
EAP-TLS-ClientKeyBundle absolute file path
As an alternative to
EAP-TLS-ClientCert and
EAP-TLS-ClientKey IWD can load both
the certificate and the private key
from a container file pointed by this
setting. The recommended format is
PKCS#12 when this is used.
───────────────────────────────────────────────────────────────────────────────
EAP-TLS- string
ClientKeyPassphrase
Decryption key for the client key
files. This should be used if the
certificate or the private key in the
files mentioned above is encrypted.
When not given, the agent is asked
for the passphrase at connection
time.
───────────────────────────────────────────────────────────────────────────────
EAP-TLS-ServerDomainMask, string
EAP-TTLS-ServerDomainMask,
EAP-PEAP-ServerDomainMask A mask for the domain names contained
in the server's certificate. At least
one of the domain names present in
the certificate's Subject Alternative
Name extension's DNS Name fields or
the Common Name has to match at least
one mask, or authentication will
fail. Multiple masks can be given
separated by semicolons. The masks
are split into segments at the dots.
Each segment has to match its
corresponding label in the domain
name. An asterisk segment in the mask
matches any label. An asterisk
segment at the beginning of the mask
matches one or more consecutive
labels from the beginning of the
domain string.
───────────────────────────────────────────────────────────────────────────────
EAP-TLS-FastReauthentication, Values: true, false
EAP-TTLS-FastReauthentication,
EAP-PEAP-FastReauthentication, Controls whether TLS session caching
for EAP-TLS, EAP-TTLS and EAP-PEAP is
used. This allows for faster
re-connections to EAP-Enterprise
based networks.
│ │ │
│ │ Some network authenticators may be │
│ │ misconfigured in a way that TLS │
│ │ session resumption is allowed but │
│ │ actually attempting it will cause the │
│ │ EAP method to fail or time out. In │
│ │ that case, assuming the credentials │
│ │ and other settings are correct, every │
│ │ other connection attempt will fail as │
│ │ sessions are cached and forgotten in │
│ │ alternating attempts. Use this │
│ │ setting to disable caching for this │
│ │ network. │
├────────────────────────────────┼────────────────────────────────────────────┤
│ EAP-TTLS-Phase2-Method │ The following values are allowed: │
│ │ Tunneled-CHAP, │
│ │ Tunneled-MSCHAP, │
│ │ Tunneled-MSCHAPv2, │
│ │ Tunneled-PAP or │
│ │ a valid EAP method name (see EAP-Method) │
│ │ │
│ │ │
│ │ Phase 2 authentication method for │
│ │ EAP-TTLS. Can be either one of the │
│ │ TTLS-specific non-EAP methods │
│ │ (Tunneled-*), or any EAP method │
│ │ documented here. The following two │
│ │ settings are used if any of the │
│ │ non-EAP methods is used. │
├────────────────────────────────┼────────────────────────────────────────────┤
│ EAP-TTLS-Phase2-Identity │ The secure identity/username string for │
│ │ the TTLS non-EAP Phase 2 methods. If not │
│ │ provided iwd will request a username at │
│ │ connection time. │
├────────────────────────────────┼────────────────────────────────────────────┤
│ EAP-TTLS-Phase2-Password │ Password string for the TTLS non-EAP Phase │
│ │ 2 methods. If not provided IWD will │
│ │ request a passphrase at connection time. │
├────────────────────────────────┼────────────────────────────────────────────┤
│ EAP-TTLS-Phase2-* │ Any settings to be used for the inner EAP │
│ │ method if one was specified as │
│ │ EAP-TTLS-Phase2-Method, rather than a │
│ │ TTLS-specific method. The prefix │
│ │ EAP-TTLS-Phase2- replaces the EAP- prefix │
│ │ in the setting keys and their usage is │
│ │ unchanged. Since the inner method's │
│ │ negotiation is encrypted, a secure │
│ │ identity string can be provided. │
├────────────────────────────────┼────────────────────────────────────────────┤
│ EAP-PEAP-Phase2-* │ Any settings to be used for the inner EAP │
│ │ method with EAP-PEAP as the outer method. │
│ │ The prefix EAP-PEAP-Phase2- replaces the │
│ │ EAP- prefix in the setting keys and their │
│ │ usage is unchanged. Since the inner │
│ │ method's negotiation is encrypted, a │
│ │ secure identity string can be provided. │
└────────────────────────────────┴────────────────────────────────────────────┘
Network Configuration Settings
The group [Network] contains general network settings and any network specific overrides for global
defaults defined in the main iwd configuration file.
┌──────────────┬───────────────────────────────────────┐
│ MulticastDNS │ Values: true, false, resolve │
│ │ │
│ │ Configures multicast DNS for this │
│ │ network. If not specified, │
│ │ systemd-resolved's default value will │
│ │ remain untouched. See man 5 │
│ │ systemd.network for details. │
│ │ │
│ │ Only applies when │
│ │ NameResolvingService=systemd. │
└──────────────┴───────────────────────────────────────┘
The group [IPv4] contains settings for Internet Protocol version 4 (IPv4) network configuration with the
static addresses.
┌──────────────┬───────────────────────────────────────┐
│ Address │ IPv4 address string │
│ │ │
│ │ The IPv4 address to assign. This │
│ │ field is required for the static │
│ │ configuration. │
├──────────────┼───────────────────────────────────────┤
│ Gateway │ IPv4 address string │
│ │ │
│ │ The IPv4 address of the gateway │
│ │ (router). This field is required for │
│ │ the static configuration. │
├──────────────┼───────────────────────────────────────┤
│ DNS │ IPv4 address string list, space │
│ │ delimited │
│ │ │
│ │ The IPv4 address(es) of the Domain │
│ │ Name System (DNS). This field is │
│ │ optional. DNS setting can be used to │
│ │ override the DNS entries received │
│ │ from the DHCP server. │
├──────────────┼───────────────────────────────────────┤
│ Netmask │ IPv4 address string │
│ │ │
│ │ The IPv4 address of the subnet. This │
│ │ field is optional. 255.255.255.0 is │
│ │ used as default Netmask. │
├──────────────┼───────────────────────────────────────┤
│ Broadcast │ IPv4 address string │
│ │ │
│ │ The IPv4 address to be used for the │
│ │ broadcast. This field is optional. │
├──────────────┼───────────────────────────────────────┤
│ DomainName │ string │
│ │ │
│ │ The DomainName is the name of the │
│ │ local Internet domain. This field is │
│ │ optional. DomainName setting can be │
│ │ used to override the DomainName value │
│ │ obtained from the DHCP server. │
├──────────────┼───────────────────────────────────────┤
│ SendHostname │ Values: true, false │
│ │ │
│ │ Configures DHCP to include the │
│ │ hostname in the request. This setting │
│ │ is disabled by default. │
└──────────────┴───────────────────────────────────────┘
The group [IPv6] contains settings for Internet Protocol version 6 (IPv6) network configuration.
──────────────────────────────────────────────────────
Enabled Boolean
Whether IPv6 is enabled for this
network. If not provided, then the
global default provided by
[Network].EnableIPv6 setting will be
used. If IPv6 is disabled, then the
'disable_ipv6' setting in sysfs will
be set to 1 and no IPv6 addresses or
routes will be created for this
network.
──────────────────────────────────────────────────────
Address IPv6 address string
The IPv6 address to assign. This
field is required for the static
configuration. The recognized format
is according to inet_pton followed by
'/' and prefix length. If prefix
length is omitted, then 128 is
assumed.
──────────────────────────────────────────────────────
Gateway IPv6 address string
The IPv6 address of the gateway
(router). This field is required for
the static configuration.
──────────────────────────────────────────────────────
DNS IPv6 address string list, space
delimited
The IPv6 address(es) of the Domain
Name System (DNS). This field is
optional. DNS setting can be used to
override the DNS entries received
from the DHCPv6 server or via Router
Advertisements.
──────────────────────────────────────────────────────
DomainName string
The DomainName is the name of the
local Internet domain. This field is
optional. DomainName setting can be
used to override the DomainName value
obtained from the DHCPv6 server or
via Router Advertisements.
┌────────────┬───────────────────────────────────────┐
│ │ │
Embedded PEMs │ │ │
--
EXAMPLES │ │ │
--
SEE ALSO
iwd(8), iwd.config(5)
AUTHOR
Marcel Holtmann <marcel@holtmann.org>, Denis Kenzior <denkenz@gmail.com>, Andrew Zaborowski
<andrew.zaborowski@intel.com>, Tim Kourt <tim.a.kourt@linux.intel.com>, James Prestwood
<prestwoj@gmail.com>
COPYRIGHT
2013-2019 Intel Corporation
iwd 22 September 2019 IWD.NETWORK(5)