CentOS下iptables持久化

Posted Aubin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS下iptables持久化相关的知识,希望对你有一定的参考价值。

iptables规则持久化

  • 设定防火墙规则

    iptables -A INPUT -s 1.1.1.1/32 -p tcp -m tcp --dport 22 -j DROP 
    iptables -A INPUT -s 2.2.2.2/32 -p tcp -m tcp --dport 22 -j DROP 
    iptables -A INPUT -s 3.3.3.3/32 -p tcp -m tcp --dport 22 -j DROP 
    iptables -A INPUT -s 4.4.4.4/32 -p tcp -m tcp --dport 22 -j DROP
  • 保存防火墙规则

    service iptables save
    或
    iptables-save > /etc/sysconfig/iptables
  • 设定开机自动恢复iptables规则

    vim /etc/rc.d/rc.local
    iptables-restore < /etc/sysconfig/iptables

iptables关机自动保存

  • 先清空防火墙规则

    iptables -F
  • 保存iptables规则,也就是说将/etc/sysconfig/iptables文件清空

    service iptables save
    或
    iptables-save > /etc/sysconfig/iptables
  • 手动生成一些iptables规则

    iptables -A INPUT -s 1.1.1.1/32 -p tcp -m tcp --dport 22 -j DROP 
    iptables -A INPUT -s 2.2.2.2/32 -p tcp -m tcp --dport 22 -j DROP 
    iptables -A INPUT -s 3.3.3.3/32 -p tcp -m tcp --dport 22 -j DROP 
    iptables -A INPUT -s 4.4.4.4/32 -p tcp -m tcp --dport 22 -j DROP
  • 查看iptables规则是否生效

    [[email protected] init.d]# iptables -nvL
    Chain INPUT (policy ACCEPT 27 packets, 1978 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       tcp  --  *      *       1.1.1.1              0.0.0.0/0           tcp dpt:22 
    0     0 DROP       tcp  --  *      *       2.2.2.2              0.0.0.0/0           tcp dpt:22 
    0     0 DROP       tcp  --  *      *       3.3.3.3              0.0.0.0/0           tcp dpt:22 
    0     0 DROP       tcp  --  *      *       4.4.4.4              0.0.0.0/0           tcp dpt:22 
  • 设定关机时自动保存iptables规则
    创建关机时要执行的脚本,并且确保其有执行权限

    vim /etc/init.d/shutdownsh
    iptables-save > /etc/sysconfig/iptables
    chmod +x /etc/sysconfig/shutdownsh 
    ls /etc/sysconfig/shutdownsh 
    -rwxr-xr-x 1 root root 40 Jan 16 22:05 shutdownsh
  • 创建软连接文件至rcN.d路径下,N为运行等级
    http://blog.csdn.net/snaking616/article/details/78680021
    https://wenku.baidu.com/view/9a988bb9f424ccbff121dd36a32d7375a417c6f1.html

    ln -s /etc/init.d/shutdownsh /etc/rc6.d/K01shutdownsh 
    ln -s /etc/init.d/shutdownsh /etc/rc0.d/K01shutdownsh 
    ln -s /etc/init.d/shutdownsh /var/lock/subsys/

    注:以上方法(在/var/lock/subusys创建空文件或者软连接,仅在第一次关机或重启有效,当重启后/var/lock/subsys下的文件就自动消失了,所以在第二次关机或者重启脚本并不能执行)

以上是关于CentOS下iptables持久化的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7 下使用iptables

CentOS6下防火墙(iptables)的配置方法详解

centos7下部署iptables环境纪录(关闭默认的firewalle)

解决CentOS(6和7版本),/etc/sysconfig/下没有iptables的问题

解决CentOS(6和7版本),/etc/sysconfig/下没有iptables的问题

CentOS 6 下单独记录 iptables 日志