使用 GL.iNet 出品的路由器进行校园网共享网络的教程

SteveXMH大约 4 分钟GL.iNet编程OpenWRT

警告:本文仅作学习记录留档用途,请勿用于非法牟利甚至违法用途,否则后果自行承担

本文为了能够持续留档不被不可抗力影响导致无法查看,将会被备份到网络档案库中,届时大家可以自行搜索查询

因为本人购买的是他们家的路由器来实现校园网共享(给自己树莓派挂机器人和自己本体电脑用),所以特别在这里留下笔记,方便以后留给有缘人来实现网络自由。当然理论上其实各个支持刷入 OpenWRT 的路由器都能使用本方法配置,具体看大家的实际情况了。

材料购买

通过共享网络,你可以为

第 1 步:MAC 克隆到主要的路由器管理用电脑

因为校园网需要鉴权登录,为了尽量避免麻烦先把路由器的 MAC 地址与主管理电脑的 MAC 调整为一致,方便突发意外时快速拆解重接主电脑到校园网上。

输入 http://192.168.8.1/open in new window 进入路由器管理页面,在配置好相关设置之后点击 更多设置 -> MAC 地址克隆:

更多设置 -> MAC 地址克隆
更多设置 -> MAC 地址克隆

之后调整为本机 MAC 应用即可

第 2 步:配置 LuCI 和 Privoxy 网络代理隐藏 User Agent 头

此处采用的是 LilyNas 大佬的博客文章open in new window来配置的,这里稍微整理一下总结一下步骤

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 网络代理open in new window

在 访问控制 子页面里:

  • 修改 Listen addresses 为 192.168.8.1:8118
  • 修改 Permit access 为 192.168.8.0/24
访问控制 子页面
访问控制 子页面

在 杂项 子页面里:

  • 勾选 Accept intercepted requests
杂项 子页面
杂项 子页面

接下来使用 WinSCP 连接到路由器,然后前往 /etc/privoxy 目录,修改 user.actionuser.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 网络代理open in new window 页面,在 系统 子页面里启动 Privoxy,如果显示了 PID 则表示代理已正常运行。 如果没有,请在 日志查看器 里查阅错误日志,在评论区里评论,让大家帮你解决一下问题。

Privoxy 网络代理
Privoxy 网络代理

进入 OpenWRT 网络 -> 防火墙 -> 自定义规则open in new window,在原内容尾部加入以下信息:

# 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 检测网站open in new window检测头部系统信息是否能和电脑一致

Warning 警告:你可以先在电脑上测试,否则如果一旦不能成功修改 UA 极有可能被校园网检测到共享流量而被断网甚至封禁!

至此防检测基本完成,如果路由器性能允许也可以直接使用诸如 Clash 或 V2Ray 来全局代理,免去配置 Privoxy 的问题,这里因为路由器性能所限就不做介绍了。