将我们的 Ubuntu 农场加入到 Windows 域中,并将 DC 的 IP 添加到 /etc/network/interfaces 后,我尝试像在其他 Ubuntu 服务器上一样反弹接口,但出现错误。
ifdown: interface eth0 not configured
RTNETLINK answers: File exists
Failed to bring up eth0
/etc/network# cat run/ifstate 显示:
lo=lo
eth2=eth2
eth1=eth1
我查看了 /run/network/ifstate,并在文件末尾添加了 eth0=eth0。仍然无法运行该命令ifdown eth0 && ifup eth0
由于这台服务器的特性,我需要将重启次数降至最低。有人知道是什么原因导致了这个问题以及我该如何解决它吗?我们还有另一台服务器也存在同样的问题。
更新:这是我的 /etc/network/interfaces 的 eth0 部分
auto lo
iface lo inet loopback
# Label public
auto eth0
iface eth0 inet static
address XXX.XXX.X95.56
netmask 255.255.255.0
gateway XXX.XXX.X95.1
iface eth0 inet6 static
address 2001:XXXX:XXXX:XXX:XXXX:XXXX:XXXX:XXXX
netmask 64
gateway fe80::def
dns-nameservers 192.168.XXX.XXX 173.203.4.9 173.203.4.8
如果我运行,ifconfig eth0 down
接口会关闭但ifconfig eth0 up
不会恢复。具有讽刺意味的是,此时我的 AD 域的 nslookup 可以工作。我假设它现在使用我添加到 LAN 端口的 DNS 条目来执行此操作。重新启动服务器可恢复 eth0。
更新 2:正在运行sudo ifup -v eth0
Configuring interface eth0=eth0 (inet)
run-parts --verbose /etc/network/if-pre-up.d
ip addr add XXX.XXX.XX5.56/255.255.255.0 broadcast XXX.XXX.X95.255 dev eth0 label eth0
RTNETLINK answers: File exists
Failed to bring up eth0.
答案1
在我的例子中,我创建了一台 Ubuntu 机器的镜像,并将该镜像放在其他几台机器上。我开始让它们想出不名为 eth0 和 wlan0 而是名为 eth1 和 wlan1 的接口。
事情是这样的:有一个文件将每个适配器的 MAC 地址与每个适配器的名称绑定在一起(eth{n} wlan{n} 等)。如果您启动时操作系统发现 eth0 与其他 MAC 地址绑定在一起(在我的情况下,来自主机),它将创建一个名为 eth1 的新接口,并且 /etc/network/interfaces 内部开始出现问题。
解决方案:删除该文件/etc/udev/rules.d/70-persistent-net.rules
并重新启动(抱歉,楼主)。该文件将在启动时使用适合此机器的正确设置重新创建。
对于像我一样在成像环境中遇到这种情况的人,请考虑将此文件作为 sysprep 删除。您需要删除该文件,然后在下次启动操作系统之前捕获您的映像。
我不确定我的情况是否和你一样,但如果这听起来有道理,那就试试吧。祝你好运