Qwrt配置教程

Qwrt固件如有需要,点击固件,可自行下载安装,但请勿用于商业用途和传播,转载文章请注明来自罐頭

ⓘ 如果你用的是Qwrt固件,那么你可以用这个教程来配置你的路由器。

SQM Qos智能队列配置

食用SQM Qos智能队列你可以启用流量整形,更好的混合(公平队列)主动列队管理(AQM)并设置网口

在QWRT的SQM设置中,不同的队列管理算法(fq_codel、cake、sfq、pie和codel)有不同的的特点和场景,以下是这种常见的队列管理算法的介绍:

  1. fq_codel:fq_codel是一种基于令牌桶的队列管理算法,结合了公平队列和延迟控制,通过公平队列和codel主动管理队列来减少流量竞争和网络拥塞。适合大多数家庭网络场景,能有效减少延迟。
  2. cake:cake是一种专为WiFi设计的队列管理算法,它通过动态调整数据包传输速率来优化WiFi性能。cake支持多队列分类和优先级管理,可以自动识别和优化不同类型的流量。
  3. sfq:sfq是一种基于随机公平队列的算法,避免单一流量占用过多宽带;简单哟有效,适合小型网络。
  4. pie:pie是一种基于比例积分误差的算法,类似于codel,但更侧重于动态调整;通过预测队列长度来提前丢弃数据包,避免延迟增加。
  5. codel:codel是一种基于控制延迟的算法,主动队列管理算法,专注于减少延迟,通过丢弃数据包来避免缓冲区膨胀,但没有公平队列,可能多用户场景下表现不佳。

队列脚本模块,用于管理网络流量脚本

  1. layer_cake.qos食用cake作为队列管理,同时替代htb作为整形器和fq_codel作为叶子队列。允许对不同的类型流量整形,并支持优先级分类。
  2. piece_of_cake.qos同样食用cake作为队列管理,但配置非常简单,不涉及复杂的优先级分类,直接食用cake的默认配置。
  3. simple.qos食用默认的队列管理算法(通常是fq_codel);提供三层次优先级的带宽方案。
  4. simplest_tbf.qos使用tbf作为简单的速率限制器,限制器上默认附加队列算法,不支持优先级
  5. simplest.qos使用htb作为速率限制器,默认的队列管理算法,不支持优先级。

校园网防检测

QWRT大雕固件大概从24,9便是决定后续所出的固件都是编译好UA2F所需的环境

可能存在的检测方式:

  1. 基于 IPv4 数据包包头内的 TTL 字段的检测(固定TTL)
  2. 基于 HTTP 数据包请求头内的 User-Agent 字段的检测(使用UA2F)
  3. 基于 IPv4 数据包包头内的 Identification 字段的检测(rkp-ipid 设置 IPID)
  4. 基于网络协议栈时钟偏移的检测技术(统一时间)
  5. Flash Cookie 检测技术(iptables 拒绝 AC 进行 Flash 检测 ,现在已经用不到了,flash都已经过时了,谁还用flash)
  6. DPI (Deep Packet Inspection:深度包检测技术 ,非常耗费性能,学校一般不会开启,如果启用,只能走隧道加密)

如何安装UA2F

有一些固件(如部分新版QWRT,immortalwrt,istoreos等)它是不直接带UA2F的,那么如何使用它呢

