Browse Source

force redirect localhost DNS requests to 127.0.0.1

zfl9 8 năm trước cách đây
mục cha
commit
942877c0d3
1 tập tin đã thay đổi với 6 bổ sung0 xóa
  1. 6 0
      ss-tproxy

+ 6 - 0
ss-tproxy

@@ -662,6 +662,7 @@ tproxy_global*|tproxy_chnroute*)
     fi
 
     iptables -t nat -A OUTPUT -p tcp -j SS-TCP
+    iptables -t nat -A OUTPUT -p udp --dport 53 ! -d 127.0.0.1 -j REDIRECT --to-ports 53
     for intranet in "${iptables_intranet[@]}"; do
         if [[ "$mode" == *tcp ]]; then
             iptables -t nat -A PREROUTING -p tcp -s $intranet -j SS-TCP
@@ -701,6 +702,7 @@ tproxy_gfwlist*)
     fi
 
     iptables -t nat -A OUTPUT -p tcp -j SS-TCP
+    iptables -t nat -A OUTPUT -p udp --dport 53 ! -d 127.0.0.1 -j REDIRECT --to-ports 53
     for intranet in "${iptables_intranet[@]}"; do
         if [[ "$mode" == *tcp ]]; then
             iptables -t nat -A PREROUTING -p tcp -s $intranet -j SS-TCP
@@ -719,6 +721,7 @@ tun2socks_global*|tun2socks_chnroute*)
     iptables -t mangle -F PREROUTING
     iptables -t mangle -F TUN2SOCKS &>/dev/null
     iptables -t mangle -X TUN2SOCKS &>/dev/null
+    iptables -t nat -F OUTPUT
     iptables -t nat -F PREROUTING
     iptables -t nat -F POSTROUTING
 
@@ -747,6 +750,7 @@ tun2socks_global*|tun2socks_chnroute*)
 
     iptables -t mangle -A OUTPUT -p tcp -j TUN2SOCKS
     [[ "$mode" != *tcp ]] && iptables -t mangle -A OUTPUT -p udp -j TUN2SOCKS
+    iptables -t nat -A OUTPUT -p udp --dport 53 ! -d 127.0.0.1 -j REDIRECT --to-ports 53
 
     for intranet in "${iptables_intranet[@]}"; do
         if [[ "$mode" == *tcp ]]; then
@@ -766,6 +770,7 @@ tun2socks_gfwlist*)
     iptables -t mangle -F PREROUTING
     iptables -t mangle -F TUN2SOCKS &>/dev/null
     iptables -t mangle -X TUN2SOCKS &>/dev/null
+    iptables -t nat -F OUTPUT
     iptables -t nat -F PREROUTING
     iptables -t nat -F POSTROUTING
 
@@ -780,6 +785,7 @@ tun2socks_gfwlist*)
 
     iptables -t mangle -A OUTPUT -p tcp -j TUN2SOCKS
     [[ "$mode" != *tcp ]] && iptables -t mangle -A OUTPUT -p udp -j TUN2SOCKS
+    iptables -t nat -A OUTPUT -p udp --dport 53 ! -d 127.0.0.1 -j REDIRECT --to-ports 53
 
     for intranet in "${iptables_intranet[@]}"; do
         if [[ "$mode" == *tcp ]]; then