Firewalld简介
支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具
支持IPv4、IPv6防火墙设置以及以太网桥
支持服务或应用程序直接添加防火墙规则接口
拥有两种配置模式
运行时配置
永久配置
Firewalld和iptables的关系
netfilter
位于Linux内核中的包过滤功能体系
称为Linux防火墙的"内核态"
Firewalld/iptables
CentOS7默认的管理防火墙规则的工具(Firewalld)
称为Linux防火墙的"用户态"
Firewalld和iptables的区别
什么是iptables
iptables是Linux的防火墙管理工具而已,真正实现防火墙功能的是Netfilter,我们配置了iptables规则后Netfilter通过这些规则来进行防火墙过滤等操作
Netfilter模块:
它是主要的工作模块,位于内核中,在网络层的五个位置(也就是防火墙四表五链中的五链)注册了一些函数,用来抓取数据包;把数据包的信息拿出来逐个匹配链位置在对应表中的规则:匹配之后,进行相应的处理ACCEPT、DROP等。
四表五链
表就是储存的规则,共有4个表
filter表 过滤数据包
Nat表 用于网络地址转换(IP、端口)
Mangle表 修改数据包的服务类型、TTL、并且可以配置路由实现QOS
Raw表 决定数据包是否被状态跟踪机制处理
链就是位置,共有5个链
进路由(PREROUTING) 进来的数据包应用此规则链中的策略
进系统(INPUT) 外出的数据包应用此规则链中的策略
转发(PORWARD) 转发数据包时应用此规则链中的策略
出系统(OUTPUT) 对数据包作路由选择前应用此链中的规则(所有的数据包进来的时候都先由这个链处理)
出路由(POSTROUTING) 对数据包作路由选择后应用此链中的规则(所有的数据包出来的时候都先由这个链处理)
四表五链之间的关系
iptables语法格式
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
iptables常用参数
-P 设置默认策略:iptables
-P INPUT (DROP | ACCEPT)
-F 清空规则链
-L 查看规则链
-A 在规则链的末尾加入新规则
-I num 在规则链的头部加入新规则
-D num 删除某一条规则
-s 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外
-d 匹配目标地址
-i 网卡名称 匹配从这块网卡流入的数据
-o 网卡名称 匹配从这块网卡流出的数据
-p 匹配协议,如tcp,udp,icmp
--dport num 匹配目标端口号
--sport num 匹配来源端口号
区域介绍
区域如同进入主机的安全门,每个区域都具有不同限制程度的规则
可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口
默认情况下,public区域使默认区域,包含所有接口(网卡)
Firewalld数据处理例程
检查数据来源的源地址
若源地址关联到特定的区域,则执行该区域所指定的规则
若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则
若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则
运行时配置
实时生效,并持续至Firewalld重新启动或重新加载配置
不中断现有连接
不能修改服务配置
永久配置
不立即生效,除非Firewalld重新启动或重新加载配置
中断现有连接
可以修改服务配置
Firewalld-config图形工具
Firewalld-cmd命令行工具
/etc/firewalld/中的配置文件
Firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则使用/etc/firewalld/中的配置
/etc/firewalld/:用户自定义配置文件,需要时可通过从/usr/lib/firewalld/中拷贝
/ure/lib/firewalld/:默认配置文件,不建议修改,若恢复至默认配置,可直接删除/etc/firewalld/中的配置
运行时配置/永久配置
重新加载防火墙
更新永久配置并生效
关联网卡到指定区域
修改默认区域
连接状态
"区域"选项卡
"服务"子选项卡
"端口"子选项卡
"协议"子选项卡
"源端口"子选项卡
"伪装"子选项卡
"端口转发"子选项卡
"ICMP过滤器"子选项卡
"服务"选项卡
"模块"子选项卡
"目标地址"子选项卡