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 出口
通过这样的设置,最终实现了分流。
题外话
不要用劣质网线,会变得不幸