xiaorouji / openwrt-passwall

7.02k stars 2.62k forks source link

[Bug]: 在使用nft规则,且TCP代理方式为TPROXY时,若默认代理模式为不代理,则路由器本机代理模式不起作用 #2131

Closed EdiTurn closed 1 year ago

EdiTurn commented 1 year ago

描述您遇到的bug

luci-app-passwall 版本为 4.55,源码来源于 immortalwrt 仓库,编译时仅选择 nftables 规则,passwall 高级设置中,TCP 代理方式设置为 TPROXY. 当”TCP 默认代理模式“选择”不代理”,无论“路由器本机 TCP 代理模式”选择“全局模式”、“GFW列表”还是“中国列表以外”,路由器自身均无法代理。

复现此Bug的步骤

  1. 在 passwall 的高级设置中,将TCP代理方式设置为TPROXY
  2. 在 passwall 模式设置中,TCP 默认代理模式选项设置为不代理路由器本机 TCP 代理模式设置为全局模式GFW列表中国列表以外
  3. 在passwall首页中,Google、Github、Instagram 的测试结果均为连接失败;在终端下 curl www.google.com 长时间没有结果返回。

您想要实现的目的

在使用 nft 和 tproxy 代理方式时,路由器本机代理模式能正常起作用

日志信息

2022-10-10 13:11:19: 删除相关防火墙规则完成。 2022-10-10 13:11:19: 清空并关闭相关程序和缓存完成。 2022-10-10 13:11:20: 分析 Socks 服务的节点配置... 2022-10-10 13:11:20: - Socks节点:domain:8443,启动 0.0.0.0:8089 2022-10-10 13:11:20: 检测fw4防火墙,使用nftables进行透明代理,一些不支持nftables的组件如smartdns分流等将不可用。 2022-10-10 13:11:20: TCP节点:domain:8443,监听端口:1041 2022-10-10 13:11:20: 过滤服务配置:准备接管域名解析... 2022-10-10 13:11:20: - 域名解析:dns2tcp + 使用(TCP节点)解析域名... 2022-10-10 13:11:20: * 请确认上游 DNS 支持 TCP 查询,如非直连地址,确保 TCP 代理打开,并且已经正确转发! 2022-10-10 13:11:20: - 节点列表中的域名(vpsiplist):10.0.0.1 2022-10-10 13:11:20: - 域名白名单(whitelist):10.0.0.1 2022-10-10 13:11:20: - 节点订阅域名(blacklist):10.0.0.1 2022-10-10 13:11:20: - 代理域名表(blacklist):127.0.0.1#15353 2022-10-10 13:11:20: - 防火墙域名表(gfwlist):10.0.0.1 2022-10-10 13:11:20: - 以上所列以外及默认:127.0.0.1#15353 2022-10-10 13:11:20: - PassWall必须依赖于Dnsmasq,如果你自行配置了错误的DNS流程,将会导致域名(直连/代理域名)分流失效!!! 2022-10-10 13:11:20: 开始加载防火墙规则... 2022-10-10 13:11:25: 加入负载均衡的节点到ipset[vpsiplist]直连完成 2022-10-10 13:11:25: 加入所有节点到ipset[vpsiplist]直连完成 2022-10-10 13:11:26: 加载路由器自身 TCP 代理... 2022-10-10 13:11:26: - 启用 TPROXY 模式 2022-10-10 13:11:26: - [0]将上游 DNS 服务器 1.1.1.1:53 加入到路由器自身代理的 TCP 转发链 2022-10-10 13:11:26: - [0],屏蔽代理UDP 端口:80,443 2022-10-10 13:11:26: 加载路由器自身 UDP 代理... 2022-10-10 13:11:26: 防火墙规则加载完成! 2022-10-10 13:11:28: 重启 dnsmasq 服务 2022-10-10 13:11:28: 配置定时任务:自动更新规则。 2022-10-10 13:11:28: 运行完成!

截图

No response

系统相关信息

Passwall 版本:4.55

其他信息

No response

hexsen929 commented 1 year ago

只要是tproxy代理就有这个问题,我也是这样的 我都把我issues关了,大佬说无法复现,看来不是我自己的问题哦,不知道会不会是immortalwrt的nftables问题哦。 我已经不保留配置完全重重刷固件了。问题依旧

jh0072110 commented 1 year ago

immortalwrt都上nftables了?

hexsen929 commented 1 year ago

immortalwrt都上nftables了?

immortalwrt master分支默认就是nftables

SakuraFallingMad commented 1 year ago

openwrt 22.03起就是fw4了,还是用21.02吧,nftables还在慢慢发育

ShanStone commented 1 year ago

fix image