如何让wifi和LAN在同一网段同时工作?

如何让wifi和LAN在同一网段同时工作?

我的操作系统使用 Linux+QT。

这就是我面临的问题。

我的 LAN IP 地址是172.16.120.17,我的 wifi IP 地址是172.16.120.20

所以我认为他们在同一个网段。

然后我将使用 eth0 来 ping 该地址。

而且它运行完美。

但是当我像下面的命令一样使用 wlan0 ping 它时。

ping -I wlan0 xxx.xxx.xxx.xxx

我无法 ping 通该地址。

经过一些测试,我发现如果我关闭 eth0,那么 wifi 会按预期 ping 通。(我正在使用下面的命令)

ifconfig eth0 down

如果 wifi 和 lan 位于不同的网段,则 wifi 和 lan 都可以按预期 ping 通。

为什么会发生这种情况以及如何解决?

或者说这是正常现象?

先谢谢了!

答案1

仅仅指定接口还不够,还需要指定源IP。请参阅 ping 的手册页:

interface 可以是地址,也可以是接口名称。如果接口是一个地址,则将源地址设置为指定的接口地址。如果接口在接口名称中,则设置源

您的 ping 操作很可能是使用 eth0 的源 IP 发出的,这会造成混乱。

相关内容