对于所有网络事物,我都是新手。我有一个 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 eth0
和ip addr flush dev eth1
,然后重试ifup
。