Centos7只启用iptables 禁用firewalld.

首先介绍下Centos7的firewalld和iptables的关系!

 1,centos7 中才开始引用firewalld的概念,它是iptables的升级版,以上两者都不是真正的防火墙,都需要与内核netfilter配合使用。关于netfiler后续有机会进一步叙述。

  2,firewalld 配置相对比较简单。

  3,iptables 配置基本上都上命令行模式

    

Centos5、6我们一直都使用iptables来管理服务器防火墙,Centos7 默认是firewalld,如何只使用iptables而禁用firewalld

 1,禁用firewalld功能
  •          systemctl stop firewalld.service               关闭firewalld
  •          systemctl disable firewalld.service         禁用firewalld系统重启firewalld服务不会加载
 2,安装iptables(YUM 方式,一般系统盘、EPEL源都会有的)
  •        yum list | grep iptables                                查看yum源是否有iptables的安装包

                      

centos firewall版本 centos7 firewalld iptables_重启

  •       yum install -y iptables.x86_64                                安装iptables.x86_64 :该安装包主要包含iptables的相关命令以及iptables的相关模块
  •       yum install -y iptables-services.x86_64               该安装包主要配置文件、启动或重启用的systemctl的服务  包含内容如下                                                                                     
iptables配置说明:


           iptables 有4表5链 


              4表有:


                     filter:        功能对进出服务器数据包的过滤,和通过服务器做数据转发做过滤


                     nat:          功能主要用于做内外网地址转换数据转发


                     mangle:  用的不多,不做叙说


                     raw:         用的不多,不做叙说


             5链有:


                    prerouting:    指定路由前的规则


                    input :             指定入口时的规则


                    forward:          指定转发时的规则


                    ouput:             指定出口的规则


                    postrouting:  指定路由后的规则


          


         iptables的配置命令介绍



                    iptables [-t table] {-A|-C|-D} chain rule-specification    


                             -t :指明对哪张表进行操作 系统默认是对filter表


                             -A:在表的最后一行插入一个规则


                             -C:检查规则是否存在


                             -D:删除规则



                   iptables -A INPUT -d 192.168.1.100 -s 172.16.1.0/24 -j ACCEPT


                      在filter表的INPUT链中最后一行增加一个规则:允许172.16.1.0这个网段访问服务器的192.168.1.100 这个地址


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


                      在filter表的INPUT链中最后一行增加一个规则:允许任何主机访问服务器的192.168.1.100 的80端口


                   iptables -D INPUT 3


                       删除filter表INPUT链中的第三条记录



                    iptables [-t table] -I chain [rulenum] rule-specification


                            -I (大写的i) :在[rulenum]前面插入一条规则


                         


                   iptables  -I INPUT 3 -i lo -j ACCEPT


                       在filter表INPUT链第三行规则前面插入允许本机lo环口通过 (服务器ping/ssh/telent自己,以及系统内部自己socket调用都是通过lo环口,该端口配置防火墙时一定要开启) 


                   


                  iptables [-t table] -P chain target


                             -P :指定链的默认行为


    


                  iptables -P INPUT DORP


                       指定filter表INPUT链默认行为:DROP


                  


                  iptables [-t table] {-F|-Z|-X} [chain [rulenum]] [options...]


                       -F:将iptables规则清除


                       -Z:将iptables规则匹配或拒绝的数据包、字节数清零


                       -X:删除用户自定的链(该链中规则必须先清除)


                  


                 通常清空防火墙配置的三步曲:


                       iptables -F 


                       iptables -Z


                       iptables -X  


         


                iptables -L -n -v   :常看当前iptables的配置



             iptables 配置文件说明


                 系统开机iptables 会自动读取/etc/sysconfig/iptables 这个配置文件,也就是说当你配置好防火墙没保存至该文件系统重启后所有配置失效。


                      iptables-save 命令将保存当前配置规则  用法如下:


                      iptables-save > /etc/sysconfig/iptables                  将当前配置导入配置文件  重启生效


              

centos firewall版本 centos7 firewalld iptables_iptables_02


             以上是iptables 文件实例  保存的格式和命令配置语法差不多。