Contents
早就了解到现在大部分的校园网是用「手机号码+密码」验证登录的,一般都是连接到校外的三大运营商(isp),在宿舍或者教学区有Wi-Fi覆盖。当然还有的学校可以直接拉网线,用自己的路由。我还了解到现在很多高校都采取了晚上「断电断网」的手段,导致很多大学生在周末都不能享受到通宵的快感,亦或是在晚上需要用网学习,都受到很大的影响。那么有没有办法解决呢?答案是肯定的~
交流群:Newlearnerの水群
我的思路
先说说这个想法是怎么产生的吧,一次无意闲逛贴吧的时候,我看见了校园网吧的一个帖子,标题叫「实现校园网免流,请加xxxx」。作为一个与多人合租的人,我看见了商机(开玩笑)。那么这个是怎么实现的?我当时想到了可能是ipv6,晚上回去之后仔细想了想,出来了一个简单的方案。
科普:什么是ipv6
IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议,号称可以为全世界的每一粒沙子编上一个网址。
由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
思路
刚好校园网就是ipv6的试点之一,而且目前是免费的。只要你的校园网有可用的ipv6,那么他就不受学校或者isp的登录验证系统管理。换句话说你的登录只是去验证和授权ipv4,而ipv6是不受限制的,亦不是你校园网的首选网络。我们只需要建立一个ipv6的代理服务器,实现ipv6到ipv6的端对端代理就可以了。即使你没有验证ipv4,但这并不影响ipv6的使用,即你的服务器向你提供上网流量,并通过ipv6传送到电脑上面。
注意:如果你的校园网是先通过验证,再给你分配ip地址,则此教程无效。一定要连接Wi-Fi之后立刻分配地址才行。
如何检验ipv6可用性
1、通过ipv6检测网站测试
传送门:https://test-ipv6.com/index.html.zh_CN
2、查看本地网络设置(有不一定表示可用)
macOS
「设置」—「网络」—「Wi-Fi」—「高级」—「TCP/IP」
Windows
「设置」—「网络」—「硬件属性」
如果没有,右键桌面「网络」—「属性」—「WLAN属性」,看TCP/ipv6是否打钩。
服务器部署
1、购买VPS
不想多说,vps供应商实在太多。不建议直接购买机场,因为需要修改一点配置文件,需要有vps控制权。
2、部署代理
有openvpn隧道和ss大法,个人推荐后者。
先安装ss,安装好之后,我们只能对ipv4进行代理,所以需要手动修改配置文件实现ipv4和ipv6全代理。
你问ss怎么装?加个tg群吧,回复“/ss”即可。
以秋水的安装脚本为例,我们需要打开ss的配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
独装版 Shadowsocks-Python 版: /etc/shadowsocks.json Shadowsocks-Go 版: /etc/shadowsocks/config.json 四合一版 Shadowsocks-Python 版: /etc/shadowsocks-python/config.json ShadowsocksR 版: /etc/shadowsocks-r/config.json Shadowsocks-Go 版: /etc/shadowsocks-go/config.json Shadowsocks-libev 版: /etc/shadowsocks-libev/config.json |
打开之后,修改成如下样式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
据秋水介绍他的libev版已经默认开启兼容ipv6,不建议用go版 python单端口: { "server":"::", "server_port":your_server_port, "local_address":"127.0.0.1", "local_port":1080, "password":"your_password", "timeout":300, "method":"your_encryption_method", "fast_open": false } python多端口: { "server":"::", "local_address":"127.0.0.1", "local_port":1080, "port_password":{ "9000":"password0", "9001":"password1", "9002":"password2", "9003":"password3", "9004":"password4" }, "timeout":300, "method":"your_encryption_method", "fast_open": false } |
到这里,重启一下shadowsocks服务即可。
实践与完善
免流
白天部署好代理服务器之后,我们就可以退出校园网登录了。退出之后网络应该是处于不可用状态,这个时候打开ss客户端,将ip地址填写为我们vps服务器的ipv6地址,其他照常。
保存之后开启全局模式,理论上你就可以上网了。(实际上相当于ipv4下的全局模式,因此涉及国内版权问题请另想办法)这样,我们不需要花钱登录验证,也可以享受到校园网服务了。
续流(不断网)
其实更多人应该对这方面更感兴趣,晚上断网之后彻底切断了ipv4的路由,不会分配内网ip给你了。但是你依然可以获得一个ipv6地址。如果你并不能获得或者直接断掉校园Wi-Fi(而不是没网),本教程不适用。
我们依然开启全局模式,由于ipv6到ipv6,上网完全没问题。前提是你有一个大流量的小鸡以及拥有断流之后的ipv6地址。
Q&A
Q:为什么开启ipv6代理,修改了配置之后网速慢了
A:据不完全了解,修改配置文件之后bbr可能会失效,重新安装即可。
Q:开启全局之后发现只可以访问支持ipv6的网站怎么办?
A:可能是你们学校断网后无ipv4地址,这个时候我们可以强制让所有应用和网页走ipv6代理,这样就可以实现访问仅支持ipv4网页和应用的需求了。
实现工具:Surge for mac的增强模式,proxifier等。如果你只是单纯的浏览网页,也可以在谷歌浏览器上面安装SwitchyOmega,新建「代理服务器」模式。特别地,对于一些由内置代理的软件(Spotify、telegram、QQ等),我们也可以在内置代理设置当中配置socks5代理。
ip:你的本机ip,默认127.0.0.1
端口:socks5监听端口,在Windows上面又叫做本地端口,一般由你的代理软件所决定。
Q:我在断流之后拥有ipv6,但是开了全局依然上不去。
A:那可能是你们学校在断网的时候同时关闭了ipv6的DNS服务器,指定一个DNS即可。
- 加入”Google Over IPv6”计划的DNS:
Hurricane Electric DNS
2001:470:20::2
2001:470:0:45::2
2001:470:0:78::2
2001:470:0:7d::2
2001:470:0:8c::2
2001:470:0:c0::2
2001:638:902:1::10
Google Public DNS
2001:4860:4860::8888
2001:4860:4860::8844
理论到此结束,请诸君验证之~
好文,解决了我部分问题,我这边酸酸乳通过纯v6连服务器后(v4需要认证就没登录)没法访问国内网站是怎么回事,访问国外网站就没问题
请问下网速不会受限于购买的vps吗
免费,VPS一年也好几百呢,还是比较差的配置的