首先刷新软件包目录或者命令行执行opkg update,然后检查已安装软件包,搜索nfqueue,如果没有任何东西,你可以换一个固件或者使用ua3f(详见https://blog.sunbk201.site/posts/ua3f/),因为这个重要依赖是在内核编译的时候放进去的,不能通过外源安装,如果强行安装ua2f,要么提示缺依赖爆红,要么插件不起作用。

如果里面有iptables-mod-nfqueue和kmod-ipt-nfqueue 在自定义软件源中添加一行

src/gz openwrt_kiddin9 https://dl.openwrt.ai/packages-23.05/aarch64_cortex-a53/kiddin9

提交,然后刷新软件包,搜索ua2f,会弹出来ua2f和luci-app-ua2f,点击安装luci-app-ua2f,ua2f会自动被随着安装好,然后打开服务,然后前三项开启,后两项关闭

注意:必须关闭所有软硬件流量分载(kwrt(opai编译的固件)防火墙和turboacc里面有取

消勾选按钮,QWRT比如qca-nss-ecm,在系统-启动项中先关闭然后再禁用,hwnat同理,然后在Turbo ACC网络加速中禁用全锥形NAT,其他两个bbr和dns缓存可以打开)

此外,你还可以安装quickstart和luci-app-quickstart为其适配istoreos界面,方法都很类似,参见https://www.right.com.cn/forum/thread-8291884-1-1.html

上面环境配置好之后然后再打开防火墙,输入
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

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

#防时钟偏移检测

iptables -t nat -N ntp_force_local

iptables -t nat -I PREROUTING -p udp --dport 123 -j ntp_force_local

iptables -t nat -A ntp_force_local -d 0.0.0.0/8 -j RETURN

iptables -t nat -A ntp_force_local -d 127.0.0.0/8 -j RETURN

iptables -t nat -A ntp_force_local -d 192.168.0.0/16 -j RETURN

iptables -t nat -A ntp_force_local -s 192.168.0.0/16 -j DNAT --to-destination 192.168.1.1

#通过 iptables 修改 TTL 值 数字为需要的修改的ttl值

iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64

#iptables 拒绝 AC 进行 Flash 检测

iptables -I FORWARD -p tcp --sport 80 --tcp-flags ACK ACK -m string --algo bm --string " src=\"http://1.1.1." -j DROP

如果你加入了IPID模块,则还要增加

#若没有加入rkp-ipid模块,此部分不需要加入

iptables -t mangle -N IPID_MOD

iptables -t mangle -A FORWARD -j IPID_MOD

iptables -t mangle -A OUTPUT -j IPID_MOD

iptables -t mangle -A IPID_MOD -d 0.0.0.0/8 -j RETURN

iptables -t mangle -A IPID_MOD -d 127.0.0.0/8 -j RETURN

#由于本校局域网是A类网,所以我将这一条注释掉了,具体要不要注释结合你所在的校园网

#iptables -t mangle -A IPID_MOD -d 10.0.0.0/8 -j RETURN

iptables -t mangle -A IPID_MOD -d 172.16.0.0/12 -j RETURN

iptables -t mangle -A IPID_MOD -d 192.168.0.0/16 -j RETURN

iptables -t mangle -A IPID_MOD -d 255.0.0.0/8 -j RETURN

iptables -t mangle -A IPID_MOD -j MARK --set-xmark 0x10/0x10

最后配置一下ntp服务器

  • 进入 OpenWRT 系统设置, 勾选 Enable NTP client(启用 NTP 客户端)和 Provide NTP server(作为 NTP 服务器提供服务)

  • NTP server candidates(候选 NTP 服务器)四个框框分别填写 ntp1.aliyun.comtime1.cloud.tencent.comstdtime.gov.hkpool.ntp.org

  • 点击同步浏览器时间一次

上面所有参数配置完之后输入该网站ua.233996.xyz验证防检测效果,如果一串fffffffff则成功

如果路由器防火墙是firewall4(nftables)怎么办呢
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#将部分命令转换一下

nft add rule ip nat prerouting udp dport 53 counter redirect to:53

nft add rule ip nat prerouting tcp dport 53 counter redirect to:53

nft add chain ip nat ntp_force_local '{ type nat hook prerouting priority 0 ; }'

nft add rule ip nat prerouting udp dport 123 counter jump ntp_force_local

nft add rule ip nat ntp_force_local ip daddr 0.0.0.0/8 counter return

nft add rule ip nat ntp_force_local ip daddr 127.0.0.0/8 counter return

nft add rule ip nat ntp_force_local ip daddr 192.168.0.0/16 counter return

nft add rule ip nat ntp_force_local ip saddr 192.168.0.0/16 counter dnat to 192.168.1.1

nft add rule ip mangle postrouting counter ttl set 64

nft add rule ip filter forward tcp sport 80 tcp flags & ack ack counter string match " src=\"http://1.1.1." algo bm drop

锐捷认证

锐捷认证有两种插件,一种是使用MentoHUST,另一种是使用minieap

MentoHUST

minieap