使用 GL.iNet 出品的路由器进行校园网共享网络的教程
警告:本文仅作学习记录留档用途,请勿用于非法牟利甚至违法用途,否则后果自行承担
本文为了能够持续留档不被不可抗力影响导致无法查看,将会被备份到网络档案库中,届时大家可以自行搜索查询
因为本人购买的是他们家的路由器来实现校园网共享(给自己树莓派挂机器人和自己本体电脑用),所以特别在这里留下笔记,方便以后留给有缘人来实现网络自由。当然理论上其实各个支持刷入 OpenWRT 的路由器都能使用本方法配置,具体看大家的实际情况了。
材料购买
通过共享网络,你可以为
- GL.iNet 天猫旗舰店页面
- 本人购买的路由器:SFT1200(购买时是带适配器,折后价格为 219 人民币(购买日期 2022/09/21))
- 如果想要给全宿舍提供有线网络,可以选购一个交换机和一堆网线,但为了方便还是留一个网口给主管理电脑使用比较合适
第 1 步:MAC 克隆到主要的路由器管理用电脑
因为校园网需要鉴权登录,为了尽量避免麻烦先把路由器的 MAC 地址与主管理电脑的 MAC 调整为一致,方便突发意外时快速拆解重接主电脑到校园网上。
输入 http://192.168.8.1/ 进入路由器管理页面,在配置好相关设置之后点击 更多设置 -> MAC 地址克隆:
之后调整为本机 MAC 应用即可
第 2 步:配置 LuCI 和 Privoxy 网络代理隐藏 User Agent 头
此处采用的是 LilyNas 大佬的博客文章来配置的,这里稍微整理一下总结一下步骤
SSH 连接到路由器,慢慢敲下面的来安装所需的东西:
opkg update
opkg install luci
opkg install privoxy
opkg install luci-app-privoxy
opkg install luci-i18n-base-zh-cn
opkg install luci-i18n-privoxy-zh-cn
打开 LuCi 控制台,进入 Privoxy 网络代理
在 访问控制 子页面里:
- 修改 Listen addresses 为
192.168.8.1:8118
- 修改 Permit access 为
192.168.8.0/24
在 杂项 子页面里:
- 勾选 Accept intercepted requests
接下来使用 WinSCP 连接到路由器,然后前往 /etc/privoxy
目录,修改 user.action
和 user.filter
这两个文件:
user.action
文件,在尾部增加以下内容:
{+client-header-filter{androidfilter}}
/
user.filter
文件,在尾部添加以下内容:
CLIENT-HEADER-FILTER: androidfilter Replace all "Android" with "Windows"
s@\b(Android|iP\w+)\b@Windows NT@ig
之后回到 Privoxy 网络代理 页面,在 系统 子页面里启动 Privoxy,如果显示了 PID 则表示代理已正常运行。 如果没有,请在 日志查看器 里查阅错误日志,在评论区里评论,让大家帮你解决一下问题。
进入 OpenWRT 网络 -> 防火墙 -> 自定义规则,在原内容尾部加入以下信息:
# OpenWRT 防火墙自定义修改 TTL 值
iptables -t mangle -A PREROUTING -i eth0.2 -j TTL --ttl-set 64
iptables -t mangle -A PREROUTING -i br-lan -j TTL --ttl-set 64
# OpenWRT 防火墙自定义设置拒绝 AC 检测
iptables -I FORWARD -p tcp --sport 80 --tcp-flags ACK ACK -m string --algo bm --string " src=\"http://1.1.1." -j DROP
iptables -I FORWARD -p tcp -m tcp --sport 80 -m u32 --u32 "5&0xFF=0x7F" -j DROP
iptables -I FORWARD -p tcp -m tcp --sport 8000 -m u32 --u32 "5&0xFF=0x7F" -j DROP
iptables -I FORWARD -p tcp -m tcp --sport 8080 -m u32 --u32 "5&0xFF=0x7F" -j DROP
iptables -I FORWARD -p tcp -m tcp --sport 80 -m u32 --u32 "5&0xFF=0x80" -j DROP
iptables -I FORWARD -p tcp -m tcp --sport 8000 -m u32 --u32 "5&0xFF=0x80" -j DROP
iptables -I FORWARD -p tcp -m tcp --sport 8080 -m u32 --u32 "5&0xFF=0x80" -j DROP
# OpenWRT 防火墙自定义设置劫持 DNS 解析
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
# HTTP 头部 User-Agent 修改
iptables -t nat -N PrivoxyUA
iptables -t nat -A PREROUTING -i br-lan -p tcp -j PrivoxyUA
iptables -t nat -A PrivoxyUA -d 0.0.0.0/8 -j RETURN
iptables -t nat -A PrivoxyUA -d 10.0.0.0/8 -j RETURN
iptables -t nat -A PrivoxyUA -d 127.0.0.0/8 -j RETURN
iptables -t nat -A PrivoxyUA -d 169.254.0.0/16 -j RETURN
iptables -t nat -A PrivoxyUA -d 192.168.1.0/24 -j RETURN
iptables -t nat -A PrivoxyUA -d 172.16.0.0/12 -j RETURN
iptables -t nat -A PrivoxyUA -d 192.168.0.0/16 -j RETURN
iptables -t nat -A PrivoxyUA -d 224.0.0.0/4 -j RETURN
iptables -t nat -A PrivoxyUA -d 240.0.0.0/4 -j RETURN
iptables -t nat -A PrivoxyUA -p tcp --dport 80 -j REDIRECT --to-ports 8118
重启路由器,手机连接路由器网络,通过 UA 检测网站检测头部系统信息是否能和电脑一致
Warning 警告:你可以先在电脑上测试,否则如果一旦不能成功修改 UA 极有可能被校园网检测到共享流量而被断网甚至封禁!
至此防检测基本完成,如果路由器性能允许也可以直接使用诸如 Clash 或 V2Ray 来全局代理,免去配置 Privoxy 的问题,这里因为路由器性能所限就不做介绍了。