troubleshooting

HOWTO: 为单网卡 Windows 10/11 配置多路由网关

        网络环境还是比较简单的,常见的组网方式,要求无线路由(192.168.2.1)下的网络增加一个网络设备(192.168.2.254),且所有客户端都需要经由该网络设备。

        实际安装调试时发现,由于是定制版无线路由,DHCP 不支持高级配置功能,无法指定网关。如果通过关闭路由自带的 DHCP 服务,则 PPPOE 将自动切换为桥接模式,导致无法正常上网,后续配置也就无法再继续下去,考虑多方因素,决定改为客户端手动添加路由的方式。

network

        因为是 Windows 10/11 系统,手动添加路由比较简单,通过网卡的“高级 TCP/IP 设置”即可。注意:这里有两个跃点数:手动添加的网关跃点数和自动跃点。

tcpip-settings

        使用命令对于 IT 人员来说是最为便利的,这里推荐使用 PowerShell,可以先 Get-NetAdapter 获取当前系统的网卡基本信息,确认网卡索引号便于后续操作。

get-netadapter

        然后使用 New-NetRoute 来手动添加路由,将 192.168.2.254 添加到额外的网关中,参考如下命令行:

 New-NetRoute -DestinationPrefix 0.0.0.0/0 -NextHop 192.168.2.254 -InterfaceIndex 19

        但在添加后使用 Route PrintGet-NetRoute 查看会发现两个网关的跃点要么相同,要么额外添加的网关跃点无法优先于默认网关。此时如果我们去修改前面“高级 TCP/IP”设置中的跃点数和自动跃点数会发现也无济于事。

get-netroute

        而且当修改额外网关跃点数为0时还是报错,只能设置为1-9999间的跃点数;如果修改了自动跃点还会发现网关的实际跃点数会被累加。

tcpip-settings-metric

        那该如何解决的?其实可以用 Set-NetRoute 对现有路由表进行修改,参考如下命令:

Set-NetRoute -DestinationPrefix 0.0.0.0/0 -InterfaceIndex 19 -NextHop 192.168.2.254 -RouteMetric 0

        执行后结果如下所示。

get-netroute-1

        接下来,再调整默认网关的跃点数,将其优先级调后即可。那么什么时候需要修改自动跃点呢?当 Windows 系统有多块网卡,需要对网卡优先级进行调整时才需要使用自动跃点。经 gOxiA 学习梳理,在“高级 TCP/IP 设置”中的网关跃点数其实对应的就是 routemetric,而自动跃点数则对应的 interfacemetric。两者数值会进行累加,形成最终的跃点总数,进行优先级的排列,在 Route Print 中会得以体现。两个跃点的说明参考如下。

        两者都是用于网络路由和网络接口的度量值,用于确定数据包的传输优先级和路径选择。虽然它们都是用于网络通信的度量标准,但他们的应用对象和作用范围有所不同。

  • RouteMetric,应用于路由的度量值,用于确定通过特定路由传输数据包的优先级。当存在多个路由可供选择时,操作系统将使用具有最低路由度量值的路由来传输数据包。如果路由度量值相同,操作系统会使用其他策略(如最长前缀匹配 - PrefixLength / DestinationPrefix)进行决策。
  • InterfaceMetric,应用于网络接口的度量值,用于确定通过特点接口传输数据包的优先级。如果有多个网络接口可供选择,操作系统将使用具有最低接口度量值的接口来传输数据包。如果接口度量值相同,操作系统会使用其他策略(如接口绑定顺序)进行决策。
Windows Client | 评论(0) | 引用(0) | 阅读(4524)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我