xiaorouji / openwrt-passwall

7.21k stars 2.65k forks source link

[Bug]: 如果存在访问控制规则,主开关关闭后规则依然生效 #2532

Closed smallprogram closed 1 year ago

smallprogram commented 1 year ago

描述您遇到的bug

如果存在访问控制规则,主开关关闭后规则依然生效,例如:

  1. 访问控制开关开启,规则中某些IP全局代理
  2. 关闭passwall主开关
  3. 关闭日志中访问控制规则依旧生效 这样就导致passwall关闭了,访问控制中的IP段客户端依然走passwall的规则,进而导致这些设备无法上网

复现此Bug的步骤

  1. 访问控制开关开启,规则中某些IP全局代理
  2. 关闭passwall主开关
  3. 设备无法上网了

您想要实现的目的

修改建议: https://github.com/xiaorouji/openwrt-passwall/blob/21c49351eb3b0a91f411ecd02e724c6798fa7549/luci-app-passwall/root/usr/share/passwall/iptables.sh#L256-L259

https://github.com/xiaorouji/openwrt-passwall/blob/21c49351eb3b0a91f411ecd02e724c6798fa7549/luci-app-passwall/root/usr/share/passwall/nftables.sh#L267-L270

iptables与nftables中的是不是应该加上passwall主开关状态判定

日志信息

2023-04-24 17:30:29: 删除相关防火墙规则完成。
2023-04-24 17:30:30: 清空并关闭相关程序和缓存完成。
2023-04-24 17:30:30: HAPROXY 负载均衡...
2023-04-24 17:30:31:   + 入口 0.0.0.0:1181...
2023-04-24 17:30:31:   | - 出口节点:大劈雷1号.com:112,权重:5
2023-04-24 17:30:31:   | - 出口节点:大劈雷2号.com:112,权重:5
2023-04-24 17:30:31:   * 控制台端口:1188
2023-04-24 17:30:31: 开始加载防火墙规则...
2023-04-24 17:30:32: 加入负载均衡的节点到ipset[vpsiplist]直连完成
2023-04-24 17:30:32: 加入所有节点到ipset[vpsiplist]直连完成
2023-04-24 17:30:32: 访问控制:
2023-04-24 17:30:32:   - 备注【我的设备】,MAC【F4:2A:2D:34:02:34】,使用TCP节点[分流总节点] [全局代理](REDIRECT:1041)代理所有端口
2023-04-24 17:30:33:   - 备注【我的设备】,MAC【F4:2A:2D:34:02:34】,使用UDP节点[分流总节点] [全局代理](TPROXY:1051)代理所有端口
2023-04-24 17:30:33:   - 备注【我的设备】,MAC【F5:2A:2D:34:02:34】,使用TCP节点[分流总节点] [全局代理](REDIRECT:1041)代理所有端口
2023-04-24 17:30:33:   - 备注【我的设备】,MAC【F5:2A:2D:34:02:34】,使用UDP节点[分流总节点] [全局代理](TPROXY:1051)代理所有端口
2023-04-24 17:30:34: 防火墙规则加载完成!
2023-04-24 17:30:34: 运行完成!

截图

No response

系统相关信息

Passwall 4.65-2

其他信息

No response

xiaorouji commented 1 year ago

就是这样设计的

smallprogram commented 1 year ago

就是这样设计的

好吧,了解了

xiaorouji commented 1 year ago

https://github.com/xiaorouji/openwrt-passwall/issues/2303 https://github.com/xiaorouji/openwrt-passwall/commit/6e18728f6fad4bf434bab14d719ed1e9c0b455f8