nm-settings-ifcfg-rh - Man Page

Description of ifcfg-rh settings plugin


NetworkManager is based on the concept of connection profiles that contain network configuration (see nm-settings(5) for details). The profiles can be stored in various formats. NetworkManager uses plugins for reading and writing the data. The plugins can be configured in NetworkManager.conf(5).

The ifcfg-rh plugin is used on the Fedora and Red Hat Enterprise Linux distributions to read/write configuration from/to the traditional /etc/sysconfig/network-scripts/ifcfg-* files. Each NetworkManager connection maps to one ifcfg-* file, with possible usage of keys-* for passwords, route-* for static IPv4 routes and route6-* for static IPv6 routes. The plugin currently supports reading and writing Ethernet, Wi-Fi, InfiniBand, VLAN, Bond, Bridge, and Team connections. Unsupported connection types (such as WWAN, PPPoE, VPN, or ADSL) are handled by keyfile plugin (nm-settings-keyfile(5)). The main reason for using ifcfg-rh plugin is the compatibility with legacy configurations for ifup and ifdown (initscripts).

File Format

The ifcfg-rh config format is a simple text file containing VARIABLE="value" lines. The format is described in sysconfig.txt of initscripts package. Note that the configuration files may be sourced by initscripts, so they must be valid shell scripts. That means, for instance, that # character can be used for comments, strings with spaces must be quoted, special characters must be escaped, etc.

Users can create or modify the ifcfg-rh connection files manually, even if that is not the recommended way of managing the profiles. However, if they choose to do that, they must inform NetworkManager about their changes (for example via nmcli con (re)load).

Some ifcfg-rh configuration examples:.

Simple DHCP ethernet configuration:
Simple ethernet configuration with static IP:
WPA2 Enterprise WLAN (TTLS with inner MSCHAPV2 authentication):
Bridge and bridge port configuration:
ifcfg-bridge:                                ifcfg-bridge-port:
NAME=bridge                                  NAME=bridge007-port-eth0
UUID=4be99ce0-c5b2-4764-8b77-ec226e440125    UUID=3ad56c4a-47e1-419b-b0d4-8ad86eb967a3
DEVICE=bridge007                             DEVICE=eth0
STP=yes                                      ONBOOT=yes
TYPE=Bridge                                  TYPE=Ethernet
BRIDGING_OPTS=priority=32768                 BRIDGE=bridge007
Bonding configuration:
ifcfg-BOND:                                  ifcfg-BOND-slave:
NAME=BOND                                    NAME=BOND-slave
UUID=b41888aa-924c-450c-b0f8-85a4f0a51b4a    UUID=9bb048e4-286a-4cc3-b104-007dbd20decb
DEVICE=bond100                               DEVICE=eth0
BONDING_OPTS="mode=balance-rr miimon=100"    ONBOOT=yes
TYPE=Bond                                    TYPE=Ethernet
BONDING_MASTER=yes                           MASTER=bond100
ONBOOT=yes                                   SLAVE=yes
Team and team port configuration:
TEAM_CONFIG="{ \"device\": \"team0\", \"runner\": {\"name\": \"roundrobin\"}, \"ports\": {\"eth1\": {}, \"eth2\": {}} }"



The UUID values in the config files must be unique. You can use uuidgen command line tool to generate such values. Alternatively, you can leave out UUID entirely. In that case NetworkManager will generate a UUID based on the file name.

Differences Against Initscripts

The main differences of NetworkManager ifcfg-rh plugin and traditional initscripts are:


NM_CONTROLLED is NetworkManager-specific variable used by NetworkManager for determining whether the device of the ifcfg file should be managed. NM_CONTROLLED=yes is supposed if the variable is not present in the file. Note that if you have more ifcfg files for a single device, NM_CONTROLLED=no in one of the files will cause the device not to be managed. The profile may not even be the active one.

New variables

NetworkManager has introduced some new variable, not present in initscripts, to be able to store data for its new features. The variables are marked as extensions in the tables below.

Semantic change of variables and differences

NetworkManager changes the semantics for a few variables and there are other behavioral differences.

  • PEERDNS - initscripts interpret PEERDNS=no to mean "never touch resolv.conf". NetworkManager interprets it to say "never add automatic (DHCP, PPP, VPN, etc.) nameservers to resolv.conf".
  • ONBOOT - initscripts use ONBOOT=yes to mark the devices that are to be activated during boot. NetworkManager extends this to also mean that this profile can be used for auto-connecting at any time.
  • BOOTPROTO - NetworkManager supports traditional values none (static), dhcp. But it also allows additional values to enable new addressing methods. They are autoip for IPv4 link-local addressing using Avahi daemon and shared for connection sharing. When shared is used, NetworkManager assigns the interface, or it uses the first static address, if configured.
  • HWADDR - initscripts compare the currently set hardware address of a device, while NetworkManager considers the permanent one.
  • NOZEROCONF - initscripts add an on-link route to for ethernet profiles that don't explicitly opt-out by setting NOZEROCONF variable. NetworkManager does not do that. Instead a static, manual route with scope=253 (link) should be added to get that behavior.

See the next section for detailed mapping of NetworkManager properties and ifcfg-rh variables. Variable names, format and usage differences in NetworkManager and initscripts are documented in the tables below.


ifcfg-rh plugin variables marked with (+) are NetworkManager specific extensions not understood by traditional initscripts.

Table 1. 6lowpan setting

PropertyIfcfg-rh VariableDefaultDescription

Table 2. 802-1x setting

PropertyIfcfg-rh VariableDefaultDescription
eapIEEE_8021X_EAP_METHODS(+) EAP method for 802.1X authentication.


Allowed values: "LEAP", "PWD", "TLS", "PEAP", "TTLS", "FAST"
identityIEEE_8021X_IDENTITY(+) Identity for EAP authentication methods.

Example: IEEE_8021X_IDENTITY=itsme
anonymous-identityIEEE_8021X_ANON_IDENTITY(+) Anonymous identity for EAP authentication methods.
pac-fileIEEE_8021X_PAC_FILE(+) File with PAC (Protected Access Credential) for EAP-FAST.

