14

I tried to assign a static IP to my Ubuntu 16.04 server using nmcli, which worked but it still has the original IP reserved as a "secondary" IP. I'm not sure how to get rid of it. 10.163.148.36 is the original IP of the server and 10.163.148.194 is the new IP I want it to switch to. I used the following nmcli command to set the IP address:

nmcli connection modify 'Wired connection 1' ipv4.addresses '10.163.148.194/24' ipv4.gateway '10.163.148.2' ipv4.method 'manual' ipv4.ignore-auto-dns 'yes' connection.autoconnect 'yes' ipv4.dns '10.10.10.10 10.20.10.10'

Note the two IP addresses for the ens160 interface.

aruba@ubuntu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:8a:10:64 brd ff:ff:ff:ff:ff:ff
    inet 10.163.148.194/24 brd 10.163.148.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet 10.163.148.36/24 brd 10.163.148.255 scope global secondary ens160
       valid_lft forever preferred_lft forever
    inet6 2006::b0a3:b9ab:2f96:a461/64 scope global temporary dynamic
       valid_lft 604254sec preferred_lft 85254sec
    inet6 2006::dc94:ead6:e8ef:8095/64 scope global mngtmpaddr noprefixroute dynamic
       valid_lft 2591987sec preferred_lft 604787sec
    inet6 fe80::941e:5fa3:3571:df76/64 scope link
       valid_lft forever preferred_lft forever

My nmcli connection details:

aruba@ubuntu:~$ nmcli connection show "Wired connection 1"
connection.id:                          Wired connection 1
connection.uuid:                        d724141e-4c7f-3fc9-97b1-c37e014aebe4
connection.interface-name:              --
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
connection.autoconnect-priority:        -999
connection.timestamp:                   1481582261
connection.read-only:                   no
connection.permissions:
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
connection.lldp:                        -1 (default)
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          yes
802-3-ethernet.mac-address:             00:50:56:8A:10:64
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.mac-address-blacklist:
802-3-ethernet.mtu:                     auto
802-3-ethernet.s390-subchannels:
802-3-ethernet.s390-nettype:            --
802-3-ethernet.s390-options:
802-3-ethernet.wake-on-lan:             1 (default)
802-3-ethernet.wake-on-lan-password:    --
ipv4.method:                            manual
ipv4.dns:                               10.1.10.10,10.2.10.10
ipv4.dns-search:
ipv4.dns-options:                       (default)
ipv4.addresses:                         10.163.148.194/24
ipv4.gateway:                           10.163.148.1
ipv4.routes:
ipv4.route-metric:                      -1
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-timeout:                      0
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.dad-timeout:                       -1 (default)
ipv6.method:                            auto
ipv6.dns:
ipv6.dns-search:
ipv6.dns-options:                       (default)
ipv6.addresses:
ipv6.gateway:                           --
ipv6.routes:
ipv6.route-metric:                      -1
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.ip6-privacy:                       -1 (unknown)
ipv6.addr-gen-mode:                     stable-privacy
ipv6.dhcp-send-hostname:                yes
ipv6.dhcp-hostname:                     --
GENERAL.NAME:                           Wired connection 1
GENERAL.UUID:                           d724141e-4c7f-3fc9-97b1-c37e014aebe4
GENERAL.DEVICES:                        ens160
GENERAL.STATE:                          activated
GENERAL.DEFAULT:                        yes
GENERAL.DEFAULT6:                       yes
GENERAL.VPN:                            no
GENERAL.ZONE:                           --
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/0
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/0
GENERAL.SPEC-OBJECT:                    /
GENERAL.MASTER-PATH:                    --
IP4.ADDRESS[1]:                         10.163.148.194/24
IP4.ADDRESS[2]:                         10.163.148.36/24
IP4.GATEWAY:                            10.163.148.2
IP4.DNS[1]:                             10.10.10.10
IP4.DNS[2]:                             10.20.10.10
IP6.ADDRESS[1]:                         2006::b0a3:b9ab:2f96:a461/64
IP6.ADDRESS[2]:                         2006::dc94:ead6:e8ef:8095/64
IP6.ADDRESS[3]:                         fe80::941e:5fa3:3571:df76/64
IP6.GATEWAY:                            fe80::213:1aff:fec7:f857

Lastly, my NetworkManager config:

aruba@ubuntu:~$ cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=keyfile,ofono
dns=dnsmasq

[ifupdown]
managed=true
ravishi
  • 285
  • 1
  • 2
  • 7

5 Answers5

13

in »Red Hat« the syntax would be like this:

nmcli con mod "Wired connection 1" -ipv4.addresses "10.163.148.194"

You just add a Minus before your Property

It might work like this in Ubuntu as well…?

Matthias Menzel
  • 441
  • 6
  • 8
  • 1
    Worked for me but I also had to deactivate and activate the connection as @Tom said after executing the modify command. – danidemi Jul 10 '21 at 13:55
7

I have had the same situation and I haven't found any other solution except removing the old ip using 'ip addr del' command, e.g.:

ip addr del 10.163.148.36/24 dev ens160
2

This is what worked for me in Fedora 29 (probably works fine in RHEL/CentOS):

nmcli con mod ens192 ipv4.addresses "" ipv4.gateway ""

Then just bounce the interface to pickup the changes:

nmcli con down ens192; nmcli con up ens192
Tom
  • 21
  • 1
1

I solved this issue by:

  1. Removing the old ip addresses form /etc/sysconfig/network-scripts/ifcfg-YourConnnectionName
  2. Reboot the computer (simply restarting NetworkManager does not seem to work)
1

I got this removed in my Fedora installation using

nmcli con mod end192 ipv4.method manual

This will stop the DHCP connection and will only allocate a static IPv4 address configured.

Syed
  • 11
  • 1