Nmcli: Difference between revisions

From DikapediaV2
Jump to: navigation, search
No edit summary
No edit summary
Line 74: Line 74:
If the interface configuration file for the secondary NIC is not there, then you can add it using the following nmcli command (You would usually have to do this when adding a secondary NIC):  
If the interface configuration file for the secondary NIC is not there, then you can add it using the following nmcli command (You would usually have to do this when adding a secondary NIC):  
  $ nmcli con add con-name <connection name> type ethernet ifname <interface> ipv4.method auto
  $ nmcli con add con-name <connection name> type ethernet ifname <interface> ipv4.method auto
Example:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
        valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:6b:8d:ff:d5:66 brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    inet 10.240.4.64/23 brd 10.240.5.255 scope global dynamic noprefixroute ens3
        valid_lft 604083sec preferred_lft 604083sec
    inet6 fe80::526b:8dff:feff:d566/64 scope link noprefixroute
        valid_lft forever preferred_lft forever
3: ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:6b:8d:e9:2c:b4 brd ff:ff:ff:ff:ff:ff
    altname enp0s7
$ nmcli con add con-name secondarynic type ethernet ifname ens7 ipv4.method auto
$ sudo ls -al /etc/NetworkManager/system-connections/
total 8
drwxr-xr-x. 2 root root  64 Jul 15 14:41 .
drwxr-xr-x. 7 root root 134 May  7 04:12 ..
-rw-------. 1 root root 178 Jun 24 12:33 ens3.nmconnection
-rw-------. 1 root root 188 Jul 15 14:41 secondarynic.nmconnection
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
        valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:6b:8d:ff:d5:66 brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    inet 10.240.4.64/23 brd 10.240.5.255 scope global dynamic noprefixroute ens3
        valid_lft 604083sec preferred_lft 604083sec
    inet6 fe80::526b:8dff:feff:d566/64 scope link noprefixroute
        valid_lft forever preferred_lft forever
3: ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:6b:8d:e9:2c:b4 brd ff:ff:ff:ff:ff:ff
    altname enp0s7
    inet 10.240.4.13/23 brd 10.240.5.255 scope global dynamic noprefixroute ens7
        valid_lft 3130sec preferred_lft 3130sec
    inet6 fe80::a399:ff76:4216:9916/64 scope link noprefixroute
        valid_lft forever preferred_lft forever

Revision as of 18:50, 15 July 2025

Network Manager Command Line - is used for controlling NetworkManager and reporting network status.


Check connection status of interfaces


nmcli dev status

# nmcli dev status

DEVICE      TYPE      STATE         CONNECTION 
docker0     bridge    connected     docker0    
virbr0      bridge    connected     virbr0     
enp0s3      ethernet  connected     enp0s3     
virbr0-nic  ethernet  disconnected  --         
lo          loopback  unmanaged     --   

Turn Connection Up or Down


nmcli connection down <interface> or nmcli connection up <interface>

# nmcli connection down ens192
Connection 'ens192' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
# nmcli connection up ens192
Connection 'ens192' successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)


Turn Networking Up or Down


nmcli networking off
nmcli networking on


Turn Autoconnect On/Off


Turn on:

# nmcli connection modify ens192 connection.autoconnect "yes"

Turn of:

# nmcli connection modify ens192 connection.autoconnect "no"

For changes to take effect, turn the interface down and up (in some cases, this works better than restarting NetworkManager):

# nmcli con down ens192
# nmcli con up ens192


Error: unknown connection


If you tried adding a secondary NIC and you see it there in ip a command output, but you are getting the error: "Error: unknown connection <interface>", that can be because NetworkManager is unable to recognize or find the specified connection. This can happen due to various reasons such as incorrect configuration files, missing connections, or permission issues.

# nmcli connection up enp0s8
Error: unknown connection 'enp0s8'.

Ensure that the connection file is correctly configured and placed in the appropriate directory. The file should be located in /etc/NetworkManager/system-connections/ and have the correct permissions. Example:

$ sudo cat /etc/NetworkManager/system-connections/ens3.nmconnection
[sudo] password for cisadmin:
[connection]
id=ens3
uuid=761c9d6a-3e4d-47a3-8c0d-f5ce612ee301
type=ethernet
interface-name=ens3 

[ethernet]

[ipv4]
method=auto

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]


If the interface configuration file for the secondary NIC is not there, then you can add it using the following nmcli command (You would usually have to do this when adding a secondary NIC):

$ nmcli con add con-name <connection name> type ethernet ifname <interface> ipv4.method auto

Example:

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:6b:8d:ff:d5:66 brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    inet 10.240.4.64/23 brd 10.240.5.255 scope global dynamic noprefixroute ens3
       valid_lft 604083sec preferred_lft 604083sec
    inet6 fe80::526b:8dff:feff:d566/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:6b:8d:e9:2c:b4 brd ff:ff:ff:ff:ff:ff
    altname enp0s7
$ nmcli con add con-name secondarynic type ethernet ifname ens7 ipv4.method auto
$ sudo ls -al /etc/NetworkManager/system-connections/
total 8
drwxr-xr-x. 2 root root  64 Jul 15 14:41 .
drwxr-xr-x. 7 root root 134 May  7 04:12 ..
-rw-------. 1 root root 178 Jun 24 12:33 ens3.nmconnection
-rw-------. 1 root root 188 Jul 15 14:41 secondarynic.nmconnection
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:6b:8d:ff:d5:66 brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    inet 10.240.4.64/23 brd 10.240.5.255 scope global dynamic noprefixroute ens3
       valid_lft 604083sec preferred_lft 604083sec
    inet6 fe80::526b:8dff:feff:d566/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:6b:8d:e9:2c:b4 brd ff:ff:ff:ff:ff:ff
    altname enp0s7
    inet 10.240.4.13/23 brd 10.240.5.255 scope global dynamic noprefixroute ens7
       valid_lft 3130sec preferred_lft 3130sec
    inet6 fe80::a399:ff76:4216:9916/64 scope link noprefixroute
       valid_lft forever preferred_lft forever