Blame docs/api/html/NetworkManager.html

Packit 5756e2
Packit 5756e2
<html>
Packit 5756e2
<head>
Packit 5756e2
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit 5756e2
<title>NetworkManager: NetworkManager Reference Manual</title>
Packit 5756e2
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
Packit 5756e2
<link rel="home" href="index.html" title="NetworkManager Reference Manual">
Packit 5756e2
<link rel="up" href="manpages.html" title="Part I. Manual Pages">
Packit 5756e2
<link rel="prev" href="manpages.html" title="Part I. Manual Pages">
Packit 5756e2
<link rel="next" href="NetworkManager.conf.html" title="NetworkManager.conf">
Packit Service 018b0a
<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)">
Packit 5756e2
<link rel="stylesheet" href="style.css" type="text/css">
Packit 5756e2
</head>
Packit 5756e2
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit 5756e2
Packit 5756e2
Packit 5756e2
Home
Packit 5756e2
Up
Packit 5756e2
Prev
Packit 5756e2
Next
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

NetworkManager

Packit 5756e2

NetworkManager — network management daemon

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

Synopsis

Packit 5756e2

NetworkManager [OPTIONS...]

Packit 5756e2
Packit 5756e2
Packit 5756e2

Description

Packit 5756e2

Packit 5756e2
      The NetworkManager daemon attempts to make networking
Packit 5756e2
      configuration and operation as painless and automatic as
Packit 5756e2
      possible by managing the primary network connection and other
Packit 5756e2
      network interfaces, like Ethernet, Wi-Fi, and Mobile Broadband
Packit 5756e2
      devices.  NetworkManager will connect any network device when a
Packit 5756e2
      connection for that device becomes available, unless that
Packit 5756e2
      behavior is disabled.  Information about networking is exported
Packit 5756e2
      via a D-Bus interface to any interested application, providing a
Packit 5756e2
      rich API with which to inspect and control network settings and
Packit 5756e2
      operation.
Packit 5756e2
    

Packit 5756e2
Packit 5756e2
Packit 5756e2

Dispatcher scripts

Packit 5756e2

Packit 5756e2
      NetworkManager will execute scripts in the
Packit 5756e2
      /etc/NetworkManager/dispatcher.d
Packit 5756e2
      directory or subdirectories in
Packit 5756e2
      alphabetical order in response to network events.  Each script should
Packit 5756e2
      be a regular executable file owned by root.  Furthermore, it must not be
Packit 5756e2
      writable by group or other, and not setuid.
Packit 5756e2
    

Packit 5756e2

Packit 5756e2
      Each script receives two arguments, the first being the interface name of the
Packit 5756e2
      device an operation just happened on, and second the action. For device actions,
Packit 5756e2
      the interface is the name of the kernel interface suitable for IP configuration.
Packit 5756e2
      Thus it is either VPN_IP_IFACE, DEVICE_IP_IFACE, or DEVICE_IFACE, as applicable.
Packit 5756e2
      For the hostname action the device name is always "none"
Packit 5756e2
      and for connectivity-change it is empty.
Packit 5756e2
    

Packit 5756e2

The actions are:

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

pre-up

Packit 5756e2

The interface is connected to the network but is not

Packit 5756e2
        yet fully activated.  Scripts acting on this event must be placed or
Packit 5756e2
        symlinked into the /etc/NetworkManager/dispatcher.d/pre-up.d
Packit 5756e2
        directory, and NetworkManager will wait for script execution to complete before
Packit 5756e2
        indicating to applications that the interface is fully activated.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

up

Packit 5756e2

The interface has been activated.

Packit 5756e2
Packit 5756e2
Packit 5756e2

pre-down

Packit 5756e2

The interface will be deactivated but has not yet been

Packit 5756e2
        disconnected from the network.  Scripts acting on this event must be
Packit 5756e2
        placed or symlinked into the /etc/NetworkManager/dispatcher.d/pre-down.d
Packit 5756e2
        directory, and NetworkManager will wait for script execution to complete
Packit 5756e2
        before disconnecting the interface from its network.  Note that this
Packit 5756e2
        event is not emitted for forced disconnections, like when carrier is
Packit 5756e2
        lost or a wireless signal fades.  It is only emitted when there is
Packit 5756e2
        an opportunity to cleanly handle a network disconnection event.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

down

Packit 5756e2

Packit 5756e2
          The interface has been deactivated.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

vpn-pre-up

Packit 5756e2

The VPN is connected to the network but is not yet

Packit 5756e2
        fully activated.  Scripts acting on this event must be placed or
