Product SiteDocumentation Site

2.4.2. Connecting to a Network Using nmcli

To list the currently available network connections, issue a command as follows:
~]$ nmcli con show
NAME               UUID                     TYPE            TIMESTAMP-REAL
eth0               4d5c449a-a6c5-451c-8206  802-3-ethernet  Tue 22 Oct 2013 19:50:00 BST
MyWiFi             91451385-4eb8-4080-8b82  802-11-wireless Tue 22 Oct 2013 08:50:08 BST
Bond connection 1  720aab83-28dd-4598-9325  bond            never
Note that the NAME field in the output always denotes the connection ID (name). It is not the interface name even though it might look the same. In the example above eth0 is the connection ID given by the user to the profile applied to the interface eth0. In the second line the user has assigned the connection ID MyWiFi to the interface wlan0.
Device status can also be viewed:
~]$ nmcli dev status
DEVICE      TYPE            STATE
wlan0      802-11-wireless  connected
bond0       bond            connecting (getting IP configuration)
eth0        ethernet        disconnected
lo          loopback        unmanaged

Adding an Ethernet Connection

To add an Ethernet connection with static IP configuration, issue a command as follows:
~]$ nmcli con add con-name my-eth1 ifname eth1 type ethernet ip4 192.168.100.100/24 \
      gw4 192.168.100.1
Optionally, at the same time specify IPv6 addresses for the device as follows:
~]$ nmcli con add con-name my-eth1 ifname eth1 type ethernet ip4 192.168.100.100/24 \
 gw4 192.168.100.1 ip6 abbe::cafe gw6 2001:db8::1
To add two IPv4 DNS server addresses:
~]$ nmcli con mod my-eth1 ipv4.dns "8.8.8.8 8.8.4.4"
To add two IPv6 DNS server addresses:
~]$ nmcli con mod my-eth1 ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
To bring up the new connection, issue a command as follows:
~]$ nmcli -p con up "my-eth1" ifname eth1
To view detailed information about the newly configured connection, issue a command as follows:
~]$ nmcli -p con show configured my-eth1
To lock a profile to a specific interface, issue a command as follows:
~]$ nmcli connection add type ethernet con-name "my-eth1" ifname eth1
To make a profile usable for all compatible Ethernet interfaces, issue a command as follows:
~]$ nmcli connection add type ethernet con-name "my-eth1" ifname "*"
Note that you have to use the ifname argument even if you do not want to set a specific interface. Use the wildcard character * to specify that the profile can be used with any compatible device.
To lock a profile to a specific MAC address, issue a command as follows:
~]$ nmcli connection add type ethernet con-name "my-eth1" ifname "*" mac 00:00:5E:00:53:00

Adding a Wi-Fi Connection

To view the available Wi-Fi access points, issue a command as follows:
~]$ nmcli dev wifi list
  SSID            MODE  CHAN  RATE     SIGNAL  BARS  SECURITY
  FedoraTest     Infra  11    54 MB/s  98      ▂▄▆█  WPA1
  Red Hat Guest  Infra  6     54 MB/s  97      ▂▄▆█  WPA2
  Red Hat        Infra  6     54 MB/s  77      ▂▄▆_  WPA2 802.1X
* Red Hat        Infra  40    54 MB/s  66      ▂▄▆_  WPA2 802.1X
  VoIP           Infra  1     54 MB/s  32      ▂▄__  WEP
  MyCafe         Infra  11    54 MB/s  39      ▂▄__  WPA2
To create a Wi-Fi connection profile with static IP configuration, but allowing automatic DNS address assignment, issue a command as follows:
~]$ nmcli con add con-name MyCafe ifname wlan0 type wifi ssid MyCafe \
ip4 192.168.100.101/24 gw4 192.168.100.1
To set a WPA2 password, for example caffeine, issue commands as follows:
~]$ nmcli con modify MyCafe wifi-sec.key-mgmt wpa-psk
~]$ nmcli con modify MyCafe wifi-sec.psk caffeine
To change Wi-Fi state, issue a command in the following format:
~]$ nmcli radio wifi [on | off ]

Changing a Specific Property

To check a specific property, for example mtu, issue a command as follows:
~]$ nmcli connection show id 'MyCafe' | grep mtu
802-11-wireless.mtu:                     auto
To change the property of a setting, issue a command as follows:
~]$ nmcli connection modify id 'MyCafe' 802-11-wireless.mtu 1350
To verify the change, issue a command as follows:
~]$ nmcli connection show id 'MyCafe' | grep mtu
802-11-wireless.mtu:                     1350
Note that NetworkManager refers to parameters such as 802-3-ethernet and 802-11-wireless as the setting, and mtu as a property of the setting. See the nm-settings(5) man page for more information on properties and their settings.