linux最安全防火墙

 

  
  
  
  
  1. echo "Enabling IP Forwarding........"  
  2. sysctl -w net.ipv4.ip_forward=1 
  3. sysctl -w net.ipv4.netfilter.ip_conntrack_max=32768 
  4. sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=300 
  5. sysctl -w net.ipv4.tcp_syncookies=1 
  6. sysctl -w net.ipv4.tcp_max_syn_backlog=8192 
  7. sysctl -w net.ipv4.tcp_synack_retries=2 
  8. sysctl -w net.ipv4.tcp_syn_retries=2 
  9. sysctl -w net.ipv4.icmp_echo_ignore_all=0 
  10. echo "Enabling iptables rules........"  
  11. modprobe ip_tables  
  12. modprobe ip_nat_ftp  
  13. modprobe ip_conntrack  
  14. modprobe ip_conntrack_ftp  
  15. iptables -F  
  16. iptables -X  
  17. iptables -F -t mangle  
  18. iptables -X -t mangle  
  19. iptables -F -t nat  
  20. iptables -X -t nat  
  21. iptables -Z -t nat  
  22. iptables -P INPUT DROP  
  23. iptables -P FORWARD DROP 
  24. iptables -P OUTPUT DROP  
  25. #PING  
  26. iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT 
  27. iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT 
  28. iptables -A INPUT -p icmp -s 0/0 -d 0/0 -j ACCEPT 
  29. iptables -A OUTPUT -p icmp -s 0/0 -d 0/0 -j ACCEPT 
  30. #SSH 
  31. iptables -A INPUT -p tcp -s 192.168.0.0/22 -d 192.168.0.252 --dport 22 -j ACCEPT 
  32. iptables -A OUTPUT -p tcp -s 192.168.0.252 -d 192.168.0.0/22  --sport 22 -m state --state ESTABLISHED,RELATED  -j ACCEPT 
  33. iptables -A INPUT -p tcp -s 0/0 -d 61.150.4.238 --dport 22 -j ACCEPT 
  34. iptables -A OUTPUT -p tcp -s 61.150.4.238 -d 0/0 --sport 22  -m state --state ESTABLISHED,RELATED -j ACCEPT 
  35. #DNS 
  36. iptables -A OUTPUT -p udp -s 0/0 -d 0/0 --dport 53 -j ACCEPT 
  37. iptables -A INPUT -p udp -s 0/0 -d 0/0  --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT 
  38. #FORWARD 
  39. iptables -A FORWARD -s 192.168.0.0/22 -d 0/0 -j ACCEPT  
  40. iptables -A FORWARD -s 0/0 -d 192.168.0.0/22  -m state --state ESTABLISHED,RELATED -j ACCEPT  
  41. iptables -I FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT  
  42. iptables -I FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT  
  43. #synfoold DDOS  
  44. iptables -N syn-flood  
  45. iptables -I INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j DROP 
  46. iptables -I syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN  
  47. iptables -I syn-flood -j DROP  
  48. echo "Enabling lan to share ........"  
  49. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
  50. #/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/22 -j SNAT --to-source 61.150.4.238 
  51. #FTP 
  52. iptables -t nat -A PREROUTING -d 61.150.4.238 -p tcp --dport 7136 -j DNAT --to 192.168.0.222:7136 
  53. iptables -A FORWARD -p tcp -d 192.168.0.222 --dport 7136 -j ACCEPT 
  54. /sbin/iptables -t nat -A PREROUTING -d 61.150.4.238 -p tcp --dport 700 -j DNAT --to 192.168.0.92:21 
  55. iptables -A FORWARD -p tcp -d 192.168.0.92 --dport 21 -j ACCEPT 
  56. /sbin/iptables -t nat -A PREROUTING -d 61.150.4.238 -p tcp --dport 800 -j DNAT --to 192.168.0.90:21 
  57. iptables -A FORWARD -p tcp -d 192.168.0.90 --dport 21 -j ACCEPT 
  58. /sbin/iptables -t nat -A PREROUTING -d 61.150.4.238 -p tcp --dport 4899 -j DNAT --to 192.168.0.92:4899 
  59. iptables -A FORWARD -p tcp -d 192.168.0.92 --dport 4899 -j ACCEPT 
  60. iptables -t nat -A PREROUTING -d 61.150.4.238 -p tcp --dport 2008 -j DNAT --to 192.168.0.94:2008 
  61. iptables -A FORWARD -p tcp -d 192.168.0.94 --dport 2008 -j ACCEPT 

 

你可能感兴趣的:(linux最安全防火墙)