Linux:防止添加两条默认路由

问题描述 投票:0回答:1

我有一个带有 wlan0 和一些 USB 端口的“主机”Raspberry Pi。我有另一个“客户端”Pi,通过 USB 电缆连接到主机 Pi(客户端 Pi 没有其他活动的网络接口)。客户端 Pi 正在运行 g_ether,因此当它通过 USB 电缆连接到主机时,它会建立一个基于 USB 的以太网连接(在主机上创建“eth1”)。另外,当客户端设备连接时,我知道客户端设备将位于 192.168.42.1,并且主机 Pi 将获得客户端在该网络上分配的地址 (192.168.42.x)。当客户端连接时,它会向主机 Pi 的路由表添加第二条默认路由。因此主机 Pi 上的路由表最终有两条默认路由:

default via 192.168.42.1 dev eth1 proto dhcp src 192.168.42.21 metric 204
default via 192.168.1.1 dev wlan0 proto dhcp src 192.168.1.125 metric 303
192.168.1.0/24 dev wlan0 proto dhcp scope link src 192.168.1.125 metric 303
192.168.42.0/24 dev eth1 proto dhcp scope link src 192.168.42.21 metric 204

由于 wlan0 是我通常的 Internet 路由,因此第二个默认路由中断了我的 Internet 路由。我想要同时路由到互联网(通过 wlan0)和 192.168.42.1(通过 eth1)。例如,在客户端设备未连接的情况下,我可以 ping ntp.org(通过 wlan0)。但在连接客户端设备后,我无法 ping ntp.org(大概是因为它正在尝试通过我的客户端设备创建的新添加的第二个默认路由,该路由没有到 Internet 的路由)。

我发现删除第二个默认路由可以解决问题(我可以 ping ntp.org,但仍然可以 ping 192.168.42.1)。

如何阻止添加第二条默认路由?或者还有其他解决办法吗?

linux raspberry-pi network-programming router
1个回答
0
投票

nogateway
添加到
eth1
解决了我的问题:
/etc/dhcpcd.conf

© www.soinside.com 2019 - 2024. All rights reserved.