路由步骤

路由步骤

我在 Windows 10 PC 上使用 2 个连接。一个用于访问我的 LAN,另一个用于互联网。

长话短说:我需要优先使用我的互联网连接(4G USB 棒)来访问网络,但是当我需要通过其他 LAN(多个子网)访问某些东西时,它却无法工作。

基本上我需要我的 4G 连接一直在线,并且我需要像平常一样通过我的 LAN 连接(以太网端口)访问不同的子网。例如,我的 PC 在该 LAN 上的子网是 10.79.4.0/24,我也可以访问我的其他子网 10.79.0.0/24` 等等。... 但只要我转变到我的其他互联网接口(4G USB 棒),只有通过第一个 LAN 接口的初始子网可以访问 10.79.4.0/24,而其他子网则不能访问。

如果我的指标在 LAN 上较低(也可以通过不同的防火墙和外部 IP 访问互联网),则一切正常。但是,如果我只是为了测试目的而关闭 LAN 上的互联网,它会切换到第二个接口(4G USB 棒),这没问题,但我无法访问该接口所在子网以外的任何本地资源。

基本上,如果优先防火墙/互联网关闭并且我想通过电视或 RealVNC 和本地资源访问 Windows 10 设备,这就是我的故障转移方法。

我该怎么做?我相信这是可以实现的。我只是不知道该怎么做?我希望我说清楚了...

在此处输入图片描述

接口

主要互联网连接和 LAN 连接

主要互联网连接和 LAN 连接

次要、故障转移 4G 连接

次要、故障转移 4G 连接

路由表

路由表

Tracert

Tracert

答案1

我会写一个答案,以免评论打扰你。从命令输出来看,你所拥有的环境如下所示:

当前环境

让我将其分为两部分:

路由步骤

首先,让我们总结一下 4G 连接在仍访问本地网络时的工作方式(如问题评论中所确认的)。Windows 将优先选择具有最低度量的路由,在本例中,LAN 为 291,4G 为 527。

如果您更改指标以便您的 4G 连接启动,那么您应该拥有您想要访问的所有内部网络的路由:

route -p add 10.79.0.0 mask 255.255.255.0 10.79.4.1
...
route -p add <SUBNET IP> mask <MASK> 10.79.4.1

假设这SUBNET IP是网络地址(看这里)。

如果你拥有所有10.x.x.x网络,那么更简单的方法可能是这样做route -p add 10.0.0.0 mask 255.0.0.0 10.79.4.1。你可以这样做,因为你的 4G 处于开启状态192.168.8.0/24

故障转移步骤

我不想说你做不到,但据我所知,我认为你无法仅通过巧妙的度量配置来处理这个问题。这是因为对于 Windows,网关处于开启状态。192.168.8.1只有在较低度量网关 ( ) 无法访问的情况下,Windows 才会自动切换到更高的度量(默认通过 )10.79.4.1。然而事实并非如此,你的下一跳是活动的,你只是失去了互联网连接。

利用您所拥有的资源,我将采取编写快速而肮脏的脚本的方法来更改互联网故障时的指标,如下所示:

@echo off

echo Checking internet connection...
ping %1 -n 1 -w 1000 > NUL

if errorlevel 1 (GOTO FALLBACK) else (GOTO ALLGOOD)

:FALLBACK
echo Internet Failed
:: YOUR CODE
echo -- Here goes the code to change the routes and metrics when internet fails
::...
exit 0

:ALLGOOD
echo Internet probe was successful
:: MAYBE REVERSE THE METRICS?
exit 0

将其存储在一个.cmd文件中,并粘贴您在第一步中确定的路线。也许还可以创建一个回滚例程,以防万一。条件本身有效:

命令执行示例

将探测 IP 作为参数传递给测试连接。然后我会将其设置为定期运行(根据您的停机容忍度设置间隔)。

我希望这能帮助你解决。

干杯,

相关内容