Ubuntu 18.04 最小服务器有两个 IP 地址!

Ubuntu 18.04 最小服务器有两个 IP 地址!

我在 Odroid XU4 上看到两个不同的 IP 地址。我在盒子上设置了 Unifi 控制器后才注意到这一点,但随后尝试通过 ssh 成功进入这两个地址。我只想要 192.168.2.3,不需要 IPv6。

mike@odroid:~$ ip addr show
1: lo:  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: eth0:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1e:06:30:1e:f5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.3/24 brd 192.168.2.255 scope global dynamic noprefixroute eth0
       valid_lft 3069558340sec preferred_lft 3069558340sec
    inet 192.168.2.9/24 brd 192.168.2.255 scope global secondary eth0
       valid_lft forever preferred_lft forever

mike@odroid:~$ ifconfig
eth0: flags=4163  mtu 1500
        inet 192.168.2.3  netmask 255.255.255.0  broadcast 192.168.2.255
        ether 00:1e:06:30:1e:f5  txqueuelen 1000  (Ethernet)
        RX packets 12821  bytes 2393432 (2.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 13336  bytes 9323830 (9.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 10593  bytes 4855090 (4.8 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10593  bytes 4855090 (4.8 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我们在这里可以看到,eth0 有两个 IP 地址,并且只通过命令显示ip,而不是通过ifconfig。我无法理解这是从哪里来的,或者如何永久禁用第二个 IP。我想永久摆脱第二个 IP 地址。

mike@odroid:~$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

mike@odroid:~$ cat /etc/netplan/*.yaml
cat: '/etc/netplan/*.yaml': No such file or directory

答案1

我也曾为这个完全相同的问题而苦苦挣扎,每次搜索都会发现还有其他几个人遇到同样的问题,但没有得到解决。

最后,以下是为我解决问题的方法:

ip addr flush dev <your_adapter_id>

对我来说

ip addr flush dev enp0s4

这将终止辅助 IP。

答案2

我正在运行 20.04 LTS 并且遇到了这个问题。当我用笔记本电脑打开网络并且虚拟机(ubuntu)获得新的 ip 时发生了这种情况。

运行以下命令删除第二个 IP 分配并应用正确的设置:

sudo netplan apply

请记住,我已经在 /etc/netplan/01-netcfg.yaml 中为网卡设置了静态 IP。

答案3

升级后,我在 Ubuntu 22.04.2 上遇到了同样的问题。/etc/netplan/50-cloud-init.yaml 文件过去包含静态配置,但现在 dhcp4 设置为 TRUE:

dhcp4: true

将其更改为

dhcp4: false

并且应用后,多余的 DHCP 地址就消失了。

答案4

在我的例子中,尽管在 netplan 中设置了静态 ip,并且禁用了 NetworkManager,但/etc/init.d各种链接触发的dhcpcd 脚本仍导致运行 dhcpcd 进程。您可以通过查找 DHCP 客户端进程来检查是否属于这种情况。然后,您可以禁用此服务,例如通过从中删除访问权限或按此处所述将“denyinterfaces name”添加到您的:/etc/rcX.d/*/etc/network/interfacesps -Ax/etc/init.d/dhcpcddhcpcd.confhttps://serverfault.com/a/1094181/1024693

相关内容