重新启动网络接口时文件存在错误 (Debian)

重新启动网络接口时文件存在错误 (Debian)

我正在运行 Debian GNU/Linux 8 服务器来完成学校作业。

在努力做的同时服务网络重启,它给了我这个错误:

root@server:~# service networking restart
[warn] Running /etc/init.d/networking restart is deprecated because it may not re-enable some interfaces ... (warning).
[....] Reconfiguring network interfaces...RTNETLINK answers: File exists
Failed to bring up eth0.
done.

这是 /etc/network/interfaces 文件:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 193.191.187.47
        netmask 255.255.255.128
        gateway 193.191.187.62
        post-up arp -f /etc/ethers

iface eth0 inet6 static
        address 2001:6a8:2880:a077::47
        netmask 64
        gateway 2001:6a8:2880:a077::1

我最近没有更改此配置的任何内容。我一直在处理我的 postfix SMTP 分配并使用 ip6tables 打开一些 ipv6 端口。这些都会导致问题吗?

干杯

答案1

RTNETLINK answers: File exists这是当您尝试将 IP 地址添加到已具有相同 IP 地址的接口时发生的令人困惑的错误。它并不完全是一个存在的“文件”,而是IP。

正如脚本所提到的,它已被弃用。发生的情况是,它没有正确关闭接口,也没有从接口中删除现有的 IP。您应该通过另一种方法重新启动接口。

Debian 中当前的方法是使用ifdownifup停止和启动各个接口。例如:

ifdown eth0; ifup eth0

ifup请注意(与其他答案不同) ,即使ifdown报告失败,我们总是尝试使接口恢复。如果您可以避免的话,您不想仅仅因为出现问题而无法远程访问系统(尽管这并不总是可以避免)。

答案2

正如警告所述,这种重新加载网络配置的方法已被弃用。相反,您应该在网络适配器级别执行此操作:

ifdown eth0 && ifup eth0

这将禁用网络适配器,如果禁用成功,则使用新配置重新启动它。

相关内容