Example: IEEE_8021X_PAC_FILE=/home/joe/my-fast.pac
ca-certIEEE_8021X_CA_CERT(+) CA certificate for EAP.

Example: IEEE_8021X_CA_CERT=/home/joe/cacert.crt
ca-pathIEEE_8021X_CA_PATH(+) The search path for the certificate.
subject-matchIEEE_8021X_SUBJECT_MATCH(+) Substring to match subject of server certificate against.

Example: IEEE_8021X_SUBJECT_MATCH="Red Hat"
altsubject-matchesIEEE_8021X_ALTSUBJECT_MATCHES(+) List of strings to be matched against the altSubjectName.

Example: IEEE_8021X_ALTSUBJECT_MATCHES="s1.domain.cc"
domain-suffix-matchIEEE_8021X_DOMAIN_SUFFIX_MATCH(+) Suffix to match domain of server certificate against.
domain-matchIEEE_8021X_DOMAIN_MATCH(+) Value to match domain of server certificate against.
client-certIEEE_8021X_CLIENT_CERT(+) Client certificate for EAP.

Example: IEEE_8021X_CLIENT_CERT=/home/joe/mycert.crt
phase1-peapverIEEE_8021X_PEAP_VERSION(+) Use to force a specific PEAP version.

Allowed values: 0, 1
phase1-peaplabelIEEE_8021X_PEAP_FORCE_NEW_LABEL(+)noUse to force the new PEAP label during key derivation.

Allowed values: yes, no
phase1-fast-provisioningIEEE_8021X_FAST_PROVISIONING(+) Enable in-line provisioning of EAP-FAST credentials.

Example: IEEE_8021X_FAST_PROVISIONING="allow-auth allow-unauth"

Allowed values: space-separated list of these values [allow-auth, allow-unauth]
phase1-auth-flagsIEEE_8021X_PHASE1_AUTH_FLAGS(+) Authentication flags for the supplicant

Example: IEEE_8021X_PHASE1_AUTH_FLAGS="tls-1-0-disable tls-1-1-disable"

Allowed values: space-separated list of authentication flags names
phase2-authIEEE_8021X_INNER_AUTH_METHODS(+) Inner non-EAP authentication methods for TTLS or the inner EAP authentication method for PEAP. IEEE_8021X_INNER_AUTH_METHODS can contain values both for 'phase2-auth' and 'phase2-autheap' properties.


Allowed values: "PAP", "CHAP", "MSCHAP", "MSCHAPV2", "GTC", "OTP", "MD5" and "TLS"
phase2-autheapIEEE_8021X_INNER_AUTH_METHODS(+) Inner EAP-based authentication methods. Note that IEEE_8021X_INNER_AUTH_METHODS is also used for 'phase2-auth' values.


Allowed values: "EAP-MD5", "EAP-MSCHAPV2", "EAP-GTC", "EAP-OTP" and "EAP-TLS"
phase2-ca-pathIEEE_8021X_PHASE2_CA_PATH(+) The search path for the certificate.
phase2-subject-matchIEEE_8021X_PHASE2_SUBJECT_MATCH(+) Substring to match subject of server certificate against.

Example: IEEE_8021X_PHASE2_SUBJECT_MATCH="Red Hat"
phase2-domain-suffix-matchIEEE_8021X_PHASE2_DOMAIN_SUFFIX_MATCH(+) Suffix to match domain of server certificate for phase 2 against.
phase2-domain-matchIEEE_8021X_PHASE2_DOMAIN_MATCH(+) Value to match domain of server certificate for phase 2 against.
phase2-client-certIEEE_8021X_INNER_CLIENT_CERT(+) Client certificate for inner EAP method.

Example: IEEE_8021X_INNER_CLIENT_CERT=/home/joe/mycert.crt
passwordIEEE_8021X_PASSWORD(+) UTF-8 encoded password used for EAP. It can also go to "key-" lookaside file, or it can be owned by a secret agent.
password-flagsIEEE_8021X_PASSWORD_FLAGS(+) Password flags for IEEE_8021X_PASSWORD password. (see the section called “Secret flags” for _FLAGS values)
password-rawIEEE_8021X_PASSWORD_RAW(+) password used for EAP, encoded as a hexadecimal string. It can also go to "key-" lookaside file.

Example: IEEE_8021X_PASSWORD_RAW=041c8320083aa4bf
password-raw-flagsIEEE_8021X_PASSWORD_RAW_FLAGS(+) The secret flags for password-raw.
private-keyIEEE_8021X_PRIVATE_KEY(+) Private key for EAP-TLS.

Example: IEEE_8021X_PRIVATE_KEY=/home/joe/mykey.p12
private-key-passwordIEEE_8021X_PRIVATE_KEY_PASSWORD(+) Password for IEEE_8021X_PRIVATE_KEY. It can also go to "key-" lookaside file, or it can be owned by a secret agent.
private-key-password-flagsIEEE_8021X_PRIVATE_KEY_PASSWORD_FLAGS(+) Password flags for IEEE_8021X_PRIVATE_KEY_PASSWORD password. (see the section called “Secret flags” for _FLAGS values)
phase2-private-keyIEEE_8021X_INNER_PRIVATE_KEY(+) Private key for inner authentication method for EAP-TLS.
phase2-private-key-passwordIEEE_8021X_INNER_PRIVATE_KEY_PASSWORD(+) Password for IEEE_8021X_INNER_PRIVATE_KEY. It can also go to "key-" lookaside file, or it can be owned by a secret agent.
phase2-private-key-password-flagsIEEE_8021X_INNER_PRIVATE_KEY_PASSWORD_FLAGS(+) Password flags for IEEE_8021X_INNER_PRIVATE_KEY_PASSWORD password. (see the section called “Secret flags” for _FLAGS values)
pinIEEE_8021X_PIN(+) The pin secret used for EAP authentication methods.
pin-flagsIEEE_8021X_PIN_FLAGS(+) The secret flags for the pin property.
system-ca-certsIEEE_8021X_SYSTEM_CA_CERTS(+) a boolean value.
auth-timeoutIEEE_8021X_AUTH_TIMEOUT(+)0Timeout in seconds for the 802.1X authentication. Zero means the global default or 25.
optionalIEEE_8021X_OPTIONAL(+) default=no whether the 802.1X authentication is optional

