ifdown 接口未配置(Debian 6)

ifdown 接口未配置(Debian 6)

我的服务器是专用的(非虚拟)。我想拥有 3+1 个静态 IP。我之前使用过别名(eth0:0、eth0:1),但读到此方法已弃用。因此,我在 i; 时添加了另一个 IP 并使用 ifup/ifdown 重新配置了我的接口,但 ifdown 告诉我接口未配置。

/etc/network/interfaces 如下所示:

auto lo eth0
iface lo inet loopback

# Main IPs (IPv4 + IPv6)
allow-hotplug eth0
iface eth0 inet static
        address 81.x.x.x
        netmask 255.255.255.0
        broadcast 81.x.x.255
        gateway 81.x.x.1

iface eth0 inet6 static
        address 2a02:x:x:x::x:x
        netmask 64
        gateway 2a02:x:x:x::1

# 2nd IP
up ip addr add 81.x.x.x/32 dev eth0

# 3rd IP
up ip addr add 81.x.x.x/32 dev eth0

请注意,第二和第三个 IP 地址来自不同的网络范围(不知道是否重要)

我重新加载网络配置

nohup sh -c "ifdown eth0 && ifup eth0"


确切的输出(nohup)是

ifdown: interface eth0 not configured
SIOCADDRT: File exists
Failed to bring up eth0.

我究竟做错了什么?

编辑:这个问题之前已经问过了。但是旧问题使用已弃用方法。而且这个解决方案对我来说不起作用。由于 serverfault 上的人似乎无法帮助我,而只是将其关闭为重复(我怀疑您是否真的读过我写的内容……)我已经在官方论坛上询问了人们。他们被这个问题困住了,根本找不到解决办法——但至少试一试。
我遇到的问题越来越多,所以我将重新安装服务器。你可以关闭这个问题,不回答。

答案1

ifdown 认为接口已经关闭。如果情况并非如此,因为它是使用 ifup 以外的其他命令(例如 ifconfig)启动的,那么您需要以同样的方式将其关闭 ( ifconfig eth0 down)。

如果ip addr add命令已经手动完成,您可能必须使用 撤消它们ip addr del

ifup 和 ifdown 很脆弱。如果它们不是唯一使用的配置工具,它们就无法顺利运行。它们可以从内核获取当前接口状态,而不是记住上次将其更改为什么,但它们却没有这样做。

一旦使界面的当前状态与 ifupdown 认为的状态相匹配,它们就会开始表现得更好。

相关内容