分享基地

系统运维

一个适合做Web服务器的iptbables配置

世纪黑猫 2015-03-30 系统运维 8,877


e12f36dc2d1f2c2e9da0bac21bf6cffa_1426869

  1. #!/bin/bash
  2. #————————————————————————–
  3. #解释:
  4. #1、设置INPUT,FORWARD,OUTPUT链默认target为DROP,也就是外部与服务器不能通信。
  5. #2、设置当连接状态为RELATED和ESTABLISHED时,允许数据进入服务器。
  6. #3、设置外部客户端连接服务器端口80,22,21,873。
  7. #4、允许内部数据循回。
  8. #5、允许外部ping服务器 。
  9. #6、设置状态为RELATED和ESTABLISHED的数据可以从服务器发送到外部。
  10. #7、允许服务器使用外部dns解析域名。
  11. #8、设置服务器连接外部服务器端口80。
  12. #9、允许服务器发送邮件。
  13. #10、允许从服务器ping外部。
  14. #————————————————————————–
  15. IPT=”/sbin/iptables”
  16. $IPT –delete-chain
  17. $IPT –flush
  18. $IPT -P INPUT DROP #1
  19. $IPT -P FORWARD DROP #1
  20. $IPT -P OUTPUT DROP #1
  21. $IPT -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT #2
  22. $IPT -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT #3
  23. $IPT -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT #3
  24. $IPT -A INPUT -p tcp -m tcp –dport 21 -j ACCEPT #3
  25. $IPT -A INPUT -p tcp -m tcp –dport 873 -j ACCEPT #3
  26. $IPT -A INPUT -i lo -j ACCEPT #4
  27. $IPT -A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT #5
  28. $IPT -A INPUT -p icmp -m icmp –icmp-type 11 -j ACCEPT #5
  29. $IPT -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT #6
  30. $IPT -A OUTPUT -p udp -m udp –dport 53 -j ACCEPT #7
  31. $IPT -A OUTPUT -o lo -j ACCEPT #4
  32. $IPT -A OUTPUT -p tcp -m tcp –dport 80 -j ACCEPT #8
  33. $IPT -A OUTPUT -p tcp -m tcp –dport 25 -j ACCEPT #9
  34. $IPT -A OUTPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT #10
  35. $IPT -A OUTPUT -p icmp -m icmp –icmp-type 11 -j ACCEPT #10
  36. service iptables save
  37. service iptables restart

 

 

本文摘选自:有客帮