Advertisement
Guest User

ipt-set

a guest
Oct 3rd, 2021
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. #!/bin/sh
  2. IF_EXT="eth0"
  3. IF_VPN="tap_softether"
  4. VPN_PORT="443"
  5. IPT="/sbin/iptables"
  6. IPT6="/sbin/ip6tables"
  7. IP_EXT=<cut_out>
  8.  
  9. # flush
  10. $IPT --flush
  11. $IPT -t nat --flush
  12. $IPT -t mangle --flush
  13. $IPT -X
  14. $IPT6 --flush
  15.  
  16. # loopback
  17. $IPT -A INPUT -i lo -j ACCEPT
  18. $IPT -A OUTPUT -o lo -j ACCEPT
  19.  
  20. # default
  21. $IPT -P INPUT DROP
  22. $IPT -P OUTPUT DROP
  23. $IPT -P FORWARD DROP
  24. $IPT6 -P INPUT DROP
  25. $IPT6 -P OUTPUT DROP
  26. $IPT6 -P FORWARD DROP
  27.  
  28. # allow forwarding
  29. echo 1 > /proc/sys/net/ipv4/ip_forward
  30.  
  31. # NAT
  32. # #########################################
  33. # SNAT - local users to out internet
  34. $IPT -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source $IP_EXT
  35.  
  36.  
  37. # INPUT chain
  38. # #########################################
  39. $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
  40. $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  41. # ssh
  42. $IPT -A INPUT -i $IF_EXT -p tcp --dport 22 -j ACCEPT
  43. # DNS
  44. $IPT -A INPUT -i $IF_VPN -p udp --dport 53 -s 10.8.0.0/24 -j ACCEPT
  45. # vpn
  46. $IPT -A INPUT -i $IF_VPN -p icmp -s 10.8.0.0/24 -j ACCEPT
  47. $IPT -A INPUT -i $IF_EXT -p tcp --dport $VPN_PORT -j ACCEPT
  48. $IPT -A INPUT -p udp --dport 500 -j ACCEPT
  49. $IPT -A INPUT -p udp --dport 4500 -j ACCEPT
  50.  
  51. $IPT -N syn_flood
  52. $IPT -A INPUT -p tcp --syn -j syn_flood
  53. $IPT -A syn_flood -m limit --limit 500/s --limit-burst 2000 -j RETURN
  54. $IPT -A syn_flood -j DROP
  55.  
  56.  
  57.  
  58. # FORWARD chain
  59. # #########################################
  60. $IPT -A FORWARD -i $IF_VPN -o $IF_EXT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  61. $IPT -A FORWARD -i $IF_EXT -o $IF_VPN -m state --state ESTABLISHED,RELATED -j ACCEPT
  62. $IPT -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT
  63.  
  64. # OUTPUT chain
  65. # #########################################
  66. $IPT -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  67.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement