有时,我的 Windows 台式电脑会同时连接到两个网络。
第一个网络是 Wi-Fi 网络,也通过 Wi-Fi 路由器/DSL 调制解调器连接到互联网。路由器地址是 192.168.1.1。我的机器可以有一个像 192.168.1.115 这样的地址(由 DHCP 自动分配)。
第二个网络是与另一个(不是上面的)路由器的物理以太网线连接。此路由器无法访问互联网。路由器地址是 192.168.2.1。我的机器可以有一个像 192.168.2.248 这样的地址(由 DHCP 自动分配)。
问题。
我大部分时间都很高兴地使用第一个 Wi-Fi 网络,一切都很好。但是,当我将以太网电缆连接到 PC 以访问第二个网络时,Windows 会自动创建一条如下所示的新路由:
0.0.0.0 0.0.0.0 192.168.2.1 192.168.2.248 25
显然,Windows 试图提供帮助,并假设由于新网络已连接,我也希望通过它发送所有数据包。然而,这条新路由使数据包通过它,结果 PC 失去了与互联网的连接。
解决这个问题相当简单,只需执行以下命令删除新创建的路由:
route delete -p 0.0.0.0 mask 0.0.0.0 192.168.2.1 metric 25
这解决了问题,并且 PC 只能使用第一个网络访问互联网,而使用第二个网络访问 192.168.2.* 中的 IP。
但是,一旦我断开并重新连接以太网电缆或禁用/启用以太网适配器,该路由就会再次出现。不幸的是,上述命令中的 -p 标志似乎不会使删除永久生效。
我可以通过编程检测这条新路线,并让一个进程/服务在后台运行,以便在创建路线后立即终止该路线。但我觉得应该有一个更好、更优雅的解决方案。