长沙理工大学无线网络多设备共享解决方案

本文内容已过时

引用

本文大部分内容可参考:
长沙理工大学:校园网解除共享限制
路由器刷机参考教程(非本次使用):
极路由Enjoy 1200 HC5861B OpenWRT 固件 Rosy主题
如何下载固件:
padavan固件下载列表

原因与现象

为了维护运营商利益,校园网设置了一些检测与规则,对同时登录校园网的设备数量作出了严格的限制,并且不允许终端用户进行网络共享。
具体表现为,当用户使用电脑、手机等的热点、无线信号桥等方法时,只要有第二台设备联网,就会在一定条件下被检测发现,随后此账号将无法访问网络,并自动将网页重定向到登录界面(或1.1.1.3,但这个页面不能加载出来)。

原理

根据引用文章,可以得知共享检测主要通过80端口下的HTTP报文中浏览器UA的区别来实现,可以看到这个限制条件比较多,而且检测周期并不短;因此会出现稳定共享的时间时长时短的现象。
此外,还可能会通过其他方法检测,包括但不限于TTL、IPID、侵入式检测等等。

准备工作

为实现稳定的校园网共享,首先需要选择正确的系统:必须使用OpenWRT或Pavanda等软路由系统。
本文基于Pavanda操作。

路由选型

如果你还没有软路由或者合适的路由器,那么选购路由器就是第一步了。我最终的选择是二手极路由Enjoy 1200,型号HC5861B。极路由虽然已经倒闭,但它的产品可玩性和性价比确实是相对较好的。
淘宝入手价格40元,由商家代刷Breed。
需要注意的是,这一款路由器不支持USB,电源接口也是12V DC而非5V Micro-USB,如果有这两个功能需求的话可以考虑极路由3或其他产品。

检查与刷机

收货后先简单清理积灰,检查网口是否有积聚大量灰尘,天线是否正常连接、旋转。
随后插入电源开机,连接电脑网口到路由器LAN 1口,等待IP自动配置完成,进入默认网关的地址(本次为192.168.132.1,极路由原厂固件可能为192.168.199.1)
使用默认的管理员账号密码(admin)登录后,发现这台机器已经刷好了老毛子固件(Padavan)了:
54de7cdf47ce563bb65d5c42e282e331.png
所以省下了很多时间,虽然我的计划是使用OpenWrt,但Padavan本质上是一样的。
如果需要刷机教程,请参考引用文章,或直接搜索路由型号+OpenWrt,即可找到一些刷机教程。

网络拓扑

15828e53952c884a9b9f9f1cc11b7c77.png
我的目标是达成这样的拓扑,实际上就是一个无线“路由”,也就是将无线信号作为WAN,执行NAT和防火墙规则后建立子网,设备均接入子网中。

基础配置

路由器接入无线网络

直接参考这张图即可:
d6035076edef8fc78299e3af690eea62.png
2.4G和5G只能有一个用于AP-Client,另一个必须禁用桥接。
需要注意的是,路由器需要用一个频段接入校园网,另一个频段用于发射信号;虽然可以选择client+AP来实现单频复用,实际上只用5GHz的话效果也不错,但我收到的这台路由器不知道为何5G能力极其孱弱(无遮挡50cm距离下client都不能跑满协商速率),而2.4G能力极强(对周围的无线鼠标、蓝牙手柄等造成严重干扰),因此这里不使用这种方法。
补充:后面换了一台JCG Q20,TB到手60块,不仅支持WiFi6而且性能远强于前面买的极路由,有需要的同学可以参考购买。这玩意就完全可以5GHz同时用于client和AP了,2.4GHz只用来保留兼容性即可。

