<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://maytide.net/read.php/2086.htm</link>
<title><![CDATA[HOWTO: 为单网卡 Windows 10/11 配置多路由网关]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Windows Client]]></category>
<pubDate>Sun, 20 Aug 2023 10:31:29 +0000</pubDate> 
<guid>https://maytide.net/read.php/2086.htm</guid> 
<description>
<![CDATA[ 
	<p><img alt="troubleshooting" src="http://goxia.maytide.net/ftpup/2016/a2734efd2a17_D06F/troubleshooting_thumb.png"></p><p><font color="#fd3f0d" size="4"><strong>HOWTO: 为单网卡 Windows 10/11 配置多路由网关</strong></font></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 网络环境还是比较简单的，常见的组网方式，要求无线路由（192.168.2.1）下的网络增加一个网络设备（192.168.2.254），且所有客户端都需要经由该网络设备。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 实际安装调试时发现，由于是定制版无线路由，DHCP 不支持高级配置功能，无法指定网关。如果通过关闭路由自带的 DHCP 服务，则 PPPOE 将自动切换为桥接模式，导致无法正常上网，后续配置也就无法再继续下去，考虑多方因素，决定改为客户端手动添加路由的方式。</p><p><a href="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/network.png"><img width="400" height="377" title="network" style="border: 0px currentcolor; border-image: none; display: inline; background-image: none;" alt="network" src="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/network_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 因为是 Windows 10/11 系统，手动添加路由比较简单，通过网卡的“高级 TCP/IP 设置”即可。注意：这里有两个跃点数：手动添加的网关跃点数和自动跃点。</p><p><a href="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/tcpip-settings.png"><img width="404" height="570" title="tcpip-settings" style="display: inline; background-image: none;" alt="tcpip-settings" src="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/tcpip-settings_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用命令对于 IT 人员来说是最为便利的，这里推荐使用 PowerShell，可以先 <a href="https://learn.microsoft.com/en-us/powershell/module/netadapter/get-netadapter?view=windowsserver2022-ps/?WT.mc_id=WDIT-MVP-4000544" target="_blank">Get-NetAdapter</a><strong></strong> 获取当前系统的网卡基本信息，确认网卡索引号便于后续操作。</p><p><a href="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/get-netadapter.png"><img width="634" height="130" title="get-netadapter" style="display: inline; background-image: none;" alt="get-netadapter" src="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/get-netadapter_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 然后使用 <a href="https://learn.microsoft.com/en-us/powershell/module/nettcpip/new-netroute?view=windowsserver2022-ps/?WT.mc_id=WDIT-MVP-4000544" target="_blank">New-NetRoute</a> 来手动添加路由，将 192.168.2.254 添加到额外的网关中，参考如下命令行：</p><p>&nbsp;<strong><em>New-NetRoute -DestinationPrefix 0.0.0.0/0 -NextHop 192.168.2.254 -InterfaceIndex 19</em></strong></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 但在添加后使用 <a href="https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/route_ws2008/?WT.mc_id=WDIT-MVP-4000544" target="_blank">Route Print</a> 或 <a href="https://learn.microsoft.com/en-us/powershell/module/nettcpip/get-netroute?view=windowsserver2022-ps/?WT.mc_id=WDIT-MVP-4000544" target="_blank">Get-NetRoute</a> 查看会发现两个网关的跃点要么相同，要么额外添加的网关跃点无法优先于默认网关。此时如果我们去修改前面“高级 TCP/IP”设置中的跃点数和自动跃点数会发现也无济于事。</p><p><a href="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/get-netroute.png"><img width="634" height="469" title="get-netroute" style="display: inline; background-image: none;" alt="get-netroute" src="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/get-netroute_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 而且当修改额外网关跃点数为0时还是报错，只能设置为1-9999间的跃点数；如果修改了自动跃点还会发现网关的实际跃点数会被累加。</p><p><a href="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/tcpip-settings-metric.png"><img width="404" height="565" title="tcpip-settings-metric" style="display: inline; background-image: none;" alt="tcpip-settings-metric" src="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/tcpip-settings-metric_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 那该如何解决的？其实可以用 <a href="https://learn.microsoft.com/en-us/powershell/module/nettcpip/set-netroute?view=windowsserver2022-ps/?WT.mc_id=WDIT-MVP-4000544" target="_blank">Set-NetRoute</a> 对现有路由表进行修改，参考如下命令：</p><p><strong><em>Set-NetRoute -DestinationPrefix 0.0.0.0/0 -InterfaceIndex 19 -NextHop 192.168.2.254 -RouteMetric 0</em></strong></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 执行后结果如下所示。</p><p><a href="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/get-netroute-1.png"><img width="634" height="36" title="get-netroute-1" style="display: inline; background-image: none;" alt="get-netroute-1" src="http://goxia.maytide.net/ftpup/2018/HOWTO-_EE0F/get-netroute-1_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接下来，再调整默认网关的跃点数，将其优先级调后即可。那么什么时候需要修改自动跃点呢？当 Windows 系统有多块网卡，需要对网卡优先级进行调整时才需要使用自动跃点。经 <a href="http://goxia.maytide.net" target="_blank">gOxiA</a> 学习梳理，在“高级 TCP/IP 设置”中的网关跃点数其实对应的就是 routemetric，而自动跃点数则对应的 interfacemetric。两者数值会进行累加，形成最终的跃点总数，进行优先级的排列，在 Route Print 中会得以体现。两个跃点的说明参考如下。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 两者都是用于网络路由和网络接口的度量值，用于确定数据包的传输优先级和路径选择。虽然它们都是用于网络通信的度量标准，但他们的应用对象和作用范围有所不同。</p><ul><li>RouteMetric，应用于路由的度量值，用于确定通过特定路由传输数据包的优先级。当存在多个路由可供选择时，操作系统将使用具有最低路由度量值的路由来传输数据包。如果路由度量值相同，操作系统会使用其他策略（如最长前缀匹配 - PrefixLength / DestinationPrefix）进行决策。</li><li>InterfaceMetric，应用于网络接口的度量值，用于确定通过特点接口传输数据包的优先级。如果有多个网络接口可供选择，操作系统将使用具有最低接口度量值的接口来传输数据包。如果接口度量值相同，操作系统会使用其他策略（如接口绑定顺序）进行决策。</li></ul>
]]>
</description>
</item>
</channel>
</rss>