我正在运行 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 中当前的方法是使用ifdown
、ifup
停止和启动各个接口。例如:
ifdown eth0; ifup eth0
ifup
请注意(与其他答案不同) ,即使ifdown
报告失败,我们总是尝试使接口恢复。如果您可以避免的话,您不想仅仅因为出现问题而无法远程访问系统(尽管这并不总是可以避免)。
答案2
正如警告所述,这种重新加载网络配置的方法已被弃用。相反,您应该在网络适配器级别执行此操作:
ifdown eth0 && ifup eth0
这将禁用网络适配器,如果禁用成功,则使用新配置重新启动它。