Table 3. bond setting

PropertyIfcfg-rh VariableDefaultDescription
optionsBONDING_OPTS Bonding options.

Example: BONDING_OPTS="miimon=100 mode=broadcast"

Table 4. bridge-port setting

PropertyIfcfg-rh VariableDefaultDescription
priorityBRIDGING_OPTS: priority=32STP priority.

Allowed values: 0 - 63
path-costBRIDGING_OPTS: path_cost=100STP cost.

Allowed values: 1 - 65535
hairpin-modeBRIDGING_OPTS: hairpin_mode=yesHairpin mode of the bridge port.
vlansBRIDGE_PORT_VLANS List of VLANs on the bridge port

Example: BRIDGE_PORT_VLANS="1 pvid untagged,20,300-400 untagged"

Table 5. bridge setting

PropertyIfcfg-rh VariableDefaultDescription
mac-addressBRIDGE_MACADDR(+) MAC address of the bridge. Note that this requires a recent kernel support, originally introduced in 3.15 upstream kernel) BRIDGE_MACADDR for bridges is an NM extension.
stpSTPnoSpan tree protocol participation.
priorityBRIDGING_OPTS: priority=32768STP priority.

Allowed values: 0 - 32768
forward-delayDELAY15STP forwarding delay.

Allowed values: 2 - 30
hello-timeBRIDGING_OPTS: hello_time=2STP hello time.

Allowed values: 1 - 10
max-ageBRIDGING_OPTS: max_age=20STP maximum message age.

Allowed values: 6 - 40
ageing-timeBRIDGING_OPTS: ageing_time=300Ethernet MAC ageing time.

Allowed values: 0 - 1000000
multicast-snoopingBRIDGING_OPTS: multicast_snooping=1IGMP snooping support.

Allowed values: 0 or 1
vlan-filteringBRIDGING_OPTS: vlan_filtering=0VLAN filtering support.

Allowed values: 0 or 1
vlan-default-pvidBRIDGING_OPTS: default_pvid=1default VLAN PVID.

Allowed values: 0 - 4094
vlansBRIDGE_VLANS List of VLANs on the bridge

Example: BRIDGE_VLANS="1 pvid untagged,20,300-400 untagged"
group-addressBRIDGING_OPTS: group_address= STP group address.

Example: BRIDGING_OPTS="group_address=01:80:C2:00:00:0A"
vlan-protocolBRIDGING_OPTS: vlan_protocol= VLAN filtering protocol.

Example: BRIDGING_OPTS="vlan_protocol=802.1Q"
vlan-stats-enabledBRIDGING_OPTS: vlan_stats_enabled=0Example: BRIDGING_OPTS="vlan_stats_enabled=1"
multicast-routerBRIDGING_OPTS: multicast_router=autoExample: BRIDGING_OPTS="multicast_router=enabled"

Allowed values: auto, enabled, disabled
multicast-query-use-ifaddrBRIDGING_OPTS: multicast_query_use_ifaddr=0Example: BRIDGING_OPTS="multicast_query-use_ifaddr=1"
multicast-querierBRIDGING_OPTS: multicast_querier=0Example: BRIDGING_OPTS="multicast_querier=1"
multicast-hash-maxBRIDGING_OPTS: multicast_hash_max=4096Example: BRIDGING_OPTS="multicast_hash_max=8192"
multicast-last-member-countBRIDGING_OPTS: multicast_last_member_count=2Example: BRIDGING_OPTS="multicast_last_member_count=4"
multicast-last-member-intervalBRIDGING_OPTS: multicast_last_member_interval=100Example: BRIDGING_OPTS="multicast_last_member_interval=200"
multicast-membership-intervalBRIDGING_OPTS: multicast_membership_interval=26000Example: BRIDGING_OPTS="multicast_membership_interval=16000"
multicast-querier-intervalBRIDGING_OPTS: multicast_querier_interval=25500Example: BRIDGING_OPTS="multicast_querier_interval=20000"
multicast-query-intervalBRIDGING_OPTS: multicast_query_interval=12500Example: BRIDGING_OPTS="multicast_query_interval=22500"
multicast-query-response-intervalBRIDGING_OPTS: multicast_query_response_interval=1000Example: BRIDGING_OPTS="multicast_query_response_interval=2000"
multicast-startup-query-countBRIDGING_OPTS: multicast_startup_query_count=2Example: BRIDGING_OPTS="multicast_startup_query_count=4"
multicast-startup-query-intervalBRIDGING_OPTS: multicast_startup_query_interval=3125Example: BRIDGING_OPTS="multicast_startup_query_interval=4000"

Table 6. connection setting

PropertyIfcfg-rh VariableDefaultDescription
idNAME(+) User friendly name for the connection profile.
uuidUUID(+) UUID for the connection profile. When missing, NetworkManager creates the UUID itself (by hashing the filename).
stable-idSTABLE_ID(+) Token to generate stable IDs.
interface-nameDEVICE Interface name of the device this profile is bound to. The variable can be left out when the profile should apply for more devices. Note that DEVICE can be required for some connection types.
typeTYPE (DEVICETYPE, DEVICE) Base type of the connection. DEVICETYPE is used for teaming connections.

Example: TYPE=Ethernet; TYPE=Bond; TYPE=Bridge; DEVICETYPE=TeamPort

Allowed values: Ethernet, Wireless, InfiniBand, Bridge, Bond, Vlan, Team, TeamPort
permissionsUSERS(+) Restrict to certain users the access to this connection, and allow the connection to be active only when at least one of the specified users is logged into an active session.