Packit 5756e2
        symlinked into the /etc/NetworkManager/dispatcher.d/pre-up.d
Packit 5756e2
        directory, and NetworkManager will wait for script execution to complete before
Packit 5756e2
        indicating to applications that the VPN is fully activated.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

vpn-up

Packit 5756e2

Packit 5756e2
          A VPN connection has been activated.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

vpn-pre-down

Packit 5756e2

The VPN will be deactivated but has not yet been

Packit 5756e2
        disconnected from the network.  Scripts acting on this event must be
Packit 5756e2
        placed or symlinked into the /etc/NetworkManager/dispatcher.d/pre-down.d
Packit 5756e2
        directory, and NetworkManager will wait for script execution to complete
Packit 5756e2
        before disconnecting the VPN from its network.  Note that this
Packit 5756e2
        event is not emitted for forced disconnections, like when the VPN
Packit 5756e2
        terminates unexpectedly or general connectivity is lost.  It is only
Packit 5756e2
        emitted when there is an opportunity to cleanly handle a VPN
Packit 5756e2
        disconnection event.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

vpn-down

Packit 5756e2

Packit 5756e2
          A VPN connection has been deactivated.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

hostname

Packit 5756e2

Packit 5756e2
          The system hostname has been updated.  Use gethostname(2) to retrieve it.
Packit 5756e2
          The interface name (first argument) is empty and no environment variable is
Packit 5756e2
          set for this action.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

dhcp4-change

Packit 5756e2

Packit 5756e2
          The DHCPv4 lease has changed (renewed, rebound, etc).
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

dhcp6-change

Packit 5756e2

Packit 5756e2
          The DHCPv6 lease has changed (renewed, rebound, etc).
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

connectivity-change

Packit 5756e2

Packit 5756e2
          The network connectivity state has changed (no connectivity, went online, etc).
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

Packit 5756e2
      The environment contains more information about the interface and the connection.
Packit 5756e2
      The following variables are available for the use in the dispatcher scripts:
Packit 5756e2
      

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

NM_DISPATCHER_ACTION

Packit 5756e2

Packit 5756e2
            The dispatcher action like "up" or "dhcp4-change", identical to the first
Packit 5756e2
            command line argument. Since NetworkManager 1.12.0.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

CONNECTION_UUID

Packit 5756e2

Packit 5756e2
            The UUID of the connection profile.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

CONNECTION_ID

Packit 5756e2

Packit 5756e2
            The name (ID) of the connection profile.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

CONNECTION_DBUS_PATH

Packit 5756e2

Packit 5756e2
            The NetworkManager D-Bus path of the connection.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

CONNECTION_FILENAME

Packit 5756e2

Packit 5756e2
            The backing file name of the connection profile (if any).
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

CONNECTION_EXTERNAL

Packit 5756e2

Packit 5756e2
            If "1", this indicates that the connection describes a
Packit 5756e2
            network configuration created outside of NetworkManager.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

DEVICE_IFACE

Packit 5756e2

Packit 5756e2
            The interface name of the control interface of the device.
Packit 5756e2
            Depending on the device type, this differs from
Packit 5756e2
            DEVICE_IP_IFACE. For example for
Packit 5756e2
            ADSL devices, this could be 'atm0' or for WWAN devices
Packit 5756e2
            it might be 'ttyUSB0'.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

DEVICE_IP_IFACE

Packit 5756e2

Packit 5756e2
            The IP interface name of the device. This is the network
Packit 5756e2
            interface on which IP addresses and routes will be configured.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

IP4_ADDRESS_N

Packit 5756e2

Packit 5756e2
            The IPv4 address in the format "address/prefix gateway", where N is a number
