wol*_*ang 17 networking internet networkmanager
这是我的/etc/network/interfaces文件内容
只有在系统重新启动时才会生效。
我试图让它手动生效。我的尝试如下。
auto eth0
iface eth0 inet static
address 192.168.1.57
netmask 255.255.255.0
gateway 192.168.1.1
up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
Run Code Online (Sandbox Code Playgroud)
首先尝试运行 sudo ifup eth0
我收到
RTNETLINK answers: File exists
Failed to bring up eth0.
Run Code Online (Sandbox Code Playgroud)
在/etc/network/interfaces只有工作时,我重新启动系统
除此之外,我已经尝试过
sudo /etc/init.d/networking restart
sudo service network-manager restart
sudo service networking restart
但他们都不会提出interfaces文件中的更改
我唯一的选择是sudo ifup eth0,这给出了上述错误。
怎么了?
dto*_*lis 10
编辑您的配置文件以删除iface节之前的空格,使其看起来像这样,
auto eth0
iface eth0 inet static
address 192.168.1.57
netmask 255.255.255.0
gateway 192.168.1.1
up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
Run Code Online (Sandbox Code Playgroud)
您收到的消息只是表明接口已经启动,因此您需要先做ifdown再做ifup。但是,如果您通过 ssh 连接,则需要小心 - 您可能会将自己锁定在外面。这是一种方法:
sudo ifdown eth0 && sudo ifup eth0
Run Code Online (Sandbox Code Playgroud)
请注意,这两个命令是如何在同一行上执行的。作为预防措施,请确保您可以访问服务器控制台或在出现问题时重新启动服务器。
我刚刚遇到这个问题,上面的解决方案都不适合我。我无法更改,/run/network/ifstate因为它立即重置为以前的状态。也sudo ifdown eth0 && sudo ifup eth0没起作用。
然后我发现了以下命令:
sudo ip addr flush dev eth0
Run Code Online (Sandbox Code Playgroud)
这解决了问题。