Example: USERS="joe bob"
autoconnectONBOOTyesWhether the connection should be autoconnected (not only while booting).
autoconnect-priorityAUTOCONNECT_PRIORITY(+)0Connection priority for automatic activation. Connections with higher numbers are preferred when selecting profiles for automatic activation.


Allowed values: -999 to 999
autoconnect-retriesAUTOCONNECT_RETRIES(+) The number of times a connection should be autoactivated before giving up and switching to the next one.


Allowed values: -1 (use global default), 0 (forever) or a positive value
multi-connectMULTI_CONNECT(+) whether the profile can be active on multiple devices at a given moment. The values are numbers corresponding to #NMConnectionMultiConnect enum.

zoneZONE(+) Trust level of this connection. The string is usually used for a firewall.

Example: ZONE=Work
masterMASTER, MASTER_UUID, TEAM_MASTER, TEAM_MASTER_UUID, BRIDGE, BRIDGE_UUID Reference to master connection. The variable used depends on the connection type and the value. In general, if the *_UUID variant is present, the variant without *_UUID is ignored. NetworkManager attempts to write both for compatibility with legacy tooling.
slave-typeMASTER, MASTER_UUID, TEAM_MASTER, TEAM_MASTER_UUID, DEVICETYPE, BRIDGE, BRIDGE_UUID Slave type doesn't map directly to a variable, but it is recognized using different variables.  MASTER and MASTER_UUID for bonding, TEAM_MASTER, TEAM_MASTER_UUID and DEVICETYPE for teaming, BRIDGE and BRIDGE_UUID for bridging.
autoconnect-slavesAUTOCONNECT_SLAVES(+)missing variable means global defaultWhether slaves of this connection should be auto-connected when this connection is activated.
secondariesSECONDARY_UUIDS(+) UUID of VPN connections that should be activated together with this connection.
gateway-ping-timeoutGATEWAY_PING_TIMEOUT(+)0If greater than zero, the IP connectivity will be checked by pinging the gateway and waiting for the specified timeout (in seconds).

meteredCONNECTION_METERED(+) Whether the device is metered


Allowed values: yes,no,unknown
lldpLLDP(+)missing variable means global defaultwhether LLDP is enabled for the connection

Example: LLDP=no

Allowed values: boolean value or 'rx'
auth-retriesAUTH_RETRIES(+)0Number of retries for authentication.
mdnsMDNS(+)missing variable means global defaultWhether or not mDNS is enabled for the connection

Example: MDNS=yes

Allowed values: yes,no,resolve
llmnrLLMNR(+)missing variable means global defaultWhether or not LLMNR is enabled for the connection

Example: LLMNR=yes

Allowed values: yes,no,resolve
wait-device-timeoutDEVTIMEOUT(+) for initscripts compatibility, this variable must be a whole integer. If necessary, NetworkManager stores also a fractional component for the milliseconds.


Allowed values: timeout in seconds.
mud-urlMUD_URL MUD_URL to be sent by device (See RFC 8520).

Example: https://yourdevice.example.com/model.json

Allowed values: a valid URL that points to recommended policy for this device

Table 7. dcb setting

PropertyIfcfg-rh VariableDefaultDescription

app-fcoe-priorityDCB_APP_FCOE_PRIORITY Priority of FCoE frames.

Allowed values: 0 - 7
app-fcoe-modeDCB_APP_FCOE_MODEfabricFCoE controller mode.

Allowed values: fabric, vn2vn
app-iscsi-priorityDCB_APP_ISCSI_PRIORITY Priority of iSCSI frames.

Allowed values: 0 - 7
app-fip-priorityDCB_APP_FIP_PRIORITY Priority of FIP frames.

Allowed values: 0 - 7
priority-flow-control-flagsDCB_PFC_ENABLE, DCB_PFC_ADVERTISE, DCB_PFC_WILLINGnoPriority flow control flags.
priority-flow-controlDCB_PFC_UP Priority flow control values. String of 8 "0" and "1", where "0". means "do not transmit priority pause", "1" means "transmit pause".

Example: DCB_PFC_UP=01101110
priority-group-flagsDCB_PG_ENABLE, DCB_PG_ADVERTISE, DCB_PG_WILLINGnoPriority groups flags.
priority-group-idDCB_PG_ID Priority groups values. String of eight priorities (0 - 7) or "f" (unrestricted).

Example: DCB_PG_ID=1205f173
priority-group-bandwidthDCB_PG_PCT Priority groups values. Eight bandwidths (in percent), separated with commas.

Example: DCB_PG_PCT=10,5,10,15,10,10,10,30
priority-bandwidthDCB_PG_UPPCT Priority values. Eight bandwidths (in percent), separated with commas. The sum of the numbers must be 100.

Example: DCB_PG_UPPCT=7,13,10,10,15,15,10,20
priority-strict-bandwidthDCB_PG_STRICT Priority values. String of eight "0" or "1", where "0" means "may not utilize all bandwidth", "1" means "may utilize all bandwidth".

Example: DCB_PG_STRICT=01101110
priority-traffic-classDCB_PG_UP2TC Priority values. String of eight traffic class values (0 - 7).

Example: DCB_PG_UP2TC=01623701

All DCB related configuration is a NetworkManager extension. DCB=yes must be used explicitly to enable DCB so that the rest of the DCB_* variables can apply.

Table 8. ethtool setting

PropertyIfcfg-rh VariableDefaultDescription

Table 9. hostname setting

PropertyIfcfg-rh VariableDefaultDescription
priorityHOSTNAME_PRIORITY(+)missing variable means global value or 100hostname priority

from-dhcpHOSTNAME_FROM_DHCP(+)missing variable means global default or 1whether the system hostname can be determined from DHCP

from-dhcpHOSTNAME_FROM_DNS_LOOKUP(+)missing variable means global default or 1whether the system hostname can be determined from reverse DNS lookup

only-best-deviceHOSTNAME_ONLY_FROM_DEFAULT(+)missing variable means global default or 1whether the hostname can be determined only from devices with the default route


Table 10. infiniband setting

