我正在开发一个将 NetworkManager 优雅地嵌入到其图像中的平台。有两个独立的 eth0 和 eth1,以及一个 4G 调制解调器,所有这些都工作正常。我们使用NetworkManager来控制网络资源。我们希望优先使用 4G 调制解调器上的以太网连接(即 eth0 和 eth1)。
我们的问题是,3-5 秒后,对于 eth0 和 eth1,路由度量从连接中定义的值(即 100)分别更改为 1002 和 1003。但我们希望有一个固定的指标来使用有线连接(如果可用)。
有趣的是,我们对 4G 连接没有任何问题,因为它的指标保持固定,如连接配置中定义的那样。
我们已经定义了以太网接口所需的所有参数。因此以太网链路的连接参数如下:
id=Coolon-ETH0-Connection
uuid=eb6a2892-e1ce-4616-a492-f9b105339070
type=ethernet
autoconnect-priority=9
autoconnect-retries=0
interface-name=eth0
metered=1
multi-connect=3
timestamp=1713921530
[ethernet]
[ipv4]
method=auto
route-metric=100
[ipv6]
addr-gen-mode=stable-privacy
method=auto
route-metric=100
[proxy]
路由表如下:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.247.171.133 0.0.0.0 UG 123 0 0 wwan0
0.0.0.0 192.168.1.1 0.0.0.0 UG 1002 0 0 eth0
10.247.171.128 0.0.0.0 255.255.255.248 U 123 0 0 wwan0
169.254.0.0 0.0.0.0 255.255.0.0 U 3005 0 0 wlan0
192.150.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 1002 0 0 eth0
正是因为
dhcpcd
. 当 NetworkManager 嵌入到您的映像中时,只需禁用所有 DHCP 服务即可避免冲突。禁用dhcpcd
服务后,NetworkManager 根据预定义的配置优雅地处理所有接口。