一、什么是防火墙
其实防火墙就是位于外网和内网之间的一组软硬件部件的组合
主要是想保护内网的安全和内外网之间数据的流通性
当外网访问内网的时候发送的数据包必须经过内网的防火墙检验是否符合规则
在linux下面我们把它分为iptables和firewalld两种防火墙
centos从7.0开始将原先的防火墙iptables换成了firewalld。firewalld支持IPV4,IPV6防火墙设置以及以太桥接,并且拥有运行时配置和永久配置选项,被称为动态管理防火墙,也就是说不需要重启整个防火墙便可应用更改。centos7默认安装了firewalld,若没有安装,执行yum install firewalld firewalld-config安装,其中firewalld-config是GUI工具。firewalld与iptables关系:
二、防火墙的三张表格五条链
系统中的三表五链分别是:
三表: filter表、nat表、mangle表
五链:input、prerouting、forward、postrouting 、output
系统中的三张表及各自的链:
(1)filter表
input output forward
input output都要经过本机内核
经过内核都叫forward(相当于大脑思考)
【1】
内核上开启服务ftp http
inout从外边传输数据给内核
ouput从内核将结果传送出来
【2】
从本机进来绕过本机服务,从本机出来
经过了内核,但不使用内核服务,不是把数据给内核,只是做转换
(2)nat表
input output 都不经过内核
postouting 路由之后,做原地址封装,数据访问目的地主机,output时在路由端口做NAT转换,发生在路由之后
preouting 路由之前,数据从目的地主机传回时经过路由,在路由端口转换
(3)mangle表
当系统中filter表和nat表不够用时,会使用mangle表
input output #包括经过内核和不经过内核的数据
forward #经过内核的路由转发
prerouting #不经过内核,路由之前的信息
postrouting #不经过内核,路由之后的信息
三、总结
如果要访问某台主机上面的http服务,必须先经过那台主机的内核允许,才可以进行访问
防火墙其实也是在内核上面开启的一个服务
防火墙里面有表格,写一些规则,允许哪个主机访问什么服务,这个表格由iptables进行控制
但是有两种规则:iptables 与 firewalld
第一张表:filter表格:放的是经过内核的ip input output forward
第二张表:nat表格:放的不是经过内核的服务 input output postrouting prerouting
第三张表:备用表格mangle: input output forward postrouting prerouting