PropertyIfcfg-rh VariableDefaultDescription
mac-addressHWADDR IBoIP 20-byte hardware address of the device (in traditional hex-digits-and-colons notation). Note that for initscripts this is the current MAC address of the device as found during ifup. For NetworkManager this is the permanent MAC address. Or in case no permanent MAC address exists, the MAC address initially configured on the device.

Example: HWADDR=01:02:03:04:05:06:07:08:09:0A:01:02:03:04:05:06:07:08:09:11
mtuMTU MTU of the interface.
transport-modeCONNECTED_MODECONNECTED_MODE=noCONNECTED_MODE=yes for "connected" mode, CONNECTED_MODE=no for "datagram" mode
p-keyPKEY_ID (and PKEY=yes)PKEY=noInfiniBand P_Key. The value can be a hex number prefixed with "0x" or a decimal number. When PKEY_ID is specified, PHYSDEV and DEVICE also must be specified.

Example: PKEY=yes PKEY_ID=2 PHYSDEV=mlx4_ib0 DEVICE=mlx4_ib0.8002
parentPHYSDEV (PKEY=yes)PKEY=noInfiniBand parent device.

Example: PHYSDEV=ib0

Table 11. ipv4 setting

PropertyIfcfg-rh VariableDefaultDescription
methodBOOTPROTOnoneMethod used for IPv4 protocol configuration.

Allowed values: none, dhcp (bootp), static, ibft, autoip, shared
dnsDNS1, DNS2, ... List of DNS servers. Even if NetworkManager supports many DNS servers, initscripts and resolver only care about the first three, usually.

Example: DNS1= DNS2= DNS3=
dns-searchDOMAIN List of DNS search domains.
addressesIPADDR, PREFIX (NETMASK), IPADDR1, PREFIX1 (NETMASK1), ... List of static IP addresses.

gatewayGATEWAY Gateway IP address.

Example: GATEWAY=
routesADDRESS1, NETMASK1, GATEWAY1, METRIC1, OPTIONS1, ... List of static routes. They are not stored in ifcfg-* file, but in route-* file instead.
ignore-auto-routesPEERROUTES(+)yesPEERROUTES has the opposite meaning as 'ignore-auto-routes' property.
ignore-auto-dnsPEERDNSyesPEERDNS has the opposite meaning as 'ignore-auto-dns' property.
dhcp-send-hostnameDHCP_SEND_HOSTNAME(+)yesWhether DHCP_HOSTNAME should be sent to the DHCP server.
dhcp-hostnameDHCP_HOSTNAME Hostname to send to the DHCP server. When both DHCP_HOSTNAME and DHCP_FQDN are specified only the latter is used.
never-defaultDEFROUTE (GATEWAYDEV in /etc/sysconfig/network)yesDEFROUTE=no tells NetworkManager that this connection should not be assigned the default route. DEFROUTE has the opposite meaning as 'never-default' property.
may-failIPV4_FAILURE_FATAL(+)noIPV4_FAILURE_FATAL has the opposite meaning as 'may-fail' property.
route-metricIPV4_ROUTE_METRIC(+)-1IPV4_ROUTE_METRIC is the default IPv4 metric for routes on this connection. If set to -1, a default metric based on the device type is used.
route-tableIPV4_ROUTE_TABLE(+)0IPV4_ROUTE_TABLE enables policy-routing and sets the default routing table.
dns-optionsRES_OPTIONS(+) List of DNS options to be added to /etc/resolv.conf

Example: RES_OPTIONS=ndots:2 timeout:3
dns-priorityIPV4_DNS_PRIORITY(+)0The priority for DNS servers of this connection. Lower values have higher priority. If zero, the default value will be used (50 for VPNs, 100 for other connections). A negative value prevents DNS from other connections with greater values to be used.

dhcp-client-idDHCP_CLIENT_ID(+) A string sent to the DHCP server to identify the local machine. A binary value can be specified using hex notation ('aa:bb:cc').

Example: DHCP_CLIENT_ID=ax-srv-1; DHCP_CLIENT_ID=01:44:44:44:44:44:44
dad-timeoutACD_TIMEOUT(+), ARPING_WAITmissing variable means global default (config override or zero)Timeout (in milliseconds for ACD_TIMEOUT or in seconds for ARPING_WAIT) for address conflict detection before configuring IPv4 addresses. 0 turns off the ACD completely, -1 means default value.

Example: ACD_TIMEOUT=2000 or ARPING_WAIT=2
dhcp-timeoutIPV4_DHCP_TIMEOUT(+) A timeout after which the DHCP transaction fails in case of no response.

dhcp-fqdnDHCP_FQDN FQDN to send to the DHCP server. When both DHCP_HOSTNAME and DHCP_FQDN are specified only the latter is used.

Example: DHCP_FQDN=foo.bar.com
dhcp-vendor-class-identifierDHCP_VENDOR_CLASS_IDENTIFIER(+) The Vendor Class Identifier DHCP option (60).


Table 12. ipv6 setting

PropertyIfcfg-rh VariableDefaultDescription
methodIPV6INIT, IPV6FORWARDING, IPV6_AUTOCONF, DHCPV6C, IPV6_DISABLEDIPV6INIT=yes; IPV6FORWARDING=no; IPV6_AUTOCONF=!IPV6FORWARDING, DHCPV6=noMethod used for IPv6 protocol configuration. ignore ~ IPV6INIT=no; auto ~ IPV6_AUTOCONF=yes; dhcp ~ IPV6_AUTOCONF=no and DHCPV6C=yes; disabled ~ IPV6_DISABLED=yes
dnsDNS1, DNS2, ... List of DNS servers. NetworkManager uses the variables both for IPv4 and IPv6.
dns-searchIPV6_DOMAIN(+) List of DNS search domains.
addressesIPV6ADDR, IPV6ADDR_SECONDARIES List of static IP addresses.

Example: IPV6ADDR=ab12:9876::1 IPV6ADDR_SECONDARIES="ab12:9876::2 ab12:9876::3"
gatewayIPV6_DEFAULTGW Gateway IP address.

