永久删除 ubuntu 19.04 界面上的辅助 IP

永久删除 ubuntu 19.04 界面上的辅助 IP

我遇到了一个奇怪的问题:我配置了 2 个 IP 地址,但我无法删除它,而且我也不知道它配置在哪里。

> ip a s enp6s0
2: enp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 18:31:bf:6a:cd:89 brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.3/24 brd 192.168.178.255 scope global enp6s0
       valid_lft forever preferred_lft forever
    inet 192.168.178.114/24 brd 192.168.178.255 scope global secondary noprefixroute enp6s0
       valid_lft forever preferred_lft forever

我已经配置了静态 IP/etc/网络/接口,但根本没有辅助 IP:

## The primary network interface
auto enp6s0
iface enp6s0 inet static
  address 192.168.178.3/24
  gateway 192.168.178.1
  dns-nameserver 192.168.178.1

/var/log/syslog 显示,DHCP 地址以某种方式分配给接口:

Jul 14 12:33:03 hogwarts dhcpcd[1897]: enp6s0: leased 192.168.178.114 for 864000 seconds
Jul 14 12:33:03 hogwarts dhcpcd[1897]: enp6s0: adding route to 192.168.178.0/24
Jul 14 12:33:03 hogwarts dhcpcd[1897]: enp6s0: adding default route via 192.168.178.1 

手动删除失败

ip a d 192.168.136.114/32 dev enp6s0
RTNETLINK answers: Cannot assign requested address

我找不到任何负责添加此 IP 的 systemd/initd 脚本。

我已经检查过的内容:

  • 我已经将 systemd 配置为“调试”以使其更加详细,但没有成功。
  • 没有 netplan 配置退出
  • 在 systemctl 中禁用 NetworkManager

任何想法都值得赞赏!

系统:Ubuntu 19.04 Server,从 18.04 LTS 升级到 18.10 -> 19.04

答案1

-> Antons 的观点 2.) 引导我找到了解决方案:

不知何故,dhcpcd 正在运行(希望 docker 和 virtualbox 都不需要它)并且每次我用 Antons 点 1) 删除 IP 时,它显然会再次创建。

所以我的解决方案是

systemctl disable dhcpcd.service
systemctl stop dhcpcd.service
ip a d 192.168.178.114/24 dev enp6s0

谢谢!

答案2

与以前的版本不同,从 Ubuntu 18.04 开始使用网络计划效用。在这种新方法中,我们不再使用/etc/network/interfaces配置 IP 地址。Netplan 的默认配置文件位于/etc/netplan文件夹。

因此,为了找出默认网络配置文件:

ls /etc/netplan/

默认情况下,应该是50-云-初始化.yaml文件。读取该配置 yaml 文件

cat /etc/netplan/50-cloud-init.yaml

就我而言,默认配置文件如下所示:

# network: {config: disabled}
network:
    ethernets:
        enp2s0:
            dhcp4: true
    version: 2

我的网卡名称是 enp2s0,你的可能不同(如 eth0 或 wlan0 或类似的)。如果你有 2 个 IP 地址,请检查文件夹中的第二个文件网络计划。删除它就行。

最终应用您的更改

sudo netplan try

祝你好运!

答案3

  1. 您无法删除该地址,因为您指定的前缀长度不正确。您应该运行ip address del 192.168.136.114/24 dev enp6s0(不是192.168.136.114/32)。但它不会产生永久效果。

  2. 如果你的地址是通过 dhcp 分配的,那么你应该正在运行 dhcp 客户端。尝试使用命令找到它ps aux | grep dhc

  3. 要监视网络配置的变化,运行ip monitor address命令。

  4. 检查/etc/network/interfaces.d目录。它可能包含其他配置文件。

  5. 在同一接口上同时配置静态和 dhcp 地址的旧方法是在interfaces文件中指定附加别名。尝试找到类似这样的内容:

auto enp6s0:1
iface enp6s0:1 inet dhcp
  1. 您有正在运行的systemd-networkd服务吗?使用命令检查systemctl status systemd-networkd.service

相关内容