Provided by: iwd_1.26-3_amd64 bug

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 AuthenticationSettings                 │                                       │
       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.
                     ───────────────────────────────────────────────────────────────────────────
                       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-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 [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.
                               ┌──────────────┬───────────────────────────────────────┐
                               │              │                                       │
--

EXAMPLES

       The following are some examples of common configurations

   Open Network (Hidden)
          [Settings]
          Hidden=true

   Pre-Shared Key (PSK)
          [Security]
          Passphrase=secret123

   PWD
          [Security]
          EAP-Method=PWD
          EAP-Identity=user@domain.com
          EAP-Password=secret123

   TLS
          [Security]
          EAP-Method=TLS
          EAP-TLS-ClientCert=/certs/client-cert.pem
          EAP-TLS-ClientKey=/certs/client-key.pem
          EAP-TLS-CACert=/certs/ca-cert.pem
          EAP-TLS-ServerDomainMask=*.domain.com

   TTLS + PAP
          [Security]
          EAP-Method=TTLS
          EAP-Identity=open@identity.com
          EAP-TTLS-CACert=/certs/ca-cert.pem
          EAP-TTLS-Phase2-Method=Tunneled-PAP
          EAP-TTLS-Phase2-Identity=username
          EAP-TTLS-Phase2-Password=password
          EAP-TTLS-ServerDomainMask=*.domain.com

   PEAP + MSCHAPv2
          [Security]
          EAP-Method=PEAP
          EAP-Identity=open@identity.com
          EAP-PEAP-CACert=/certs/ca-cert.pem
          EAP-PEAP-Phase2-Method=MSCHAPV2
          EAP-PEAP-Phase2-Identity=username
          EAP-PEAP-Phase2-Password=password
          EAP-PEAP-ServerDomainMask=*.domain.com

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)