Windows平台下设置IPv4及IPv6的静态路由

前言

在大二新学期开学之前,我做了件“大事”

是的,我整了个传说中的“云商套餐”。至于为什么整这个套餐,原因嘛…就是因为云商套餐可以用 100M 的宽带上传。

与此同时,还有一个悲伤的消息:河南移动宽带 1G 下行的上行带宽从以前的 300M 砍到了 100M,出口质量也大不如前了,感觉不如广移

多重因素的影响下,我家最终装上了两条宽带。

按照我的一贯作风,肯定是要全部利用起来的呀!

因此,我就拿出了我的那块陈年酱香款 RTL8111H *4 的网卡,也就有了本文。

别问为啥这么多卡,因为我还有两块 PCIe 的 8111H *1

双线 IPv4 的静态路由

由于同时接入了两个运营商,然而 Windows 默认的分流并不好用,我们很难去实现网络利用效率的最大化。因此,我们需要去做一个分流,用以将不同运营商的流量走对应的线路;或者通过不同运营商的出境路由和拥堵情况不一样,来优化网络质量。

在配置 IPv4 静态路由的时候,我们可以很容易的找到各类资料去配置,例如:

1
route add -p 1.1.1.1 MASK 255.255.255.255 192.168.31.1 METRIC 3

如上,就是一个静态路由的命令,在“以管理员权限运行 PowerShell”之后运行,会让 1.1.1.1 这个 IP 走 192.168.31.1 这个网关,跃点数配置为 3 ,会优先使用。同时,子网掩码配置为 255.255.255.255 会使仅仅 1.1.1.1 这一个 IP 配置静态路由,如果需要 1.1.1.1 - 1.1.1.254 整个段都配置静态路由,则将子网掩码配置为 255.255.255.0 即可,其他 IP 段建议结合“子网掩码计算器”来进行计算。

于是乎,也就有了一个配置的“公式”:

1
route add -p IPv4地址 MASK 子网掩码 网关IPv4地址 METRIC 跃点数

双线 IPv6 的静态路由

说完了 IPv4 的静态路由,IPv6 的是不是也是这样嘞?如果真的这么认为,相信 PowerShell 会给你当头一棒:

由于这方面的资料较少,我一度放弃了配置 IPv6 的双线路由,想要直接摆烂…但是前两天发现联通的 IPv6 也有比较好的线路,就再次研究了一下,经过几十次的试错之后,终于成功配置了静态路由。

鉴于微软给的配置文档(见“参考资料1”)过于冗杂,就不放原话了。直接放一个例子:

1
route add 2409:8c20:1833:640b::3/128 fe80::*:*:*:8d1c IF 10

如上,是一个配置 IPv6 静态路由的命令,还是“以管理员权限运行 PowerShell”之后运行。会让 2409 开头的这个中移动的 IP 走 fe80 开头网关的 #10 索引。/128 是一个 CIDR 值,建议通过计算器来进行计算,如果只需要路由一个 IP,设置 /128 即可。

索引的查看方式

索引这个词最近我才了解到,对其不甚了解,如有遗漏或者错误还请各位见谅并指出

通过 ipconfig 指令查看网卡信息,会发现 IPv6 后的一些有趣的东西

比如网关 fe80::*:*:*:8d1c%10 后缀的 %10 ,说明这个网卡 IPv6 地址的索引是 10

最终效果

设置静态路由的 IPv6 地址走联通的出口

其他流量走默认的移动 IPv6 出口

通过这样的设置,最终实现了分流。

题外话

不要用劣质网线,会变得不幸

本文完

参考资料

  1. 安装和配置 IP 版本 6 - Windows Server | Microsoft Learn

  2. 子网掩码 - 站长工具

  3. windows添加ipv6路由-掘金