Packit 5756e2
            from 0 to (# IPv4 addresses - 1). gateway item in this variable is deprecated,
Packit 5756e2
            use IP4_GATEWAY instead.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

IP4_NUM_ADDRESSES

Packit 5756e2

Packit 5756e2
            The variable contains the number of IPv4 addresses the script may expect.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

IP4_GATEWAY

Packit 5756e2

Packit 5756e2
            The gateway IPv4 address in traditional numbers-and-dots notation.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

IP4_ROUTE_N

Packit 5756e2

Packit 5756e2
            The IPv4 route in the format "address/prefix next-hop metric", where N is a number
Packit 5756e2
            from 0 to (# IPv4 routes - 1).
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

IP4_NUM_ROUTES

Packit 5756e2

Packit 5756e2
            The variable contains the number of IPv4 routes the script may expect.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

IP4_NAMESERVERS

Packit 5756e2

Packit 5756e2
            The variable contains a space-separated list of the DNS servers.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

IP4_DOMAINS

Packit 5756e2

Packit 5756e2
            The variable contains a space-separated list of the search domains.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

DHCP4_<dhcp-option-name>

Packit 5756e2

Packit 5756e2
            If the connection used DHCP for address configuration, the received DHCP
Packit 5756e2
            configuration is passed in the environment using standard DHCP
Packit 5756e2
            option names, prefixed with "DHCP4_", like "DHCP4_HOST_NAME=foobar".
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

IP6_<name> and DHCP6_<name>

Packit 5756e2

Packit 5756e2
            The same variables as for IPv4 are available for IPv6, but the prefixes are IP6_
Packit 5756e2
            and DHCP6_ instead.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

CONNECTIVITY_STATE

Packit 5756e2

The network connectivity state, which can

Packit 5756e2
          take the values defined by the NMConnectivityState type,
Packit 5756e2
          from the org.freedesktop.NetworkManager D-Bus API: unknown,
Packit 5756e2
          none, portal, limited or full. Note: this variable will only
Packit 5756e2
          be set for connectivity-change actions.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

Packit 5756e2
    

Packit 5756e2

Packit 5756e2
      In case of VPN, VPN_IP_IFACE is set, and IP4_*, IP6_* variables with VPN prefix are
Packit 5756e2
      exported too, like VPN_IP4_ADDRESS_0, VPN_IP4_NUM_ADDRESSES.
Packit 5756e2
    

Packit 5756e2

Packit 5756e2
      Dispatcher scripts are run one at a time, but asynchronously from the main
Packit 5756e2
      NetworkManager process, and will be killed if they run for too long. If your script
Packit 5756e2
      might take arbitrarily long to complete, you should spawn a child process and have the
Packit 5756e2
      parent return immediately. Scripts that are symbolic links pointing inside the
Packit 5756e2
      /etc/NetworkManager/dispatcher.d/no-wait.d/
Packit 5756e2
      directory are run immediately, without
Packit 5756e2
      waiting for the termination of previous scripts, and in parallel. Also beware that
Packit 5756e2
      once a script is queued, it will always be run, even if a later event renders it
Packit 5756e2
      obsolete. (Eg, if an interface goes up, and then back down again quickly, it is
Packit 5756e2
      possible that one or more "up" scripts will be run after the interface has gone down.)
Packit 5756e2
    

Packit 5756e2
Packit 5756e2
Packit 5756e2

Options

Packit 5756e2

The following options are understood:

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

--version | -V

Packit 5756e2

Print the NetworkManager software version and exit.

Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

--help | -h

Packit 5756e2

Print NetworkManager's available options and exit.

Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

--no-daemon | -n

Packit 5756e2

Do not daemonize.

Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

--debug | -d

Packit 5756e2

Do not daemonize, and direct log output to the

Packit 5756e2
        controlling terminal in addition to syslog.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

--pid-file | -p

Packit 5756e2

Specify location of a PID file. The PID file

Packit 5756e2
        is used for storing PID of the running process and prevents
Packit 5756e2
        running multiple instances.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

--state-file

Packit 5756e2

Specify file for storing state of the

Packit 5756e2
        NetworkManager persistently.  If not specified, the default
Packit 5756e2
        value of /var/lib/NetworkManager/NetworkManager.state
Packit 5756e2
        is used.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

--config

Packit 5756e2

Specify configuration file to set up various

Packit 5756e2
        settings for NetworkManager.  If not specified, the default
Packit 5756e2
        value of /etc/NetworkManager/NetworkManager.conf
Packit 5756e2
        is used with
Packit 5756e2
        a fallback to the older 'nm-system-settings.conf' if located
Packit 5756e2
        in the same directory.  See
Packit 5756e2
        NetworkManager.conf(5)
Packit 5756e2
        for more information on configuration file.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

--configure-and-quit [initrd]

Packit 5756e2

Quit after all devices reach a stable state.

Packit 5756e2
        The optional initrd parameter enables mode, where no
Packit 5756e2
        processes are left running after NetworkManager stops, which is useful
Packit 5756e2
        for running from an initial ramdisk on rearly boot.

Packit 5756e2
Packit 5756e2
Packit 5756e2

--plugins

Packit 5756e2

List plugins used to manage system-wide

Packit 5756e2
        connection settings.  This list has preference over plugins
Packit 5756e2
        specified in the configuration file.  See main.plugins
Packit 5756e2
        setting in NetworkManager.conf(5)
Packit 5756e2
        for supported options.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

--log-level

Packit 5756e2

Packit 5756e2
          Sets how much information NetworkManager sends to the log destination (usually
Packit 5756e2
          syslog's "daemon" facility).  By default, only informational, warning, and error
Packit 5756e2
          messages are logged. See the section on logging in
Packit 5756e2
          NetworkManager.conf(5)
Packit 5756e2
          for more information.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

--log-domains

Packit 5756e2

Packit 5756e2
          A comma-separated list specifying which operations are logged to the log
Packit 5756e2
          destination (usually syslog). By default, most domains are logging-enabled.
Packit 5756e2
          See the section on logging in
Packit 5756e2
          NetworkManager.conf(5)
Packit 5756e2
          for more information.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2

--print-config

Packit 5756e2

Packit 5756e2
          Print the NetworkManager configuration to stdout and exit.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

Udev Properties

Packit 5756e2

Packit 5756e2
      udev(7)
Packit 5756e2
      device manager is used for the network device discovery. The following
Packit 5756e2
      property influences how NetworkManager manages the devices:
Packit 5756e2
    

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

NM_UNMANAGED

Packit 5756e2

Packit 5756e2
          If set to "1" or "true", the device is
Packit 5756e2
          configured as unmanaged by NetworkManager. Note that the user still can
Packit 5756e2
          explicitly overrule this configuration via means like
Packit 5756e2
          nmcli device set "$DEVICE" managed yes or
Packit 5756e2
          "device*.managed=1" in NetworkManager.conf.
Packit 5756e2
        

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

SIGNALS

Packit 5756e2

Packit 5756e2
      NetworkManager process handles the following signals:
Packit 5756e2
      

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

SIGHUP

Packit 5756e2

Packit 5756e2
          The signal causes a reload of NetworkManager's configuration.
Packit 5756e2
          Note that not all configuration parameters can be changed at
Packit 5756e2
          runtime and therefore some changes may be applied only after
Packit 5756e2
          the next restart of the daemon.
Packit 5756e2
          A SIGHUP also involves further reloading actions, like doing
Packit 5756e2
          a DNS update and restarting the DNS plugin. The latter can be
Packit 5756e2
          useful for example when using the dnsmasq plugin and changing
Packit 5756e2
          its configuration in /etc/NetworkManager/dnsmasq.d.
Packit 5756e2
          However, it also means this will shortly interrupt name resolution.
Packit 5756e2
          In the future, there may be further actions added.
Packit 5756e2
          A SIGHUP means to update NetworkManager configuration and reload
Packit 5756e2
          everything that is supported. Note that this does not reload
Packit 5756e2
          connections from disk. For that there is a D-Bus API and
Packit 5756e2
          nmcli's reload action
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

SIGUSR1

Packit 5756e2

Packit 5756e2
            The signal forces a rewrite of DNS configuration. Contrary to
Packit 5756e2
            SIGHUP, this does not restart the DNS plugin and will not interrupt
Packit 5756e2
            name resolution.
Packit 5756e2
            In the future, further actions may be added. A SIGUSR1
Packit 5756e2
            means to write out data like resolv.conf, or refresh a cache.
Packit 5756e2
            It is a subset of what is done for SIGHUP without reloading
Packit 5756e2
            configuration from disk.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2

SIGUSR2

Packit 5756e2

Packit 5756e2
            The signal has no effect at the moment but is reserved for future
Packit 5756e2
            use.
Packit 5756e2
          

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit 5756e2

Packit 5756e2
    

Packit 5756e2

Packit 5756e2
      An alternative to a signal to reload configuration is the Reload D-Bus call.
Packit 5756e2
      It allows for more fine-grained selection of what to reload, it only returns
Packit 5756e2
      after the reload is complete, and it is guarded by PolicyKit.
Packit 5756e2
    

Packit 5756e2
Packit 5756e2
Packit 5756e2

Debugging

Packit 5756e2

Packit 5756e2
      NetworkManager only configures your system. So when your networking setup doesn't
Packit 5756e2
      work as expected, the first step is to look at your system to understand what is actually
Packit 5756e2
      configured, and whether that is correct. The second step is to find out how to tell
Packit 5756e2
      NetworkManager to do the right thing.
Packit 5756e2
    

Packit 5756e2

Packit 5756e2
      You can for example try to ping hosts (by
Packit 5756e2
      IP address or DNS name), look at ip link show, ip address show and ip route show,
Packit 5756e2
      and look at /etc/resolv.conf for name resolution issues.
Packit 5756e2
      Also look at the connection profiles that you have configured in NetworkManager (nmcli connection
Packit 5756e2
      and nmcli connection show "$PROFILE")
Packit 5756e2
      and the configured interfaces (nmcli device).
Packit 5756e2
    

Packit 5756e2

Packit 5756e2
      If that does not suffice, look at the logfiles of NetworkManager. NetworkManager
Packit 5756e2
      logs to syslog, so depending on your system configuration you can call journalctl
Packit 5756e2
      to get the logs.
Packit 5756e2
      By default, NetworkManager logs are not verbose and thus not very helpful for investigating
Packit 5756e2
      a problem in detail. You can change the logging level at runtime with nmcli general logging level TRACE domains ALL.
Packit 5756e2
      But usually a better way is to collect full logs from the start, by configuring
Packit 5756e2
      level=TRACE in NetworkManager.conf. See
Packit 5756e2
      NetworkManager.conf(5)
Packit 5756e2
      manual. Note that trace logs of NetworkManager are verbose and systemd-journald might rate limit
Packit 5756e2
      some lines. Possibly disable rate limiting first with the RateLimitIntervalSec and
Packit 5756e2
      RateLimitBurst options of journald (see
Packit 5756e2
      journald.conf(5) manual).
Packit 5756e2
    

Packit 5756e2
Packit 5756e2
Packit 5756e2

/var/lib/NetworkManager/secret_key and /etc/machine-id

Packit 5756e2

Packit 5756e2
      The identity of a machine is important as various settings depend on it. For example,
Packit 5756e2
      ipv6.addr-gen-mode=stable and ethernet.cloned-mac-address=stable
Packit 5756e2
      generate identifiers by hashing the machine's identity. See also the
Packit 5756e2
      connection.stable-id connection property which is a per-profile seed
Packit 5756e2
      that gets hashed with the machine identity for generating such addresses and identifiers.
Packit 5756e2
    

Packit 5756e2

Packit 5756e2
      If you backup and restore a machine, the identity of the machine probably should be preserved.
Packit 5756e2
      In that case, preserve the files /var/lib/NetworkManager/secret_key and
Packit 5756e2
      /etc/machine-id. On the other hand, if you clone a virtual machine, you
Packit 5756e2
      probably want that the clone has a different identity. There is already existing tooling on Linux for
Packit 5756e2
      handling /etc/machine-id (see
Packit 5756e2
      machine-id(5)).
Packit 5756e2
    

Packit 5756e2

Packit 5756e2
      The identity of the machine is determined by the /var/lib/NetworkManager/secret_key.
Packit 5756e2
      If such a file does not exist, NetworkManager will create a file with random content. To generate
Packit 5756e2
      a new identity just delete the file and after restart a new file will be created.
Packit 5756e2
      The file should be read-only to root and contain at least 16 bytes that will be used to seed the various places
Packit 5756e2
      where a stable identifier is used.
Packit 5756e2
    

Packit 5756e2

Packit 5756e2
      Since 1.16.0, NetworkManager supports a version 2 of secret-keys. For such keys
Packit 5756e2
      /var/lib/NetworkManager/secret_key starts with ASCII "nm-v2:"
Packit 5756e2
      followed by at least 32 bytes of random data.
Packit 5756e2
      Also, recent versions of NetworkManager always create such kinds of secret-keys, when
Packit 5756e2
      the file does not yet exist.
Packit 5756e2
      With version 2 of the secret-key, /etc/machine-id is also hashed as part
Packit 5756e2
      of the generation for addresses and identifiers. The advantage is that you can keep /var/lib/NetworkManager/secret_key
Packit 5756e2
      stable, and only regenerate /etc/machine-id when cloning a VM.
Packit 5756e2
    

Packit 5756e2
Packit 5756e2
Packit 5756e2

Bugs

Packit 5756e2

Packit 5756e2
      Please report any bugs you find in NetworkManager at the
Packit 5756e2
      NetworkManager issue tracker.
Packit 5756e2
    

Packit 5756e2
Packit 5756e2
Packit 5756e2

See Also

Packit 5756e2

Packit 5756e2
      NetworkManager home page,
Packit 5756e2
      NetworkManager.conf(5),
Packit 5756e2
      nmcli(1),
Packit 5756e2
      nmcli-examples(7),
Packit 5756e2
      nm-online(1),
Packit 5756e2
      nm-settings(5),
Packit 5756e2
      nm-applet(1),
Packit 5756e2
      nm-connection-editor(1),
Packit 5756e2
      udev(7)
Packit 5756e2
    

Packit 5756e2
Packit 5756e2
Packit 5756e2
Packit Service 018b0a

Generated by GTK-Doc V1.33.0
Packit 5756e2
</body>
Packit 5756e2
</html>