HNU 校园网 IPv6 免流折腾实录

谨以此文章献给饱受校园网流量不足之苦的同学们。本实录中的步骤仅在 HNU 校园网环境尝试过复现,其他学校不保证可以使用。同时,理论上也不是每一步都是必要的,仅仅表明这种方法可行。

绕过校园网流量计费不代表可以不花钱上网。事实上,一台性能还凑合的路由器花了我 200 元,再加上服务器,每个月也要花费 5 美元,还有大量的隐性时间成本。一旦校园网开始真的限制 40G,这篇文章的意义或许才显现出来;而为了绕过 20G 以上的收费,40G 每个月对你够用的话,并没有必要去大费周章。

建议有一定玩机基础与一点点网络基础的人仿照着做,或者在熟悉的朋友现场指导与帮助下实施。博主对可能造成的问题不负责任,请周知。

由于本文写得实在过于杂乱,现阶段建议去阅读 HNU 校园网 IPv6 免流教程 2.0

2021 年新年到了,学校的个人门户也换了一副新的模样。变的不止个人门户,而且还有流量监控页面。

现在,新版的流量监控可以查看每日流量消耗,甚至上了哪家的网站都能显示出来。缴费页面也出现了前几个月的欠费信息(虽然不能缴费),让人不禁担心随时会开始计费。

直到某日,某兄透露称,流量计费系统调试好了就会开始工作,我才开始考虑如何搞到更多的流量,毕竟 20G 每月免费、40G 每月封顶,实在是很恶心人,要是天天和宋浩老师一起学习的话怎么受得了啊。

运营商宽带固然是一个解决办法,但是价格太贵,带宽也并不高,还限制设备,所以它成了我的备选方案,而将重心放在绕开校园网的流量监测上。

阅读一下校园网使用规则,可以很容易地发现 IPv6 是免流量的。那么我们的思路就确定了:将终端全部连接至 IPv6 的远程服务器,绕过 IPv4,再由服务器代替我们访问外网,再把得到的数据传回来就可以了。虚拟专用网络等方式可以将所有流量加密,通过 IPv6 传输给远程服务器,这并不影响 IPv4 资源的访问。只是校内资源,比如抢课,需要把它关掉。

中国大陆并没有适合的双栈(IPv6+IPv4)VPS 提供商,再加上不能明说的原因,我选择了 Vultr 的西雅图服务器。5 美元一个月的主机,可以提供一个 IPv4、一个 IPv6(需要自己勾选),配置也够用,1000G 的流量近乎于无限。

将 SSR 客户端配置好,把电脑连上之后,似乎没有什么问题。在之后的宋浩测试(指看了一天宋浩)之中,发现观看 1080p 哔哩哔哩视频没有任何压力,同时校园网一天只计了 20M 流量,可能是 iPad 偷跑的(手机关闭 WiFi)。

这个结果无疑是很令人惊喜的,但是之后我遇到了一些问题。

电脑上的测试成功了,但是其他设备上的测试都遇到了些问题:连不上 IPv6 的 SSR。

后来发现,我的两台 Android 手机(小米 10 Pro 和运行 Pixel Experience 的小米 5s)全都无法获取校园网 IPv6 地址,而 iPad 则更难搞——国区搞不到 SSR 客户端。

我的流量需求,电脑当然占大头,但是手机和 iPad 需求量也很大。不看视频,手机一天能够使用 300M 左右;而 iPad 开启了 GoodNotes 的 iCloud 与 OneDrive 同步,一天下来最多可以消耗掉 2-3G 流量。当然,大部分是上行,这个问题不大。

也请求舍友使用 https://test-ipv6.com 测试 IPv6 获取情况,发现有一位舍友的手机获取到了 IPv6,而所有人都只有一台设备能获取。由此排除了 DHCPv6 不受 Android 设备支持的原因。

为了让所有设备都能免流校园网,我在考虑使用一个路由(或者类似路由的东西),广播一个全局经过 IPv6 的网络。我考虑过用备用机当热点,手机接收校园网 WiFi 信号,全局开 SSR,然后将这个隧道经由热点分享出去。手机功耗够低,不太引人注目,而且性能够强。但是缺点也很明显:不够稳定,设备一多就不太好。

于是我买了一台小米 AC2100 路由器,通过有线连接学校网络。AC2100 是小米路由器的口碑翻身之作,5GHz 信号覆盖据说非常不错,也有大量的第三方固件,而第三方固件可以支持安装 SSR 等插件。同价位也有小米 AC2350,性能更强,但是第三方固件少;而价位更低的红米 AC2100(套娃机)和腾达 AC9,则主要因为外观的原因没有被我选中。

我选择使用 Padavan (也被称为老毛子)固件 [1]。不得不说,万能的恩山无线论坛真是什么关于路由器的玩意都有……

Padavan 主界面

刷入固件之后,能够很明显地感觉到信号好了非常多,即使在厕所也不会断连了。(笑)而在桌前,甚至可以达到 -30dbm。

我将路由器连入学校的网口,却发现网口并没有提供校园网拨号宽带,除非办理运营商的宽带业务。

