坑中坑:Windows 居然会”限速”
引言
最近一直在使用的vmess+ws突然被和谐了,于是我又用回到了openconnect寻找替代方案,最终确定为vless+vision。但是在使用的过程中我发现一个疑问,怎么在安装openconnect之后梯子网速变慢了呢?难道这玩意会引发限速?
事情的起因
其实我一直用的都是openconnect,一方面是用它的人特别少,相对安全一些;另一方面它使用的是CISCO思科的VPN协议,很多跨国企业和机构都会用他家的设备,不会那么轻易被针对。
事实上,也确实如此,我使用了快5年也没出被封过端口或IP,唯一的问题就是在PC端上不怎么快,但是电视盒子看奈飞4K是没有问题的。由于桌面的GUI端N年没人维护,所以我理所当然的认为这可能是软件的兼容性问题。好在它也基本能满足我的工作需求,所以我也并没有纠结。
突发状况
然而最近的一次突发状况让我发现,出问题的可能并不是软件,而是windows系统本身。
我近期重装了一次系统,并没有安装openconnect,而是选择使用v2ray来科学上网。尽管我知道它也撑不了多久,但是架不住体验好啊,因为它可以屏蔽掉不少广告,其中就有谷歌的和youtube的。
果不其然,大概三个月之后端口就封了(可能与我的24小时挂机挖矿有关)。于是我又装上openconnect准备寻找新的替代方案。方案很快就解决了,但是新的vless+vision协议速度死活都上不去,被死死的卡在3Mbps左右。
回想起以前用openconnect限速的经历,我怀疑是安装了openconnect引发的。于是我又找来一台电脑,没有安装过openconnect的,这次速度就正常了。
真正的原因
我以为是安装openconnect时,它修改了系统的某些设置,导致tcp协议受到了影响。为什么这么说呢,因为openconnect传输数据的方式是udp。使用它udp测速的话能跑满,但是禁用udp传输改用tcp传输之后速度就和vless一样了。
这么分析是不是也没毛病,不过我还是不死心。之前ws那飞一般的感觉再也体验不到了吗?
不能这这么放弃治疗,我再次挂上openconnect,在此基础之上运行v2ray。理论上,这次v2ray的数据会被封装成udp,应该不会有这么严重的降速才对。结果我看到了一个非常奇怪的现象,速度先升后降,很快回到3M,多年的经验告诉我,这它喵的是被限速了。
我想了很多,MTU?并发数?驱动层?虚拟网卡?最后都以失败告终。啊啊啊!头发都要秃了。
原因确实是openconnect引发的,而且卸载了也无法恢复,但是我真的也不想重装系统。
最后我抱着死马当活马医的心态,试了一下我认为最不可能的原因,windows限速。结果居然复活了,复活了!!!
怎么会有这么坑爹的事情呢?你说你一个好好的系统,整什么限速。而且这个限速只针对科学上网,裸连测速完全不受影响,搞的我一度以为是被防火墙干扰了。
解决办法
在左下角点击右键,选择“运行”,输入“gpedit.msc”,点击确认。
在左侧计算机配置中找到【Windows设置】并点击,鼠标右击【基于策略的Qos】,选择【高级Qos设置】
点击【入站TCP流量】,勾选【指定入站TCP吞吐量级别】,选择【级别3(最大吞吐量)】,点击确定
现在60Mbps的带宽已经能够跑满了
结语
为了彻底搞明白这个问题,我在虚拟机上重新安装了一次相同版本的windows 10,在安装openconnect之后再次出现限速的状况。但是关于“组策略”的设置并没有被openconnect改变,所以限速的原因可能是由其它因素诱发。但是通过“组策略”修改入站TCP吞吐量确实能修复这个问题,可能是它的优先级比较高,从而覆盖了其它设置。现在我该担心我的流量不够了!