前言
前段时间 UU 加速器更新了 v8.0.12 版本,支持了 OpenWrt 23.X 的 nftables 环境,官方说明:https://router.uu.163.com/app/html/online/baike_share.html?baike_id=5f963c9304c215e129ca40e8
但是,官方的说明文档中,要求防火墙全开,这就有点让人难以接受了。
依次进入【网络】 - 【防火墙】 - 将【入站数据】、【出站数据】、【转发】都改为接受,并且点击Accept保存
解决方法
既然 UU 加速器是使用 tun 设备来管理网络的,那我们可以针对 UU 创建的 tun 设备来设置防火墙规则。
可以看到,开启 UU 加速器后,系统会生成一个 tun163
的设备
那么就可以针对这个设备来设置防火墙规则了
在 【网络】 -> 【防火墙】 -> 【通信规则】中,添加三条规则
依次是:
- 允许 tun163 的入站数据
- 允许来自 tun163 的转发数据
- 允许转发到 tun163 的数据
根据我使用 PlayStation 5 的测试,不添加防火墙规则会造成 NAT 测试失败
添加第一条: 允许 tun163 的入站数据
后,NAT 测试成功。经过测试 GT7 可以正常进入围场,但是战地 2042 无法进入游戏。
添加第二条: 允许来自 tun163 的转发数据
后,战地 2042 可以正常进入游戏。其它联机游戏也能正常运行,但是使用 PS Remote Play 连接 PS5 时,会提示连接失败,需要添加第三条规则: 允许转发到 tun163 的数据
注意
UU 会在 /usr/bin 目录下找 xtables-nft-multi
,官方安装方法可能没问题,我是自己编译的时候把 UU 加进去的,需要自己手动复制一下
cp /usr/sbin/xtables-nft-multi /usr/bin/xtables-nft-multi
使用过程中发现访问 PlayStation 商店无法加载,结果看日志发现了 UU 用了这些地址导致了和 OpenClash 的冲突
解决方法:
在 【插件设置】 -> 【流量控制】 里的本地 IPv4 绕过地址中加入:
163.163.0.0/24
163.163.192.0/24
163.163.163.0/24
164.164.164.0/24
如果这里有更好的方法,欢迎补充
懒人包
修改文件版
如果你觉得 luci 界面太麻烦,可以直接修改 /etc/config/firewall
文件,添加如下内容:
config rule
option name 'Allow-uugamebooster-Input'
option src '*'
option target 'ACCEPT'
option direction 'in'
option device 'tun163'
list proto 'all'
config rule
option name 'Allow-uugamebooster-Forward-1'
option src '*'
option dest '*'
option target 'ACCEPT'
option direction 'in'
option device 'tun163'
list proto 'all'
config rule
option name 'Allow-uugamebooster-Forward-2'
option src '*'
option dest '*'
option target 'ACCEPT'
option direction 'out'
option device 'tun163'
list proto 'all'
开始愉快的玩耍吧!