0

我有一个基于 yocto 和 systemd 的嵌入式系统。有 2 个接口 eth0 和 wlan0,都使用我的路由器(互联网盒子)提供的 DHCP(ipv4)配置。

/etc/systemd/network/20-wired.network

[Match]
Name=eth0

[Network]
DHCP=ipv4

[DHCP]
RouteMetric=10
/etc/systemd/network/25-wireless.network

[Match]
Name=wlan0

[Network]
DHCP=ipv4

[DHCP]
RouteMetric=20

这是ip route的输出:

default via 192.168.1.1 dev eth0  src 192.168.1.47  metric 10 
default via 192.168.1.1 dev wlan0  src 192.168.1.88  metric 20 
192.168.1.0/24 dev eth0 scope link  src 192.168.1.47 
192.168.1.0/24 dev wlan0 scope link  src 192.168.1.88 
192.168.1.1 dev eth0 scope link  src 192.168.1.47  metric 10 
192.168.1.1 dev wlan0 scope link  src 192.168.1.88  metric 20 

所以 ping 到网络上的另一台设备 (192.168.1.42) 正在从 eth0 但不是 wlan0 工作,除非我禁用 eth0。

192.168.1.47  =>  192.168.1.42 : OK (eth0)
192.168.1.88  =>  192.168.1.42 : KO (wlan0)
192.168.1.42  =>  192.168.1.47 : OK (eth0)
192.168.1.42  =>  192.168.1.88 : OK (wlan0)

这是/etc/resolv.conf的输出(由 systemd-resolved 处理):

nameserver 192.168.1.1
nameserver fe80::a63e:51ff:fe70:9e16%3
nameserver 2a01:cb08:9049:3200:a63e:51ff:fe70:9e16

如何让两个接口(eth0 和 wlan0)同时工作而不禁用另一个?

问候

4

0 回答 0