centos 防火墙 iptables 用shell代码来添加



centos 防火墙 iptables 用shell代码来添加

  • |
  • 浏览:501
  • |
  • 更新:2014-04-22 15:45
百度经验:jingyan.baidu.com

很多时候,添加iptable 防火墙规则的时候,大家都喜欢一条一条的命令打,确实很方便。

不过,我喜欢用shell scripts 来添加,原因是,不容易出错,还可以一直保存着,方便修改等等。

百度经验:jingyan.baidu.com

工具/原料

  • centos 6.5 系统

  • iptable

  • vi 编辑

百度经验:jingyan.baidu.com

方法/步骤

  1. #vim bin/firewall.sh

    新建一个firewall.sh的用来写shell scripts的文件。

  2. 往firewall.sh里面输入以下内容,根据自己的服务器端口需要,添加,或者修改一些端口,或者规则。

    #!/bin/bash

    PATH=/sbin:/bin:/usr/sbin:/usr/bin; export PATH

    # 1. 清除规则

    iptables -F

    iptables -X

    iptables -Z

    # 2. 设定政策

    iptables -P   INPUT DROP

    iptables -P  OUTPUT ACCEPT

    iptables -P FORWARD ACCEPT

    # 3~5. 制订各项规则

    iptables -A INPUT -i lo -j ACCEPT

    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

    #SSH的端口,不然远程不了

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT

    #做了FTP服务器,开启21端口

    iptables -A INPUT -p tcp --dport 21 -j ACCEPT

    iptables -A INPUT -p tcp --dport 10000:20000 -j ACCEPT

    #WEB服务器,开启80端口.

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT

    #邮件服务器,开启25,110端口

    #iptables -A INPUT -p tcp --dport 110 -j ACCEPT

    #iptables -A INPUT -p tcp --dport 25 -j ACCEPT

    #做了DNS服务器,开启53端口

    iptables -A INPUT -p tcp --dport 53 -j ACCEPT

    #允许loopback!(不然会导致DNS无法正常关闭等问题)

    iptables -A INPUT -i lo -p all -j ACCEPT

    iptables -A OUTPUT -o lo -p all -j ACCEPT

    #允许icmp包通过,也就是允许ping

    iptables -A OUTPUT -p icmp -j ACCEPT

    iptables -A INPUT -p icmp -j ACCEPT

    #减少不安全的端口连接

    iptables -A OUTPUT -p tcp --sport 31337 -j DROP

    iptables -A OUTPUT -p tcp --dport 31337 -j DROP

    #samb

    iptables -A INPUT -p tcp --dport 137 -j ACCEPT

    iptables -A INPUT -p tcp --dport 138 -j ACCEPT

    iptables -A INPUT -p tcp --dport 139 -j ACCEPT

    iptables -A INPUT -p tcp --dport 445 -j ACCEPT

    #iptables -A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT

    # 6. 写入防火墙规则配置文件

    /etc/init.d/iptables save

    最后保存退出

  3. #chmod 700 /bin/firewall.sh

    改一下权限,避免文件被人恶意修改

    # sh bin/firewall.sh

    来执行命令后,

    # service iptables restart

    重启iptables 防火墙,也可以把# service iptables restart加到firewall.sh里面的最后地方。这样只要实行# sh bin/firewall.sh就可以了。

  4. centos 防火墙 iptables 用shell代码来添加


上一篇:ASP.NET MVC5+EF6+EasyUI 后台管理系统(4)-创建项目解决方案


下一篇:git简单使用