最近一直忙于毕业的相关事项,所以也没有新文章产出——并非是找不到写作素材,实在是没写作时间。虽然这几天依旧很忙,但总算也抽出了一点时间完成了本文,希望能给广大高校生在办理宽带时带来一些帮助。
目前大部分高校的校园宽带应该都对使用者作出了诸多限制,比如:一号一机,禁止使用路由器(破解后才可以共享);与校方合作垄断,导致价钱比家用宽带贵一大截等。在校生也只能被迫接受——毕竟,你总不能真的不用电脑上网吧?
好在目前越来越多的高校里校园网已经开始支持 IPv6 了,而一般校园网只针对 IPv4 的流量计费,对 IPv6 产生的流量是不计费的,至于原因,我猜测有两方面原因:一是 IPv6 相关技术还不是特别完善,IPv4 计费系统可能需要修改;二是目前国内 99% 的网站都不支持 IPv6,而纯 IPv6 环境下是无法访问 IPv4 网站的,所以干脆就没做这一限制。
连接上校园网后,不要认证,戳 这里 来测试是否支持 IPv6,当然也可以直接打开 Google,目前 Google 可以通过 IPv6 直连。
但,谁让我是学计算机的呢,这并不能难倒我。既然无法通过 IPv6 直接连接 IPv4 的网站,那利用一个同时支持 IPv4 和 IPv6 的 VPS 做一层代理不就可以绕过这一限制了吗?原理见下拓扑图:
这就意味着,只要你具备 IPv6 网络,便可以通过此方法绕过诸多限制,从而免费上网。
目前比较出名的 VPS 服务商除搬瓦工外,大部分都原生支持 IPv6 连接,包括:Vultr、Linode、DigitalOcean。而搬瓦工的 VPS 中 OpenVZ 架构自带 IPv6,KVM 架构则需要利用 Tunnel Broker 技术来提供 IPv6 隧道给只支持 IPv4 的用户(我的搬瓦工 CN2 主机便是通过 Tunnel Broker 来获取 IPv6 支持的,这也是搬瓦工的客服推荐的方案),它定义在 RFC 3053 。
如果你的 VPS 原生支持 IPv6 连接的话,便可以跳过这一步。
目前 Hurricane Electric 免费提供 Tunnel Broker 服务(我 TM 吹爆!),该公司运营了世界上以对等数目计算的最大 IPv6 网络,所以服务方面是不用担心的。戳 这里 注册。
随后点击左侧的 Create Regular Tunnel
,再在框内输入 VPS 的 IP 地址,再选择一个地区服务器来作为隧道的一端,这里建议根据服务器的地区来就近选择,我这里选择的是 Los Angeles。
创建成功后,在以下页面选择你的系统,如果是 Debian 系就选择 Debian/Ubuntu,其余就选择 Linux-net-tools。
框中会出现几行命令,登陆 VPS,依次运行这几行命令就行了。
第四行被我抹去的地址便是公网 IPv6 的地址。
如果对 Tunnel 的速度需要更换的话,可以删除该 Tunnel 后在 VPS 运行
modprobe -r sit
命令或者直接重启,再重新创建一个 Tunnel。
不出意外,这时 VPS 已经可以使用 IPv6 连接了:
需要注意的是,如果选择非北美地区的服务器,会绕道美国,所以这里的 PING 值会略高。
代理可以选择 Shadowsocks,但本次要介绍的不是它,而是另一款代理软件:V2Ray。该代理软件比 Shadowsocks 多了许多种伪装流量的方法,且占用内存更低(毕竟是 Go 写的),这对于小内存的 VPS 来说,非常重要。只不过其配置文件比 Shadowsocks 要劝退小白一些。
输入以下一行代码进行安装,系统需支持 Systemd:
bash <(curl -L -s https://install.direct/go.sh)
有关更详细的安装教程见 官方文档 。
如果是通过以上命令安装的话,配置文件在 /etc/v2ray/config.json
目录,以下是我的配置文件,没有流量伪装等进阶配置:
{
"log": {
"loglevel": "warning",
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log"
},
"inbounds": [{
"port": 10086,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"alterId": 4
}
]
}
}],
"outbounds": [{
"protocol": "freedom",
"settings": {}
}]
}
inbounds
:入站配置,是一个数组。
注意协议这里填的是:VMess
,由 V2Ray 原创的一份加密传输协议。
clients
是一个 Object 数组,每一个元素里的 id 必须满足 UUID 格式,且服务端客户端需保持一直,作用类似于 Shaowsocks 中的密码。
outbounds
:出站配置,也是一个数组。
Linux 客户端的安装与服务端一致。
Windows 建议使用
V2RayN
,带有图形化界面,下载 V2RayN-Core.zip
解压,下载 V2RayN.zip
解压出的 .exe 文件放入刚刚的目录下。
目录应该与以下类似:
.
├── config.json
├── geoip.dat
├── geosite.dat
├── guiLogs
│ ├── 20190421.txt
│ ├── 20190422.txt
│ └── 20190423.txt
├── guiNConfig.json
├── pac.txt
├── readme.md
├── user-wininet.json
├── v2ctl.exe
├── v2ctl.exe.sig
├── v2ray.exe
├── v2ray.exe.sig
├── v2rayN.exe
├── wv2ray.exe
└── wv2ray.exe.sig
格式与服务端一致,你需要修改的仅有 address 和 id 部分:address 填写服务端的 IPv6 地址;id 需与服务端一致。
{
"log": {
"loglevel": "warning",
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log"
},
"inbounds": [{
"port": 1081,
"listen": "127.0.0.1",
"protocol": "socks",
"settings": {
"netword": "udp"
}
}],
"outbounds": [{
"protocol": "vmess",
"settings": {
"vnext": [{
"address": "xxxx:xxxx:xxxx::xxxx",
"port": 10086,
"users": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"alterId": 4
}
]
}]
}
},{
"protocol": "freedom",
"tag": "direct",
"settings": {}
}]
}
这时,打开网络代理,填入:
注意,这里一定要选择手动代理模式,不能使用 PAC/自动模式,因为我们的目的是要本地的所有流量都走代理。而 PAC 仅会当遇到被墙的 IP 时才会走代理。
双击 V2RayN.exe 后,点击右上角的添加 VMess 服务器
:
填入地址,端口,id 即可:
再将右下角的系统代理模式改为全局模式,道理同 Linux 类似:
这样,不出意外的话,就已经成功了,你的仅支持 IPv6 的电脑已经该可以通过代理来访问非 IPv6 的网站了。
正好手头最近入了一个原生支持 IPv6 的 VPS,贴一下与搬瓦工的对比,以下均在同一时段做的测试:
原生支持 IPv6 的机器可以直接观看 2K 视频并且不会出现卡顿现象(可以看到已经缓冲了一分钟了),而使用 Tunnel Broker 的就没这么好了,不仅连接速度只有三分之一,而且无法较为流畅的观看 2K 视频,时不时会出现卡顿。考虑到 YouTube 的线路优化已经很强了,国内的视频或者直播应当只能观看 720p(码率最好不要超过 3000)甚至更低了,而前者直播时蓝光 8M 无压力。
首先是搬瓦工的,经过了 15 个节点,教育网的入口和出口丢包率很高:
这是原生 IPv6 的,经过了 19 个节点,同样教育网的入口和出口丢包率较高(但还不是最高的):
可以看到其原生自带 IPv6 的主机其实也用的是 HE 的 IPv6 网络(前 13 个节点都一样),那么看来是返程的时候出问题了:
果然,问题出在返程上面,原生的 IPv6 并没有走 HE 的线路,丢包率为 0。而相比于浏览网页,在看视频时返程的网络状况会直接影响观看体验,这一点也确实在之前的网速测试中体现了。
所以,购买建议是:
如果你还没有购买 VPS 的话,建议购买原生自带 IPv6 连接的 VPS,使用体验会好很多,不过由于电脑是全局的代理,所以要注意 VPS 流量的使用哦~
最后附赠一个国内的 IPv6 电视网站: 清华大学 IPTV 。
参考: