如何通过命令行在多个网络连接之间进行选择?

如何通过命令行在多个网络连接之间进行选择?

我有两个网络连接 - wifi 和以太网。如何在使用命令行时选择要使用的特定网络,例如 ping google.com。

PS:我提到 ping 只是一个例子。我可能正在运行 python 脚本或 curl,所有这些都应该使用相同的界面。

答案1

除非您有特殊设置,否则如果不禁用其中一个连接,可能无法执行此操作。

一般来说,Linux 路由由路由表控制,流量将通过度量最低的路由发送出去 - 您可以使用命令“ip route”或“route”查看度量最低的路由。在这种情况下,最简单的解决方案是删除您不想要的路由(使用 ip route 或 route)或拆除您不想要的接口(使用 ifconfig 或 ip addr)。

如果您有更复杂的路由,则您的系统可能正在使用源路由,然后通过不同的表根据源或目标 IP 路由数据包。在这种情况下,最简单的方法是告诉命令(如果支持)发送具有给定源 IP 地址或接口的数据包(使用 man COMMAND 了解其工作原理)。在 ping 中,它将是 ping -I INTERFACE,在 mtr 中,它将是 mtr -a SOURCE.IP.ADDRESS

相关内容