fix(脚本):端口跳跃添加ipv6

端口跳跃添加ipv6规则
pull/1073/head
tiffany-929 2024-07-22 21:53:16 +08:00
parent a6fb0f1898
commit ed200172d5
1 changed files with 17 additions and 5 deletions

View File

@ -3198,9 +3198,10 @@ hysteriaPortHopping() {
hysteriaPortHopping hysteriaPortHopping
else else
echoContent green "\n端口范围: ${hysteriaPortHoppingRange}\n" 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 allowPort "${portStart}:${portEnd}" udp
echoContent green " ---> 端口跳跃添加成功" echoContent green " ---> 端口跳跃添加成功"
else else
@ -3213,20 +3214,31 @@ hysteriaPortHopping() {
# 读取端口跳跃的配置 # 读取端口跳跃的配置
readHysteriaPortHopping() { readHysteriaPortHopping() {
if [[ -n "${hysteriaPort}" ]]; then 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=
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) portHoppingStart=$(echo "${portHopping}" | cut -d ":" -f 1)
portHoppingEnd=$(echo "${portHopping}" | cut -d ":" -f 2) portHoppingEnd=$(echo "${portHopping}" | cut -d ":" -f 2)
fi 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 fi
} }
# 删除hysteria2 端口跳跃iptables规则 # 删除hysteria2 端口跳跃iptables&ip6tables规则
deleteHysteriaPortHoppingRules() { deleteHysteriaPortHoppingRules() {
iptables -t nat -L PREROUTING --line-numbers | grep "mack-a_hysteria2_portHopping" | awk '{print $1}' | while read -r line; do 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 iptables -t nat -D PREROUTING 1
done 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端口跳跃菜单 # hysteria2端口跳跃菜单