From ed200172d58e43c15d0095d75c2048c4acfd70b6 Mon Sep 17 00:00:00 2001 From: tiffany-929 <303889140@qq.com> Date: Mon, 22 Jul 2024 21:53:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E8=84=9A=E6=9C=AC)=EF=BC=9A=E7=AB=AF?= =?UTF-8?q?=E5=8F=A3=E8=B7=B3=E8=B7=83=E6=B7=BB=E5=8A=A0ipv6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 端口跳跃添加ipv6规则 --- install.sh | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/install.sh b/install.sh index df4d5aa..e90f176 100644 --- a/install.sh +++ b/install.sh @@ -3198,9 +3198,10 @@ hysteriaPortHopping() { hysteriaPortHopping else echoContent green "\n端口范围: ${hysteriaPortHoppingRange}\n" - iptables -t nat -A PREROUTING -p udp --dport "${portStart}:${portEnd}" -m comment --comment "mack-a_hysteria2_portHopping" -j DNAT --to-destination :${hysteriaPort} + iptables -t nat -A PREROUTING -p udp --dport "${portStart}:${portEnd}" -m comment --comment "mack-a_hysteria2_portHopping_ipv4" -j DNAT --to-destination :${hysteriaPort} + ip6tables -t nat -A PREROUTING -p udp --dport "${portStart}:${portEnd}" -m comment --comment "mack-a_hysteria2_portHopping_ipv6" -j DNAT --to-destination :${hysteriaPort} - if iptables-save | grep -q "mack-a_hysteria2_portHopping"; then + if iptables-save | grep -q "mack-a_hysteria2_portHopping_ipv4" && ip6tables-save | grep -q "mack-a_hysteria2_portHopping_ipv6"; then allowPort "${portStart}:${portEnd}" udp echoContent green " ---> 端口跳跃添加成功" else @@ -3213,20 +3214,31 @@ hysteriaPortHopping() { # 读取端口跳跃的配置 readHysteriaPortHopping() { if [[ -n "${hysteriaPort}" ]]; then - if iptables-save | grep -q "mack-a_hysteria2_portHopping"; then + if iptables-save | grep -q "mack-a_hysteria2_portHopping_ipv4"; then portHopping= - portHopping=$(iptables-save | grep "mack-a_hysteria2_portHopping" | cut -d " " -f 8) + portHopping=$(iptables-save | grep "mack-a_hysteria2_portHopping_ipv4" | cut -d " " -f 8) portHoppingStart=$(echo "${portHopping}" | cut -d ":" -f 1) portHoppingEnd=$(echo "${portHopping}" | cut -d ":" -f 2) fi + + if ip6tables-save | grep -q "mack-a_hysteria2_portHopping_ipv6"; then + portHoppingIPv6= + portHoppingIPv6=$(ip6tables-save | grep "mack-a_hysteria2_portHopping_ipv6" | cut -d " " -f 8) + portHoppingStartIPv6=$(echo "${portHoppingIPv6}" | cut -d ":" -f 1) + portHoppingEndIPv6=$(echo "${portHoppingIPv6}" | cut -d ":" -f 2) + fi fi } -# 删除hysteria2 端口跳跃iptables规则 +# 删除hysteria2 端口跳跃iptables&ip6tables规则 deleteHysteriaPortHoppingRules() { iptables -t nat -L PREROUTING --line-numbers | grep "mack-a_hysteria2_portHopping" | awk '{print $1}' | while read -r line; do iptables -t nat -D PREROUTING 1 done + + ip6tables -t nat -L PREROUTING --line-numbers | grep "mack-a_hysteria2_portHopping" | awk '{print $1}' | while read -r line; do + ip6tables -t nat -D PREROUTING "$line" + done } # hysteria2端口跳跃菜单