“RTNETLINK 答案:文件存在”/etc/network/interfaces 不包含 2 个网关,那么问题出在哪里?

“RTNETLINK 答案:文件存在”/etc/network/interfaces 不包含 2 个网关,那么问题出在哪里?

这是我的/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

首先尝试运行sudo ifup eth0

我收到了

RTNETLINK answers: File exists
Failed to bring up eth0.

只有/etc/network/interfaces在我重启系统时才有效

除此之外我还尝试过

sudo /etc/init.d/networking restart

sudo service network-manager restart

sudo service networking restart

但它们都不会带来interfaces文件中的更改

我唯一的选择是sudo ifup eth0,但这会导致上述错误。

怎么了?

答案1

编辑配置文件以删除节前的缩进,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

您收到的消息只是表明接口已启动,因此您需要ifdown在执行 之前执行ifup。但是,如果您通过 ssh 连接,则需要小心 - 您可能会将自己锁定。这是执行此操作的一种方法:

sudo ifdown eth0 && sudo ifup eth0

注意,这两个命令是在同一行执行的。另外,作为预防措施,请确保您可以访问服务器控制台,或者在出现问题时能够重新启动服务器。

答案2

我刚刚遇到了这个问题,上面的解决方案都对我不起作用。我无法更改,/run/network/ifstate因为它立即被重置为以前的状态。也sudo ifdown eth0 && sudo ifup eth0没有用。

然后我发现了以下命令:

sudo ip addr flush dev eth0

解决了这个问题。

答案3

尝试查找 /run/network/ifstate,如果在那里没有看到所需的 eth,则通过添加 eth(n)=eth(0) 来修改它。

前任:

$ cat /run/network/ifstate 
eth0=eth0
lo=lo
eth3=eth3
eth1=eth1

之后使用命令 sudo ifdown eth(n),然后使用 sudo ifup eth(n)。

答案4

我刚刚花了一天时间解决 pi 的这个问题。我什么都没做,只是物理上移动了盒子。我的 pi 通过 WIFI 加密狗 Realtek RTL8188CUS 建立了 wifi 连接。是的,我已经修复了一些内核模块参数的掉线问题,主要是文件 /etc/modprobe.d/8192cu.conf 中的“options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1”,但 pi 仍然偶尔会掉线。现在我移动了它,它似乎无法连接到静态 IP 192.168.1.60。那么问题是什么?对我来说,“RTNETLINK 文件存在”是我在无线路由器中设置的一个问题。我在路由器中为 192.168.1.60 输入了一个 DNS 条目,但错误地使用了较低的 TTL 值。我使用的是 TTL=12,而不是 TTL=1200。我删除了路由器和 WIFI 中的错误条目,然后在重启后连接。因此,如果您同时使用 Pi 和路由器的静态路由,请注意您可能在路由器中设置了错误。这并不总是 PI 网络故障。

相关内容