setup-ipset.sh 560 B

123456789101112131415161718192021222324252627282930313233
  1. # run as root
  2. ipset create ngx-ban-dstip hash:net
  3. iptables \
  4. -A OUTPUT \
  5. -p tcp --syn \
  6. -m owner --uid-owner jsproxy \
  7. -m set --match-set ngx-ban-dstip dst \
  8. -j REJECT
  9. # https://en.wk.jsproxy.tk/wiki/Reserved_IP_addresses
  10. REV_NET=(
  11. 0.0.0.0/8
  12. 10.0.0.0/8
  13. 100.64.0.0/10
  14. 127.0.0.0/8
  15. 169.254.0.0/16
  16. 172.16.0.0/12
  17. 192.0.0.0/24
  18. 192.0.2.0/24
  19. 192.88.99.0/24
  20. 192.168.0.0/16
  21. 198.18.0.0/15
  22. 198.51.100.0/24
  23. 203.0.113.0/24
  24. 224.0.0.0/4
  25. 240.0.0.0/4
  26. 255.255.255.255/32
  27. )
  28. for v in ${REV_NET[@]}; do
  29. ipset add ngx-ban-dstip $v
  30. done