Example: IPV6_DEFAULTGW=abbe::1
routes(none) List of static routes. They are not stored in ifcfg-* file, but in route6-* file instead in the form of command line for 'ip route add'.
ignore-auto-routesIPV6_PEERROUTES(+)yesIPV6_PEERROUTES has the opposite meaning as 'ignore-auto-routes' property.
ignore-auto-dnsIPV6_PEERDNS(+)yesIPV6_PEERDNS has the opposite meaning as 'ignore-auto-dns' property.
dhcp-hostnameDHCPV6_HOSTNAME Hostname to send the DHCP server.
dhcp-timeoutIPV6_DHCP_TIMEOUT(+) A timeout after which the DHCP transaction fails in case of no response.

dhcp-hostname-flagsDHCPV6_HOSTNAME_FLAGS flags for the DHCP hostname property

never-defaultIPV6_DEFROUTE(+), (and IPV6_DEFAULTGW, IPV6_DEFAULTDEV in /etc/sysconfig/network)IPV6_DEFROUTE=yes (when no variable specified)IPV6_DEFROUTE=no tells NetworkManager that this connection should not be assigned the default IPv6 route. IPV6_DEFROUTE has the opposite meaning as 'never-default' property.
may-failIPV6_FAILURE_FATAL(+)noIPV6_FAILURE_FATAL has the opposite meaning as 'may-fail' property.
route-metricIPV6_ROUTE_METRIC(+)-1IPV6_ROUTE_METRIC is the default IPv6 metric for routes on this connection. If set to -1, a default metric based on the device type is used.
route-tableIPV6_ROUTE_TABLE(+)0IPV6_ROUTE_TABLE enables policy-routing and sets the default routing table.
dns-priorityIPV6_DNS_PRIORITY(+)0The priority for DNS servers of this connection. Lower values have higher priority. If zero, the default value will be used (50 for VPNs, 100 for other connections). A negative value prevents DNS from other connections with greater values to be used.

dns-optionsIPV6_RES_OPTIONS(+) List of DNS options to be added to /etc/resolv.conf

Example: IPV6_RES_OPTIONS=ndots:2 timeout:3
ip6-privacyIPV6_PRIVACY, IPV6_PRIVACY_PREFER_PUBLIC_IP(+)noConfigure IPv6 Privacy Extensions for SLAAC (RFC4941).


Allowed values: IPV6_PRIVACY: no, yes (rfc3041 or rfc4941); IPV6_PRIVACY_PREFER_PUBLIC_IP: yes, no
addr-gen-modeIPV6_ADDR_GEN_MODEeui64Configure IPv6 Stable Privacy addressing for SLAAC (RFC7217).

Example: IPV6_ADDR_GEN_MODE=stable-privacy

Allowed values: IPV6_ADDR_GEN_MODE: eui64, stable-privacy
tokenIPV6_TOKEN The IPv6 tokenized interface identifier token

Example: IPV6_TOKEN=::53
dhcp-timeoutIPV6_RA_TIMEOUT(+) A timeout for waiting Router Advertisements in seconds.

Example: IPV6_RA_TIMEOUT=10
dhcp-duidDHCPV6_DUID(+) A string sent to the DHCPv6 server to identify the local machine. Apart from the special values "lease", "stable-llt", "stable-ll", "stable-uuid", "llt" and "ll" a binary value in hex format is expected. An hex string where each octet is separated by a colon is also accepted.

Example: DHCPV6_DUID=LL; DHCPV6_DUID=0301deadbeef0001; DHCPV6_DUID=03:01:de:ad:be:ef:00:01

Table 13. match setting

PropertyIfcfg-rh VariableDefaultDescription
pathMATCH_PATH space-separated list of paths to match against the udev property ID_PATHS of devices

Example: MATCH_PATH="pci-0000:01:00.0 pci-0000:0c:00.0"

Table 14. ovs-bridge setting

PropertyIfcfg-rh VariableDefaultDescription

Table 15. ovs-dpdk setting

PropertyIfcfg-rh VariableDefaultDescription

Table 16. ovs-external-ids setting

PropertyIfcfg-rh VariableDefaultDescription

Table 17. ovs-interface setting

PropertyIfcfg-rh VariableDefaultDescription

Table 18. ovs-patch setting

PropertyIfcfg-rh VariableDefaultDescription

Table 19. ovs-port setting

PropertyIfcfg-rh VariableDefaultDescription

Table 20. proxy setting

PropertyIfcfg-rh VariableDefaultDescription
methodPROXY_METHOD(+)noneMethod for proxy configuration. For "auto", WPAD is used for proxy configuration, or set the PAC file via PAC_URL or PAC_SCRIPT.

Allowed values: none, auto
browser-onlyBROWSER_ONLY(+)noWhether the proxy configuration is for browser only.
pac-urlPAC_URL(+) URL for PAC file.

Example: PAC_URL=http://wpad.mycompany.com/wpad.dat
pac-scriptPAC_SCRIPT(+) Path of the PAC script.

Example: PAC_SCRIPT=/home/joe/proxy.pac

Table 21. sriov setting

PropertyIfcfg-rh VariableDefaultDescription
total-vfsSRIOV_TOTAL_VFS(+) The total number of virtual functions to create

vfsSRIOV_VF1(+), SRIOV_VF2(+), ... SR-IOV virtual function descriptors

Example: SRIOV_VF10="mac=00:11:22:33:44:55", ...
autoprobe-driversSRIOV_AUTOPROBE_DRIVERS(+)missing variable means global defaultWhether to autoprobe virtual functions by a compatible driver


Table 22. tc setting

PropertyIfcfg-rh VariableDefaultDescription
qdiscsQDISC1(+), QDISC2(+), ... Queueing disciplines

Example: QDISC1=ingress, QDISC2="root handle 1234: fq_codel"
qdiscsFILTER1(+), FILTER2(+), ... Traffic filters

Example: FILTER1="parent ffff: matchall action simple sdata Input", ...

Table 23. team-port setting

PropertyIfcfg-rh VariableDefaultDescription
configTEAM_PORT_CONFIG Team port configuration in JSON. See man teamd.conf for details.

