Linux网络—firewalld防火墙基础(实验+理论)
前言
- Linux防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)
- Linux系统的防火墙体系基于内核编码实现,具有非常稳定的性能和极高的效率,因此得到广泛的应用
一、Firewalld,iptables概述
1.1 Firewalld 简介
- 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具
- 支持IPv4,IPv6防火墙设置以及以太网桥
- 支持服务或应用程序直接添加防火墙规则接口
- 拥有两种配置模式
- 运行时配置(一般测试的时候使用)
- 永久配置
1.2 iptables 简介
- iptables是Linux的防火墙管理工具而已,真正实现防火墙功能的是Netfilter,我们配置类iptables规则后Netfilter通过这些规则来进行防火墙过滤等操作
1.3 Firewalld和iptables的关系
1.3.1 netfilter
- 位于Linux内核中的包过滤功能体系
- 称为Linux防火墙的“内核态”
1.3.2 Firewalld、iptables
- CentOS 7默认的管理防火墙规则的工具(Firewalld)
- 称为Linux防火墙的“用户态”
1.3.3 netfilter和Firewalld,iptables关系
- 只有iptables才能和内核态进行交互
1.3.4 Firewalld和iptables的区别
防火墙类型 | Firewalld | iptables |
---|---|---|
配置文件 | /usr/lib/firewalld,/etc/firewalld | /etc/sysconfig/iptables |
对规则的修改 | 不需要全部刷新策略,不丢失现行连接 | 需要全部刷新策略,丢失链接 |
防火墙类型 | 动态防火墙 | 静态防火墙 |
1.3.5 CentOS 6 和CentOS 7 防火墙的区别
- centos7有firewalld,iptables;centos6是iptables
- 图形化管理工具 firewall-config;命令管理工具:iptables(操作复杂) firewall-cmd
二、Firewalld
2.1 Firewalld网络区域介绍
-
区域如同进入主机的安全门,每个区域都具有不同限制程度的规则
-
可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口
-
默认情况下,public秋雨是默认区域,包含所有接口(网卡)
-
Firewalld数据处理流程
-
检查数据来源的源地址
- 若源地址关联到特定的区域,则执行该区域所指定的规则
- 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则
- 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则
-
“区域”选项卡
- “服务”子选项卡
- “端口”子选项卡
- “协议”子选项卡
- “源端口”子选项卡
- “伪装”子选项卡
- “端口转发”子选项卡
- “ICMP过滤器”子选项卡
-
“服务”选项卡
- “模块”子选项卡
- “目标地址”子选项卡
区域 | 描述 |
---|---|
drop(丢弃) | 任何接收的网络数据包都会被丢弃,没有任何回复。仅能有发送出去的网络连接 |
block(限制) | 任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝 |
public(公共) | 在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的链接 |
external(外部) | 特别是为路由器启动了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信他们不会对您的计算机造成危害,只能接收经过选择的连接 |
dmz(非军事区) | 用于您的非军事区内的电脑,此区域内可公开访问,可以有限的进入您的内部网络,仅仅接收经过选择的连接 |
work(工作) | 用于工作区,您可以基本相信网络内的其他电脑不会危害您的电脑,仅仅接收经过选择的连接 |
home(家庭) | 用于家庭网络,您可以基本信任网络内的其他计算器不会危害您的计算机,仅仅接收经过选择的连接 |
internal(内部) | 用于内部网络,您可以基本上信任网络内的其他计算机不会威胁您的计算机,仅仅接受经过选择的连接 |
trusted(信任) | 可接收所有的网络连接 |
2.2 Firewalld防火墙的配置方法
- 运行时配置
- 实时生效,并持续至Firewalld重新启动或重新加载配置
- 不中断现有连接
- 不能修改服务配置
- 永久配置
- 不立即生效,除非Firewalld重新启动或重新加载配置
- 中断现有连接
- 可以修改服务配置
- Firewall-config图形工具
- Firewall-cmd命令行工具
- /etc/firewalld/中的配置文件
- Firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则使用/usr/lib/firewalld/中的配置
- /etc/firewalld/:用户自定义配置文件,需要时可通过从/usr/lib/firewalld/中拷贝
- /usr/lib/firewalld/:默认配置文件,不建议修改,若恢复至默认配置,可直接删除/etc/firewalld/中配置
2.3 Firewalld-config图形工具
- 运行时配置/永久配置
- 重新加载防火墙
- 更改永久配置并生效
- 关联网卡到指定区域
- 修改默认区域
- 连接状态
三、Firewalld防火墙案例
3.1实验环境
禁止主机ping服务器
只允许20.0.0.110主机访问SSH服务
允许所有主机访问Apache服务
3.2实验步骤
3.2.1 网络参数配置
[[email protected] ~]# yum -y install httpd
[[email protected] ~]# systemctl start httpd
[[email protected] ~]# systemctl enable httpd
3.2.2 开启防火墙
[[email protected] ~]# firewalld-config ##运行防火墙图形化管理工具##
3.2.3 配置work区域
3.2.4 配置public区域
3.2.4 验证
光盘挂载,安装http服务,开启服务。在网页中输入服务器地址,可以登录