Closed Joee-D closed 1 year ago
1.TPOXY模式,访问控制设置,设置某一段IP不走代理(TCP、UDP),TCP仍然会走代理 2.跳过全部端口模式下,生成了太多无用表项
1.访问控制配置 2.查看防火墙表项
设置为redir模式没问题,tproxy模式有问题
1.生成正确的TCP直连表项,当前看没有正确生成 https://github.com/xiaorouji/openwrt-passwall2/blob/main/luci-app-passwall2/root/usr/share/passwall2/nftables.sh 似乎是267行,tcp对于PSW_MANGLE没有生效,PSW_NAT下生效 nft "add rule inet fw4 $nft_prerouting_chain ${_ipt_source} ip protocol tcp tcp dport {$tcp_no_redir_ports} counter return comment \"$remarks\" udp是生效了的 nft add rule inet fw4 PSW_MANGLE meta l4proto udp ${_ipt_source} $(factor $udp_no_redir_ports "udp dport") counter return
nft "add rule inet fw4 $nft_prerouting_chain ${_ipt_source} ip protocol tcp tcp dport {$tcp_no_redir_ports} counter return comment \"$remarks\"
nft add rule inet fw4 PSW_MANGLE meta l4proto udp ${_ipt_source} $(factor $udp_no_redir_ports "udp dport") counter return
2.不应该出现如上标出的冗余表项。 passwall没有不代理tcp/udpd的tcp_proxy_mode、udp_proxy_mode配置,导致脚本中的跳过功能不生效,只能通过曲线设置不代理端口的方式设置,期望在不代理所有端口的模式下,(TCP、UDP分别)仅有如下两条规则
nft "add rule inet fw4 PSW_MANGLE ip protocol udp ${_ipt_source} counter return comment \"$remarks\"" nft "add rule inet fw4 PSW_MANGLE_V6 meta l4proto udp ${_ipt_source} counter return comment \"$remarks\"" 2>/dev/null
config acl_rule option enabled '1' option remarks 'Direct' option sources '192.168.1.10-192.168.1.100' option tcp_no_redir_ports '1:65535' option udp_no_redir_ports '1:65535' option tcp_redir_ports 'default' option udp_redir_ports 'default' option node 'default'
ip protocol tcp ip saddr 192.168.1.10-192.168.1.100 ip daddr 198.18.0.0/16 counter packets 0 bytes 0 jump PSW2_RULE comment "Direct" ip protocol tcp ip saddr 192.168.1.10-192.168.1.100 counter packets 30 bytes 3226 jump PSW2_RULE comment "Direct" meta l4proto tcp ip saddr 192.168.1.10-192.168.1.100 counter packets 30 bytes 3226 meta mark 0x00000001 tproxy ip to :1041 comment "Direct" ip protocol tcp ip saddr 192.168.1.10-192.168.1.100 counter packets 29 bytes 3186 return comment "Direct" meta l4proto udp ip saddr 192.168.1.10-192.168.1.100 counter packets 11 bytes 695 return ip protocol udp ip saddr 192.168.1.10-192.168.1.100 ip daddr 198.18.0.0/16 counter packets 0 bytes 0 jump PSW2_RULE comment "Direct" ip protocol udp ip saddr 192.168.1.10-192.168.1.100 jump PSW2_RULE comment "Direct" ip protocol udp ip saddr 192.168.1.10-192.168.1.100 counter packets 0 bytes 0 meta mark 0x00000001 tproxy ip to :1041 comment "Direct" ip protocol udp ip saddr 192.168.1.10-192.168.1.100 counter packets 0 bytes 0 return comment "Direct"
No response
Passwall2版本:1.17-2
建议: 1.支持passwall跳过udp代理、tcp代理的acl模式选择 2.或者重新设计跳过全部端口的逻辑
简单更改思路建议: 判断acl中 tcp_no_redir_ports如果为1:65535,设置tcp_proxy_mode=“disable” udp_no_redir_ports如果为1:65535,设置udp_proxy_mode=“disable” 这样行为应该就和passwall一致了
提错项目,改到passwall2
描述您遇到的bug
1.TPOXY模式,访问控制设置,设置某一段IP不走代理(TCP、UDP),TCP仍然会走代理 2.跳过全部端口模式下,生成了太多无用表项
复现此Bug的步骤
1.访问控制配置 2.查看防火墙表项
设置为redir模式没问题,tproxy模式有问题
您想要实现的目的
1.生成正确的TCP直连表项,当前看没有正确生成 https://github.com/xiaorouji/openwrt-passwall2/blob/main/luci-app-passwall2/root/usr/share/passwall2/nftables.sh 似乎是267行,tcp对于PSW_MANGLE没有生效,PSW_NAT下生效
nft "add rule inet fw4 $nft_prerouting_chain ${_ipt_source} ip protocol tcp tcp dport {$tcp_no_redir_ports} counter return comment \"$remarks\"
udp是生效了的nft add rule inet fw4 PSW_MANGLE meta l4proto udp ${_ipt_source} $(factor $udp_no_redir_ports "udp dport") counter return
2.不应该出现如上标出的冗余表项。 passwall没有不代理tcp/udpd的tcp_proxy_mode、udp_proxy_mode配置,导致脚本中的跳过功能不生效,只能通过曲线设置不代理端口的方式设置,期望在不代理所有端口的模式下,(TCP、UDP分别)仅有如下两条规则
日志信息
截图
No response
系统相关信息
Passwall2版本:1.17-2
其他信息
建议: 1.支持passwall跳过udp代理、tcp代理的acl模式选择 2.或者重新设计跳过全部端口的逻辑
简单更改思路建议: 判断acl中 tcp_no_redir_ports如果为1:65535,设置tcp_proxy_mode=“disable” udp_no_redir_ports如果为1:65535,设置udp_proxy_mode=“disable” 这样行为应该就和passwall一致了