阅读前警告
此教程仅供学习参考和经验交流,如您决定实践,作者对造成的后果不负任何责任,也不保证效果。
本教程只适用于 2021 年 9 月的湖南大学校园网,未来有更新可能,其他高校情况也不尽相同。
在新的校园网计费标准下,以这个步骤执行,并不一定能省钱,而且体验也不一定好。
炒个冷饭,由于好久之前写的 免流实录(还算不得教程) 实在是太散乱,这次决定整理一下思路(持续整理中)。
校园网环境与免流概述
湖南大学校园网,可以看作有 IPv4 和 IPv6 两条连接外界的通道。IPv4 会经过校园网的计费和限速系统,然后接入联通或电信的骨干网;IPv6 则没有计费、(可能)没有限速,接入 CERNET2,也就是纯 IPv6 的下一代教育网。
宿舍的校园网接入只有无线路由器,而路由器检测到电脑 MAC 地址前缀就会分配 IPv6 地址,而手机等设备则不会。目前还不能确定哪些是它认为的电脑 MAC 地址。
平常的网络流量,v4 和 v6 兼有,v4 居多;这里的校园网免流目标,是将所有流量通过 IPv6 通道发送给代理服务器,并由代理服务器帮助我们访问网络资源,再将信息通过 IPv6 通过校园网传回我们的设备,以绕过校园网计费系统。代理服务器一般来说也是同时支持 v4 和 v6 的。由于需要一台代理服务器,延迟会有显著的增加,所以效果不一定比之前好。
免流并不能免掉所有的流量,比如 BT 下载和 SFTP 协议等可能仍然走校园网 IPv4,猜测和端口号有关,经过特殊设置应该也能免掉。不做额外设置,一天内消耗校园网流量可以控制在 10M 以内。
本文的内容,就是围绕着如何把网络流量转移到 IPv6 上展开的。
前期准备
要做校园网免流,你一定需要:
-
大量、大量、大量的时间和耐心,你永远不知道有什么问题等着你
-
校园网外一台具有 IPv6 连接且常开的主机,包括但不限于国内外提供商的云主机(推荐),或者你家里带 IPv6 的路由器 / 电脑等。会收取一定的费用,按配置而定。
如果想要更好的体验,建议额外准备:
-
基本的网络和 Linux 知识,方便自行摸索和看懂网上的教程。如果时间实在太多,可以忽略此条
-
一台能够刷入第三方固件的路由器,如小米 / 红米、斐讯、华硕等品牌的大部分型号;或软路由
-
通读此教程,了解大致框架
选择代理协议
所谓代理,简单来说就是把你电脑上网的流量统统转发到另一台计算机上,由它代访问。而协议就是代理服务器和你的计算机通信的方式。
代理方式根据代理服务器和路由器 / 软路由的硬件条件,以及你的需求而定,多种代理方式可以结合使用。
下面介绍几种常用的代理协议。
VPN
虚拟专用网络,没有什么引申义。
很容易被封锁,所以国外服务器请勿使用,国内服务器也有一定风险。
但是能够代理所有流量,最干净利落,而且对服务器负担较小。
Shadowsocks/R
Shadowsocks 对服务器和路由器的负担也较小。如果你使用的路由器拥有不高于 MT7621A 的 CPU 或不高于 128M 的 RAM,建议使用 Shadowsocks。
Vless+gRPC
所有 Vless 不带加密,更建议购买域名设置证书之后设置 TLS 加密使用。
原则上不建议任何性能不高于 上面提到配置 的路由器使用,虽然评论区也有大佬成功。
该协议延迟较低,而最大带宽不及下面的 Vless+TCP(XTLS)。
Vless+TCP(XTLS)
相比于上面的 gRPC 方案,能跑出更高的速度,但延迟稍高。
根据 XTLS 协议作者 RPRX 的说法,如果你使用国外 VPS 访问国内网站,很容易被侦测。所以 尽量仅在国内服务器上使用 XTLS。
Vmess+WebSocket
这个自己研究吧,因为能套 Cloudflare CDN 所以受到一些人的欢迎。
Wireguard
建议搭配 Tailscale 使用,详见下文。
配置代理服务器
配置代理服务器主要就是配置服务端软件。代理服务器分两种,一种是云主机 VPS,一种是你自己的硬件。二选一即可。
云主机
国内的云主机延迟较低,但通常限制流量和网速,比较贵;而境外(包括香港等直连境外互联网的地区)的云主机一般流量限制很宽松,带宽很充裕,还带有你懂的功能,但延迟可能很高。系统建议选择各类 Linux,配置不用太高,单核 1G 内存够用。一定要选择带 IPv6 的方案,尽量也带上 IPv4(以访问部分落后的网站…… 包括本站)。
下面将以几个主机商为例,介绍一些与代理服务器有关的概况。
关于地域选择的重要提示
不建议 任何人 在 任何情况下 使用 境外(国外、港澳台)机器代理访问境内网络,此处即使用境外主机达成免流的行为。据 Xray 开发者 RPRX 称,作为代理用途访问境内网站的境外服务器 很容易遭到识别与封禁(即被墙)。
如果有访问被封锁网站的特殊需求,建议使用境内服务器作为第一道中转,并配置分流规则,将境外流量转发至境外主机代理。
Vultr
Vultr 是国外的服务商,有美国、英国、韩国、日本、新加坡、墨西哥等地的服务器,而且配置较简单,不需要太关注虚拟硬盘、IP 地址的分配。支持支付宝。
实测亚特兰大、洛杉矶、硅谷、西雅图、伦敦的线路并不是 CN2 线路(一种延迟较低的线路),英国线路延迟 200ms 左右,美国线路大多 200-300ms 左右。
每月 5 美元的服务器包含单核 CPU、1G RAM、25G SSD、每月 1T 流量,带宽大约 600-1000Mbps。可以在创建时选择附带 IPv6。
华为云
华为云可以选择按流量计费或按带宽计费。如果按流量计费,带宽上限 300Mbps(可自行设置),0.8 元 / G;如果按带宽计费,10Mbps 就要 500 元一个月。比校园网还贵,所以说免流只是玩玩而已。
华为云的弹性公网 IP 可以开启 IPv6 转换,它的作用是以类似 NAT 的方式,将流入的所有 v6 流量在服务端转发到 v4 上,所以也可以达到免流目的,而且不需要特殊操作。
SSH 连接主机,可以直接在命令行输入 ssh 用户名 @服务器地址,然后输入服务器的 root 密码,即可操控服务器;传输文件建议使用 WinSCP。更详细的操作建议自行网上搜索教程。
对于 Shadowsocks 协议,建议使用 shadowsocks-rust,也可使用 V2ray-core 或者 Xray-core。
对于 Vless/Vmess,建议使用 Xray-core 做服务端软件(使用文档)。
对于 Tailscale+Wireguard,可以看 “自有硬件” 部分。
如果你嫌手撸配置文件太麻烦,而不需要在服务器搭建其他东西,可以在网络上搜索一键脚本安装;对 Vless/Vmess,还可以使用 x-ui 来简化操作,提供了较高的自由度和简化的 GUI 界面。
端口号建议随意填写, 但如果你后面选择手动导入配置而不是导入 protocol:// 链接,一定要确保参数的前后一致。
然后使用各服务端的链接导出功能导出服务器链接配置,先将其导入手机或电脑上的客户端测试连接。
客户端方面,如果你使用 Vless/Vmess,Android 端推荐 v2rayNG 或 AnXray,iOS/iPadOS 端推荐Shadowrocket(国区没有)和 QuantumIt X(国区也没有,又叫圈 X,复杂),Windows 可以使用 v2rayN;对 Shadowsocks/R,Windows 端可以用ShadowsocksR(兼容 SS/SSR)、v2rayN 和Shadowsocks(只有 SS),Android 和 iOS 同上。注意按照服务端对应安装客户端。
导入链接后,设定全局代理,启动服务器连接,使用 IPv6 测试 (test-ipv6.com) 检查 IP 地址是否改变,如果你的代理服务器在境外还可以打开 Google 检查。如果正常,确保客户端机器有 IPv6 环境的情况下(可以使用上面的网站确定,移动数据网络一般都有),将客户端中服务器配置的地址栏换成 IPv6 地址,再次连接测试。
自有硬件
使用自己的硬件有两种方法。一条路是使用 Tailscale 实现点对点连接。个人没有实测过,但这是配置最简单的一种方法。
方法很简单,打开 https://tailscale.com/,它就会给你安装指引。
而另一条路,就是使用自己的硬件搭建代理服务器。这条路虽然也不用租云主机,但难度很大,还不一定能省钱,首先当然要确定你自己家里之类地方的网络环境有 IPv6。
个人推荐使用能够刷入第三方固件的路由器,它们常带有 SSR 或 v2ray 服务端,开启后能够直接连接,不需要做端口转发。如下图为路由器 Padavan 系统的 SSR 服务端界面。如果没有的话,也可以使用 Linux 系统的 X86 PC 机,性能更强。如果用旧手机、树莓派等 ARM 设备,配置将会非常麻烦,不建议使用。
电脑作为服务端的配置方法其实和上面的大同小异,而路由器端可能更加简单,使用自带的服务端程序解决。
IPv6 一般会是公网地址(即只属于你),但考虑到可能会动态分配,最好买一个域名,搞一个 DDNS,动态解析域名到你的服务端。
配置完成后,参照云主机部分的测试方式进行连接测试。
机场
机场的线路一般用于你懂的用途,但如果有 IPv6 的话,也可以选择。不过请注意监管风险。
机场可能会给 Clash 订阅链接,关于 Clash 的使用请自行搜索,与上面提到的有些许不同。
如果上面的步骤都成功的话,你实际上就可以进行一定程度上的免流了。电脑连接上校园网,打开上面所说的客户端,选择全局代理(或者配合 Proxifier 实现更完全的代理),即可绕过计费。可以下载一个大文件试试是否没有记流量。Android 设备需要一定的操作来伪装成电脑的 MAC 地址以获得 IPv6 地址,而 iPhone 或者 iPad 用户由于 Apple 的限制,并不能搞定,还需要看下一部分。
配置路由器
这部分的目的,是在宿舍内构建一个完全走代理的网络,还可以让不能走验证的设备(如智能家居)连上网,以及建设一个可以相互通信的局域网环境。
我使用的路由器是小米 AC2100,刷入 Padavan 固件,以下都以此为例。如果不确定哪些路由器适合你,可以直接选择 恩山无线论坛 上热门的路由器,它们的第三方固件较多,选择余地较大。
后面对路由器做的所有更改,都要点击离选项下方最近的那个“应用本页面设置”才能生效。
刷入第三方固件
官方固件当然不会拥有 SSR 这类功能,也没有我们迫切需要的无线桥接功能。
如果你也选择了这款路由器,或是换壳型号红米 AC2100,可以参考一下 红米 (小米) AC2100 无需 Telnet 刷入 Breed 和 Padavan 固件教程。Breed 方便刷固件翻车时恢复,也为我们提供了改 MAC 的功能;而 Padavan 则有大量我们需要或不需要的扩展功能,甚至还可以增强信号的稳定性。
连接无线桥接
宿舍里没有连至校园网的网口,所以我们需要使用无线桥接功能,将路由器作为一个设备连接至校园网 AP。在路由器管理后台连接页面打开 “无线桥接”,按照如下的方式配置,点击应用本页面设置,然后回到网络地图 - 外部网络状态,就可以检查路由器是否连接到了校园网,这一步一般没问题。用手机连上路由器网络,过一下校园网验证确认能够使用。这时可以访问上面提到的 IPv6 测试网站,如果你碰巧有了 IPv6,恭喜你,下一步可以跳过了。
需要注意,2.4GHz 现在先不开,也不要配置宽带连接之类的其他东西。
获取 IPv6 地址
这一步非常繁琐,但却是至关重要的一步。
打开”高级设置 - 外部网络 - IPv6 设置 “,如图调整各选项。其中 DNSv6 没必要非得按这个来,可以自行寻找 DNSv6 服务器。” 获取 IPv6 外网地址 “一定要选” 从两端“。
然后到高级设置 - 系统管理 - 服务,打开 “启用 NAPT66” 然后重启路由器。
断开路由器电源,用网线连接 LAN 口和电脑,按住重置键,接通电源,直到路由器指示灯闪烁,松开重置键。在电脑地址栏输入 192.168.1.1 进入 Breed 恢复控制台,点进 MAC 地址修改,将所有 MAC 地址均换为某一电脑厂商对应前缀的 MAC 地址(一般属于 CLEVO 的前缀,即 0090F5 比较保险,CLEVO 是神舟电脑的代工厂;你可以使用我写的 MAC 地址生成器,须自备 Python 环境)。保存,重启路由器。
将你的设备连上路由器,测试一下 IPv6 连接状况(尤其是非电脑设备),现在你的路由器应该已经伪装成了一台电脑,可以获取校园网 IPv6 了。
连接代理服务器
这一部分要和你之前 “配置代理服务器” 部分的内容相匹配。
Padavan 固件
SSR:使用扩展功能 - Shadowsocks,工作模式选择全局代理,其余根据你的服务器配置填写。
其他:使用扩展功能 - 搭建网络环境 - V2ray。透明代理可以不开这里的,使用广告屏蔽功能 - transocks 的透明代理程序,工作模式也要选全局。
OpenWrt
可以使用 PassWall 程序,需要手动开启 IPv6 路由(小心开了上不了网)。
到这里,校园网免流基本就能达成了。Enjoy it!
参考文献:
-
h 大老毛子 ipv6 的 wan 口地址获取不到 – 恩山无线论坛
另外也可以尝试 “53 端口免流”,通过 DNS 的端口代理,一般来说 DNS 查询不会被封禁。