正当我一筹莫展之时,我发现了 Padavan 固件设置中有一个 “无线桥接”,可以接收其他 WiFi 信号并作为 WAN,然后经过路由器再发射出去。

将 2.4GHz 和 5GHz 全部设为桥接之后,连接 SSR,就可以直接访问 Google 等外网了。但是即使能够设置全局通过 IPv6 的 SSR 访问网络,通过测速等一系列手段(IPv4 限速约 10Mbps,IPv6 无限速),还是发现有一部分流量无法通过 IPv6,而是通过校园网的 v4 访问的。

也就是说,这个时候只能把它当作全局访问外网的一个工具。

当我将电脑、手机、iPad 接入路由器的时候,发现了同样的问题:电脑可以访问 IPv6,而手机只有 v4 连接。兜兜转转,又回到了最开始的情况。

排查一下情况,发现在使用 IPv4 的 SSR 节点。当我切换到 IPv6 的 SSR 节点时,打开任何页面都遭到了 Connection Reset 。不得已只能切换回 IPv4 节点,而且电脑也无法访问国内网站。难道是 GFW List 的问题?或者,既然电脑是唯一一个能够访问 IPv6 的设备,会不会是 v6 和 v4 代理的问题……?

打开路由器的外网状态页面,发现外网 IPv6 地址根本无法获取。一番搜索之后发现了借由 NAPT66 获取内网与外网 IPv6 的方法 [2]。它是一个由北邮大佬开发的在 IPv6 环境下使用 NAT 的工具。在高级设置 - 外部网络 - IPv6 设置中,这样设置各选项。

IPv6 设置样例

其中,DNSv6 服务器可以自己选择,一些公共的 DNSv6 服务器可以在 这里 找到。

注意 “获取 IPv6 外网地址” 一定要选“从两端”,否则不能获取到外网地址![3]

然后到高级设置 - 系统管理 - 服务,打开 “启用 NAPT66” 然后重启路由器,应该就可以获取到 IPv6 地址了。

这里可以用 test-ipv6.com 获取 IPv6 连接情况。如果你已经连上 IPv6 互联网,那么

Android

iPad

电脑当然也没有问题了。

期间我的服务器 IPv6 地址突然 ping 不通了,然后等了半天多又好了,真的是玄学……

剩下的当然就是在路由器开启全局 SSR 了。请注意:如果你使用 SS 或者 V2ray,那么可能需要一些配置才能用 IPv6 连接;SSR 则原生支持 IPv6。

导入 SSR 之后,记得手动切换成 SSR 协议,然后检查一下协议插件和混淆插件。Padavan 的 SSR 设置似乎有点反人类。

不过似乎连接之后,仍会产生 IPv4 下载流量,可以在 “系统管理” 的“控制台”中执行 iptables -P INPUT DROP 如下命令

来禁用 IPv4 下载。或者你也可以在系统管理 - 服务开启 SSH,使用 SSH 客户端执行命令。

即使有一点点 v4 上传流量也没关系,毕竟不收费。理论上,所有流量都应该走 v6 了。

到此,主要内容就基本完成了。只要是透过路由器连接的网络,都可以免流;而对于宿舍之外,无法自行部署路由器的地方,建议搭配大流量手机卡使用。或者也可以用校园网——如果你用流量不是很多的话。如果连着校园网时能通过上述的那个网站查询到你的 IPv6 地址,那么开一个全局 SSR 也是不错的选择。我的 iPad 则是一直连着校园网,因为绝大部分的流量是笔记备份(上传流量),所以无需担心流量问题。

未来如果 IPv6 全面普及,也许就不需要再通过 SSR 了,只需要那句 iptables 命令就可以了……SSR 的作用,只是保证 IPv4 only 的网站正常访问。

有时候会遇到路由器无法获取到 IPv6 地址的情况。这时在前面给路由器刷入的 Breed 就有用处了:重启进 Breed 恢复控制台,修改设备的 MAC 地址(最好都改改),一般能够重新获取到 IPv6。

可以使用 MAC 地址生成器 生成地址,还可以使用 MAC 地址查找 来获取到特定制造商的地址前缀(如果在 IEEE 注册了,而且存在于网站的数据库中),比如 Apple 的前缀之一是 0010FA,神舟电脑 ODM 蓝天的前缀是 0090F5。

也可以使用 我写的 MAC 地址生成器 直接生成一批不同的 MAC 地址。

现存问题

现在 SSR 仍然会有间歇的断开现象,而且一断就很久连不上。但就如同我的离散数学老师说的,“计算机不存在玄学问题”,我只能说不知道为什么了……

初期也出现过一开全局就特别慢的现象,还以为是路由器性能不足,后来速度突然提升,也不知道这个是为啥。

参考文献

  1. 红米 (小米)AC2100 无需 Telnet 刷入 Breed 和 Padavan 固件教程 - 恩山无线论坛
  2. 校园网路由器后设备使用 ipv6 经验分享 - 知乎
  3. h 大老毛子 ipv6 的 wan 口地址获取不到 - 恩山无线论坛
许可证:CC BY-SA 4.0
最后更新于 Jun 12, 2023 19:53 +0800