vps使用过程中各种技术记录,避免自己忘记的同时,希望也能帮助到需要的朋友。 | 登陆

自己用的iptables防火墙脚本

这些天想给vps加个防火墙iptables,经验证下面的规则有效可行,只开放了SSH、FTP、WEB。

需要的朋友,可以直接把下面的代码保存后运行,比如保存成ip.sh,然后运行sh ./ip.sh;如果是远程千万别手工一条条运行,会把自己给断开的;推荐在screen下运行。
 

  1. #!/bin/sh 
  2.  
  3. #清除全部规则 
  4. iptables -F 
  5.  
  6. iptables -X 
  7.  
  8. #设置默认规则 
  9. iptables -P INPUT DROP 
  10.  
  11. iptables -P OUTPUT ACCEPT 
  12.  
  13. iptables -P FORWARD DROP 
  14.  
  15. #允许SSH
  16. iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
  17.  
  18. #允许WEB
  19. iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
  20.  
  21. #允许FTP
  22. iptables -A INPUT -p tcp --dport 21 -j ACCEPT 
  23.  
  24. iptables -A INPUT -p tcp --dport 20 -j ACCEPT 
  25.  
  26. iptables -A INPUT -p tcp --dport 30000:50000 -j ACCEPT
  27. #允许kloxo 
  28. iptables -A INPUT -p tcp --dport 7778 -j ACCEPT 
  29.  
  30. #iptables -A INPUT -p icmp -j ACCEPT 
  31.  
  32. iptables -A INPUT -i lo -p all -j ACCEPT 
  33.  
  34. iptables -A OUTPUT -o lo -p all -j ACCEPT 
  35.  
  36. iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP 
  37.  
  38. iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT 
  39.  
  40. iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT 
  41.  
  42. iptables -A INPUT     -m state --state INVALID -j DROP 
  43.  
  44. iptables -A OUTPUT    -m state --state INVALID -j DROP 
  45.  
  46. iptables -A FORWARD -m state --state INVALID -j DROP 
  47.  
  48. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
  49.  
  50. iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
  51.   
  52. iptables -A INPUT -i lo -j ACCEPT   
  53.  
  54. iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT 
  55.  
  56. /etc/rc.d/init.d/iptables save 
  57.  
  58. service iptables restart 

该脚本为个人自用,并未开放太多服务,如果需要开放其它服务,请自行增加或更改端口。

Tags: linux, vps, iptables

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):