懒得删改的原文:
这里还涉及到频段的选择,最开始我使用2.4G接入校园网、5G用于共享,但随后我发现无线鼠标的工作会受到较严重的干扰(接收器也工作在2.4G频率上),因此后续改为5G接入、2.4G共享。
此外,网络性能也是一个需要关心的重点,5GHz总能提供更优秀的表现,但这里我们只能用于一个目的;由于我平时主要使用电脑上网,而电脑是通过网线连接到路由器的,因此选择5G接入是更好的。实际上,这种情况下2.4G的表现也不差,宿舍面积小、干扰少,多次测试下来延迟在30ms以内,速度8-9MB/s,可以满足1080P视频观看和正常游戏。

修改网络配置

如果对内网网段不敏感(例如你只想要正常上网,平时不开发网页、软件、游戏、不做任何测试,那么这一段可以跳过)
在左侧选择外部网络(WAN),可参考下图配置:
e613ab56c89c86b939bf67ab5601fc42.png

LAN配置同理,设置想要的网段、DNS、静态路由等。

通过NAT连接ipv6

由于我希望使用到正常的ipv6,故单独在此写出方案;对于绝大多数日常网络而言,关闭ipv6可能反而有助于提高稳定性。
参考文章:校园网环境下Openwrt配置ipv6教程——以nat6为例

  • NAT是什么?
    NAT是最早出现在ipv4中的技术;由于ipv4地址空间有限(总约42亿个),无法满足爆炸式增长的网络设备入网需求,因此出现了网络地址转换(Network Address Translation)技术;它的作用就是缓解ipv4地址消耗,尽量在ipv6部署完全之前满足原有上网需求。
    它的工作原理很简单,我们平时使用路由器上网的时候就至少会有一次NAT过程,路由器将一个外网(全球唯一)的地址映射到多个内网地址(通常为192.168.x.x或10.x.x.x),这样一个路由器下的设备就可以共用一个外网IP,大幅缓解了地址消耗,同时解决了耗尽的影响。
    NAT有助于提高网络安全性,因为路由器上可以部署非常高效的防火墙,也可以天然阻断所有传入连接,但这样的技术也会带来问题;最大的问题无疑就是点对点连接变得不可能,因此游戏联机、网站建设等都会变得很困难。
    在我的使用场景下,Minecraft联机是最常见的点对点连接应用,此前的解决方案均为FRP内网穿透(见前文章)。

  • 为什么我一定要有ipv6连接?
    很简单,ipv6地址池极大,运营商也并未刻意限制用户的ipv6访问(至少我没有遇到过哪个运营商在ipv6上用NAT的)(但是教育网除外)
    因此,大多数用户只要开启了ipv6,就能获取到公网IP。这对于点对点连接来说无疑是非常有帮助的。

  • 教育网干了什么?
    一般运营商在家用、商用宽带里分配的ipv6都带有一个/64的前缀,这意味着路由器拿到的地址里面还包含了大量的可用地址(约1800万兆个地址;1兆=1万亿(也就是18446744073709551616)),用于给后续设备分配ipv6地址;
    但教育网的ipv6则直接分配了/128的地址,这就意味着它给你的地址只能用于一台设备。也就是说,想要共享ipv6,必须使用NAT。

如何使用NAPT66

NAPT66模块是padavan使用的一个解决方案,所谓NAPT其实是现在NAT的正确称呼,也就是Network Address Port Translation。因为一对多NAT的情况下涉及到端口转换,相当于用端口数换IP数,所以NAPT才是准确的说法。
请按照你的路由器型号查找最新的padavan固件,并进行固件更新;在新版PDCN固件中直接内置了NAPT66的一键开关和配置,只需在ipv6设置页面底部点击一键填写配置,然后重启路由器和电脑网卡即可使用。


更多参考信息

如果你的路由器使用的固件特殊,没有内置一键NAPT66,则可参考:Padavan路由下使用NAPT66模块访问移动IPV6网络


长沙理工大学无线网络多设备共享解决方案
https://zjxdiu.github.io/blog/Network_progress_CSUST/
作者
zjxdiu
发布于
2023年2月24日
许可协议