Table 24. team setting

PropertyIfcfg-rh VariableDefaultDescription
configTEAM_CONFIG Team configuration in JSON. See man teamd.conf for details.

Table 25. user setting

PropertyIfcfg-rh VariableDefaultDescription
dataNM_USER_* each key/value pair is stored as a separate variable with name composed by concatenating NM_USER_ with the encoded key. The key is encoded by substituting lowercase letters with uppercase and prepending uppercase letters with an underscore. A dot is encoded as a double underscore. Remaining characters are encoded as underscore followed by a 3 digit octal representation of the character.

Example: NM_USER_FOO__BAR=something

Table 26. veth setting

PropertyIfcfg-rh VariableDefaultDescription

Table 27. vlan setting

PropertyIfcfg-rh VariableDefaultDescription
parentDEVICE or PHYSDEV Parent interface of the VLAN.
idVLAN_ID, DEVICE. VLAN identifier. If VLAN_ID is not set, it is attempted to be detected from the suffix of DEVICE=. Note that older versions of NetworkManager had a bug where they would prefer the detected ID from the DEVICE over VLAN_ID.

Allowed values: "yes or "no" for GVRP and MVRP; "LOOSE_BINDING" and "NO_REORDER_HDR" for VLAN_FLAGS
ingress-priority-mapVLAN_INGRESS_PRIORITY_MAP Ingress priority mapping.

egress-priority-mapVLAN_EGRESS_PRIORITY_MAP Egress priority mapping.

Example: VLAN_EGRESS_PRIORITY_MAP=5:4,4:1,3:7
interface-namePHYSDEV and VLAN_ID, or DEVICE VLAN interface name. If all variables are set, parent device from PHYSDEV takes precedence over DEVICE, but VLAN id from DEVICE takes precedence over VLAN_ID.

Example: PHYSDEV=eth0, VLAN_ID=12; or DEVICE=eth0.12

Table 28. vrf setting

PropertyIfcfg-rh VariableDefaultDescription

Table 29. wifi-p2p setting

PropertyIfcfg-rh VariableDefaultDescription

Table 30. 802-3-ethernet setting

PropertyIfcfg-rh VariableDefaultDescription
port(none) The property is not saved by the plugin.
speedETHTOOL_OPTS Fixed speed for the ethernet link. It is added as "speed" parameter in the ETHTOOL_OPTS variable.
duplexETHTOOL_OPTS Fixed duplex mode for the ethernet link. It is added as "duplex" parameter in the ETHOOL_OPTS variable.
auto-negotiateETHTOOL_OPTS Whether link speed and duplex autonegotiation is enabled. It is not saved only if disabled and no values are provided for the "speed" and "duplex" parameters (skips link configuration).
mac-addressHWADDR Hardware address of the device in traditional hex-digits-and-colons notation (e.g. 00:22:68:14:5A:05). Note that for initscripts this is the current MAC address of the device as found during ifup. For NetworkManager this is the permanent MAC address. Or in case no permanent MAC address exists, the MAC address initially configured on the device.
cloned-mac-addressMACADDR Cloned (spoofed) MAC address in traditional hex-digits-and-colons notation (e.g. 00:22:68:14:5A:99).
generate-mac-address-maskGENERATE_MAC_ADDRESS_MASK(+) the MAC address mask for generating randomized and stable cloned-mac-address.
mac-address-blacklistHWADDR_BLACKLIST(+) It denies usage of the connection for any device whose address is listed.

Example: HWADDR_BLACKLIST="00:22:68:11:69:08 00:11:22:11:44:55"
mtuMTU MTU of the interface.
s390-subchannelsSUBCHANNELS Subchannels for IBM S390 hosts.

Example: SUBCHANNELS=0.0.b00a,0.0.b00b,0.0.b00c
s390-nettypeNETTYPE Network type of the S390 host.

Example: NETTYPE=qeth

Allowed values: "qeth", "lcs" or "ctc"
s390-optionsOPTIONS and PORTNAME, CTCPROTO, S390 device options. All options go to OPTIONS, except for "portname" and "ctcprot" that have their own variables.
wake-on-lanETHTOOL_OPTS, ETHTOOL_WAKE_ON_LAN Wake on Lan mode for ethernet. The setting "ignore" is expressed with "ETHTOOL_WAKE_ON_LAN=ignore". Otherwise, the "ETHTOOL_OPTS" variable is set with the value "wol" and several of the characters "p|u|m|b|a|g|s|f|d" as explained in the ethtool manual page.
wake-on-lan-passwordETHTOOL_OPTS Password for secure-on based Wake-on-Lan. It is added as "sopass" parameter in the ETHTOOL_OPTS variable.

Example: ETHTOOL_OPTS="wol gs sopass 00:11:22:33:44:55"
accept-all-mac-addressesACCEPT_ALL_MAC_ADDRESSES Enforce the interface to accept all the packets.

Table 31. wireguard setting

PropertyIfcfg-rh VariableDefaultDescription

Table 32. 802-11-wireless-security setting

PropertyIfcfg-rh VariableDefaultDescription
key-mgmtKEY_MGMT(+) Key management menthod.

Allowed values: IEEE8021X, WPA-PSK, WPA-EAP, WPA-EAP-SUITE-B-192
wep-tx-keyidxDEFAULTKEY1Index of active WEP key.

Allowed values: 1, 2, 3, 4
auth-algSECURITYMODE(+) Authentication algorithm for WEP.

Allowed values: restricted, open, leap
protoWPA_ALLOW_WPA(+), WPA_ALLOW_WPA2(+)noAllowed WPA protocols, WPA and WPA2 (RSN).

Allowed values: yes, no
pairwiseCIPHER_PAIRWISE(+) Restrict pairwise encryption algorithms, specified as a space separated list.

Allowed values: CCMP, TKIP
groupCIPHER_GROUP(+) Restrict group/broadcast encryption algorithms, specified as a space separated list.

