![为什么同一台计算机有 2 个 IP 地址?](https://linux22.com/image/1082997/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%90%8C%E4%B8%80%E5%8F%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%9C%89%202%20%E4%B8%AA%20IP%20%E5%9C%B0%E5%9D%80%EF%BC%9F.png)
我有个问题。我的一台电脑上安装了 32 位 Ubuntu Server 12.04 LTS。我为这台电脑设置了一个静态 IP 地址,但现在当我查看哪些设备在使用我的互联网时,我注意到我的 Linux 服务器有 2 个不同的 IP 地址,并且都具有相同的 MAC 地址。我仍然可以毫无问题地通过 ssh 进入它,但看到同一台服务器有两个不同的 IP 地址让我有点恼火。有什么方法可以摆脱我设置的静态 IP 地址以外的其他 IP 地址吗?我不知道这是否重要,但我有一台 Netgear WNDR 3700 v3。任何帮助都将不胜感激。谢谢 :)
配置
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.1.91
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
# The primary network interface
auto eth0
iface eth0 inet dhcp
我的 /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.1
答案1
根据interfaces
您注释中的文件判断,您可能没有注释掉auto eth0
和iface eth0 inet dhcp
行。如果是这种情况(无法从格式中确定),您的机器首先为该接口设置静态 IP,然后从路由器获取第二个地址并将其分配给同一接口。这是一个合法且可行的设置,不会造成大量问题。但是,修复它只需注释掉最后两行即可。
答案2
问题:在家庭 WIFI 上通过 /etc/netplan/99_config.yaml 配置静态 ip 地址时,遇到了同样的问题,即 eth0 中有一个辅助 ip 地址。
观察:ip address cmd 显示 eth0 的主 ip 地址和辅助 ip 地址,ifconfig cmd 仅显示 eth0 上的 1 个 ip 地址
修复:在 /etc/netplan/99_config.yaml 中禁用 dhcp -> dhcp4: false
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
addresses:
- 192.168.170.4/20
routes:
- to: default
via: 192.168.160.1
nameservers:
search: [mshome.net]
addresses: [127.0.0.53, 8.8.8.8]
答案3
据我所知,auto eth0
这只是告诉系统在系统启动时自动启动接口。iface eth0 inet dhcp
但这肯定会导致它获得一个 DHCP 地址以与上面定义的静态 IP 一起使用。