Ubuntu

使用 NetworkManager / nmcli 刪除輔助 IP

  • April 4, 2021

我嘗試使用 nmcli 為我的 Ubuntu 16.04 伺服器分配一個靜態 IP,該伺服器有效,但它仍然將原始 IP 保留為“輔助”IP。我不知道如何擺脫它。10.163.148.36 是伺服器的原始 IP,10.163.148.194 是我希望它切換到的新 IP。我使用以下 nmcli 命令設置 IP 地址:

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'

注意 ens160 介面的兩個 IP 地址。

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

我的 nmcli 連接詳細資訊:

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

最後,我的 NetworkManager 配置:

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

[ifupdown]
managed=true

在 »Red Hat« 中,語法是這樣的:

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

您只需在您的屬性前添加一個減號

它也可能在 Ubuntu 中像這樣工作……?

我也遇到過同樣的情況,除了使用 ‘ip addr del’ 命令刪除舊 ip 外,我沒有找到任何其他解決方案,例如:

ip addr del 10.163.148.36/24 dev ens160

引用自:https://unix.stackexchange.com/questions/329945