RTNETLINK 回答: 文件存在: 如何将一个接口连接到 LAN,另一个接口连接到 WAN?

RTNETLINK 回答: 文件存在: 如何将一个接口连接到 LAN,另一个接口连接到 WAN?

对于所有网络事物,我都是新手。我有一个 MOXA-UC-8112 网关,我正在尝试连接到网络。网关嵌入了 debian 9。 LAN 的 eth0 接口工作正常。我现在正在尝试将 eth1 接口连接到 WAN。

这是我的配置文件/etc/network/interfaces:

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto eth0 eth1 lo
iface lo inet loopback
iface eth0 inet static
    address 172.AAA.AAA.AAA
    network 172.BBB.BBB.BBB
    netmask 255.CCC.CCC.CCC
    gateway 172.DDD.DDD.DDD
iface eth1 inet static
    address 176.AAA.AAA.AAA
    network 176.BBB.BBB.BBB
    netmask 255.EEE.EEE.EEE
    gateway 176.DDD.DDD.DDD

这是 ip 路由的输出:

    default via 172.DDD.DDD.DDDdev eth0 onlink
172.BBB.BBB.BBB/CC dev eth0 proto kernel scope link src 172.AAA.AAA.AAA
176.BBB.BBB.BBB/EE dev eth1 proto kernel scope link src 176.AAA.AAA.AAA

配置这两个接口后,我尝试重新启动网络服务。这就是 RTNETLINK 错误消息到达的时间。

    Mar 21 09:02:27 XXXX ifup[1981]: RTNETLINK answers: File exists
    Mar 21 09:02:27 XXXX ifup[1981]: ifup: failed to bring up eth1
    Mar 21 09:02:27 XXXX systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
    Mar 21 09:02:27 XXXX systemd[1]: Failed to start Raise network interfaces.

使用 ifup 时会出现此错误:

ifup -v eth1
ifup: reading directory /etc/network/interfaces.d

ifup: configuring interface eth1=eth1 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/ifenslave
+ [ inet = meta ]
+ IF_BOND_SLAVES=
+ [  ]
+ [  ]
+ [ -z  ]
+ exit
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
/bin/ip addr add 176.AAA.AAA.AAA/255.EEE.EEE.EEE broadcast 176.XXX.XXX.XXX       dev eth1 label eth1
RTNETLINK answers: File exists
ifup: failed to bring up eth1

使用 ifdown 时会出现另一个错误:

ifdown -v eth1
ifdown: reading directory /etc/network/interfaces.d
ifdown: interface eth1 not configured

我已经尝试过这一切: sudo ip addrlush dev eth1、sudo ifdown eth1 && sudo ifup eth1、nano /run/network/ifstate restart ...

答案1

问题是 中的双网关/etc/interfaces

ip route节目

default via 172.DDD.DDD.DDDdev eth0 onlink

这意味着系统将尝试通过此接口访问互联网。不是eth1您的 WAN 链接应有的方式。默认路由应该指向后面的下一跳路由器eth1

eth0您的内部网络一样,它应该与其他设备位于同一网络中,因此不需要网关。同一子网中的所有设备都可以直接相互通信。网关路由器仅用于转发进出子网的流量。

注释掉或删除配置中的网关eth0就可以了。

如果您仍然收到相同的消息,请发出命令ip addr flush dev eth0ip addr flush dev eth1,然后重试ifup

相关内容