From 6765984a4c70ae4498f2eaf1ea816a416367e685 Mon Sep 17 00:00:00 2001 From: Joee <32849562+Joee-D@users.noreply.github.com> Date: Sat, 29 Jul 2023 01:05:36 +0800 Subject: [PATCH] luci: fix tproxy nftable rules problems --- luci-app-passwall/root/usr/share/passwall/nftables.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/luci-app-passwall/root/usr/share/passwall/nftables.sh b/luci-app-passwall/root/usr/share/passwall/nftables.sh index 26350926d..e963b733e 100755 --- a/luci-app-passwall/root/usr/share/passwall/nftables.sh +++ b/luci-app-passwall/root/usr/share/passwall/nftables.sh @@ -297,7 +297,9 @@ load_acl() { [ "$udp_proxy_drop_ports" = "default" ] && udp_proxy_drop_ports=$UDP_PROXY_DROP_PORTS [ "$tcp_redir_ports" = "default" ] && tcp_redir_ports=$TCP_REDIR_PORTS [ "$udp_redir_ports" = "default" ] && udp_redir_ports=$UDP_REDIR_PORTS - + [ "$tcp_no_redir_ports" = "1:65535" ] && tcp_proxy_mode="disable" + [ "$udp_no_redir_ports" = "1:65535" ] && udp_proxy_mode="disable" + tcp_node_remark=$(config_n_get $TCP_NODE remarks) udp_node_remark=$(config_n_get $UDP_NODE remarks) [ -s "${TMP_ACL_PATH}/${sid}/var_tcp_node" ] && tcp_node=$(cat ${TMP_ACL_PATH}/${sid}/var_tcp_node) @@ -354,7 +356,7 @@ load_acl() { } [ "$tcp_no_redir_ports" != "disable" ] && { - 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 $nft_prerouting_chain ${_ipt_source} ip protocol tcp $(factor $tcp_no_redir_ports "tcp dport") counter return comment \"$remarks\"" nft "add rule inet fw4 PSW_MANGLE_V6 comment ${_ipt_source} meta l4proto tcp tcp dport {$tcp_no_redir_ports} counter return comment \"$remarks\"" msg2="${msg2}[$?]除${tcp_no_redir_ports}外的" } @@ -419,8 +421,8 @@ load_acl() { msg2="${msg}使用UDP节点[$udp_node_remark] [$(get_action_chain_name $udp_proxy_mode)]" msg2="${msg2}(TPROXY:${udp_port})代理" [ "$udp_no_redir_ports" != "disable" ] && { - 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 PSW_MANGLE_V6 meta l4proto udp ${_ipt_source} $(factor $udp_no_redir_ports "udp dport") counter return 2>/dev/null + nft "add rule inet fw4 PSW_MANGLE meta l4proto udp ${_ipt_source} $(factor $udp_no_redir_ports "udp dport") counter return comment \"$remarks\"" + nft "add rule inet fw4 PSW_MANGLE_V6 meta l4proto udp ${_ipt_source} $(factor $udp_no_redir_ports "udp dport") counter return comment \"$remarks\"" 2>/dev/null msg2="${msg2}[$?]除${udp_no_redir_ports}外的" } msg2="${msg2}所有端口"