Allowed values: CCMP, TKIP, WEP40, WEP104
pmfPMF(+) Enables or disables PMF (802.11w)

Example: PMF=required

Allowed values: default, disable, optional, required
leap-usernameIEEE_8021X_IDENTITY(+) Login name for LEAP.
wep-key0KEY1, KEY_PASSPHRASE1(+) The first WEP key (used in most networks). See also DEFAULTKEY for key index.
wep-key1KEY2, KEY_PASSPHRASE2(+) WEP key with index 1. See also DEFAULTKEY for key index.
wep-key2KEY3, KEY_PASSPHRASE3(+) WEP key with index 2. See also DEFAULTKEY for key index.
wep-key3KEY4, KEY_PASSPHRASE4(+) WEP key with index 3. See also DEFAULTKEY for key index.
wep-key-flagsWEP_KEY_FLAGS(+) Password flags for KEY<i>, KEY_PASSPHRASE<i> password. (see the section called “Secret flags” for _FLAGS values)
pskWPA_PSK Pre-Shared-Key for WPA networks.
psk-flagsWPA_PSK_FLAGS(+) Password flags for WPA_PSK_FLAGS. (see the section called “Secret flags” for _FLAGS values)

Example: WPA_PSK_FLAGS=user
leap-passwordIEEE_8021X_PASSWORD(+) Password for LEAP. It can also go to "key-" lookaside file, or it can be owned by a secret agent.
leap-password-flagsIEEE_8021X_PASSWORD_FLAGS(+) Password flags for IEEE_8021X_PASSWORD_FLAGS. (see the section called “Secret flags” for _FLAGS values)
wep-key-typeKEY<i> or KEY_PASSPHRASE<i>(+); KEY_TYPE(+) KEY is used for "key" type (10 or 26 hexadecimal characters, or 5 or 13 character string prefixed with "s:"). KEY_PASSPHRASE is used for WEP passphrases. KEY_TYPE specifies the key type and can be either 'key' or 'passphrase'. KEY_TYPE is redundant and can be omitted.

Example: KEY1=s:ahoj, KEY1=0a1c45bc02, KEY_PASSPHRASE1=mysupersecretkey
wps-methodWPS_METHOD Used to control the WPS methods to be used Valid values are "default", "auto", "disabled", "pin" and "pbc". If omitted, whatver the AP announces is used.

Example: WPS_METHOD=disabled, WPS_METHOD="pin pbc"
filsFILS(+) Enables or disables FILS (802.11ai)

Example: FILS=required

Allowed values: default, disable, optional, required

Table 33. 802-11-wireless setting

PropertyIfcfg-rh VariableDefaultDescription
ssidESSID SSID of Wi-Fi network.

Example: ESSID="Quick Net"
modeMODE Wi-Fi network mode.

Allowed values: Ad-Hoc, Managed (Auto)  [case insensitive]
bandBAND(+) BAND alone is honored, but CHANNEL overrides BAND since it implies a band.

Example: BAND=bg

Allowed values: a, bg
channelCHANNEL Channel used for the Wi-Fi communication. Channels greater than 14 mean "a" band, otherwise the band is "bg".

Example: CHANNEL=6
bssidBSSID(+) Restricts association only to a single AP.

Example: BSSID=00:1E:BD:64:83:21
rate(none) This property is not handled by ifcfg-rh plugin.
tx-power(none) This property is not handled by ifcfg-rh plugin.
mac-addressHWADDR Hardware address of the device in traditional hex-digits-and-colons notation (e.g. 00:22:68:14:5A:05). Note that for initscripts this is the current MAC address of the device as found during ifup. For NetworkManager this is the permanent MAC address. Or in case no permanent MAC address exists, the MAC address initially configured on the device.
cloned-mac-addressMACADDR Cloned (spoofed) MAC address in traditional hex-digits-and-colons notation (e.g. 00:22:68:14:5A:99).
generate-mac-address-maskGENERATE_MAC_ADDRESS_MASK(+) the MAC address mask for generating randomized and stable cloned-mac-address.
mac-address-blacklistHWADDR_BLACKLIST(+) It denies usage of the connection for any device whose address is listed.
seen-bssids(none) This property is not handled by ifcfg-rh plugin.
mtuMTU MTU of the wireless interface.
hiddenSSID_HIDDEN(+) Whether the network hides the SSID.
powersavePOWERSAVE(+) Enables or disables Wi-Fi power saving.

Example: POWERSAVE=enable

Allowed values: default, ignore, enable, disable
mac-address-randomizationMAC_ADDRESS_RANDOMIZATION(+) Enables or disables Wi-Fi MAC address randomization.


Allowed values: default, never, always
security(none) This property is deprecated and not handled by ifcfg-rh-plugin.
ap-isolationAP_ISOLATION(+)missing variable means global defaultWhether AP isolation is enabled

Allowed values: "yes", "no"

Table 34. wpan setting

PropertyIfcfg-rh VariableDefaultDescription

The following settings are not supported by ifcfg-rh plugin:

802-11-olpc-mesh, adsl, bluetooth, cdma, dummy, generic, gsm, ip-tunnel, macsec, macvlan, ppp, pppoe, serial, tun, vpn, vxlan, wimax

Secret flags

Each secret property in a NetworkManager setting has an associated flags property that describes how to handle that secret. In the fcfg-rh plugin variables for secret flags have a _FLAGS suffix. The variables contain one or more of the following values (space separated). Missing (or empty) *_FLAGS variable means that the password is owned by NetworkManager.

  • user - a user-session secret agent is responsible for providing and storing this secret; when it is required, agents will be asked to provide it.
  • ask - the associated password is not saved but it will be requested from the user each time it is required.
  • unused - in some situations it cannot be automatically determined that a secret is required or not. This flag hints that the secret is not required and should not be requested from the user.







See Also

nm-settings(5), nm-settings-keyfile(5), NetworkManager(8), NetworkManager.conf(5), nmcli(1), nmcli-examples(7)

Referenced By

NetworkManager.conf(5), nm-settings-keyfile(5).

NetworkManager 1.31.4 Configuration