3、Firewalld与iptables service 的区别
1、Firewalld概述
Firewalld 的作用是为包过滤机制提供匹配规则(或称为策略),通过各种不同的规则,告
netfilter 对来自指定源、前往指定目的或具有某些协议特征的数据包采取何种处理方式。为了更加
方便地组织和管理防火墙,Firewalld 提供了支持网络区域所定义的网络链接以及接口安全等级的
动态防火墙管理工具。它支持 IPv4、IPv6 防火墙设置以及以太网桥,并且拥有两种配置模式:运
行时配置与永久
2.Firewalld 和 iptables 的关系
Firewalld 自身并不具备防火墙的功能,而是和 iptables 一样需要通过内核的 netfilter 来
实现。也就是说 Firewalld 和 iptables 一样,他们的作用都是用于维护规则,而真正使用规
则干活的是内核的 netfilter,只不过 Firewalld 和 iptables 的结构以及使用方法不一样罢
了。系统提供了图 形化得配置工具 firewall-config、system-config-firewall, 提供命令行客
户端 firewall-cmd, 用于配置 Firewalld 永久性或非永久性运行时间的改变:它依次用
iptables 工具与执行数据包筛选的内核中的 Netfilter 通信。Firewalld 和 iptables 的逻辑关系
iptables 服务和Firewalld 都是通过iptables 命令与内核的netfilter进行交互的。在
centos7 中,我们仍然可以使用 iptables 命令来管理我们的防火墙。唯一不同的是当我们重
启服务器或重启 Firewalld 时,iptables 命令管理的规则不会自动加载,反而会被
Firewalld 的规则代替。
3、Firewalld与iptables service 的区别
- iptables service 在 /etc/sysconfig/iptables 中储存配置, 而 Firewalld 将配置储存在/usr/lib/Firewalld/ 和 /etc/Firewalld/ 中的各种 XML 文件里。
- 使 用 iptables service 每 一 个 单 独 更 改 意 味 着 清 除 所 有 旧 有 的 规 则 和 从/etc/sysconfig/iptables 里读取所有新的规则,然而使用 Firewalld 却不会再创建任何新的规则;仅仅运行规则中的不同之处。因此,Firewalld 可以在运行时间内,改变设置而不丢失现行连接。
4、Firewalld网络区域
Firewalld 将所有的网络数据流量划分为多个区域,从而简化防火墙管理。根据数据包的源 IP 地址或传入网络接口等条件,将数据流量转入相应区域的防火墙规则。对于进入系统的数据包,首先检查的就是其源地址。
- 若源地址关联到特定的区域,则执行该区域所制定的规则。
- 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所制定的规则。
- 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所制定的规则。
默认区域不是单独的区域,而是指向系统上定义的某个其他区域。默认情况下,默认区 域是 public,但是系统管理员可以更改默认区域。以上匹配规则,按照先后顺序,第一个匹配的规则胜出。
在每个区域中都可以配置其要打开或者关闭的一系列服务或端口,Firewalld 的每个预定义的区域都设置了默认打开的服务。表 1-1 中列出了 Firewalld 的预定义区域说明。
1、trusted(信任区域) 可接收所有的网络连接
2、public(公共区域) 除非与传出流量相关,或与 ssh 或 dhcpv6-client 预定义服务匹配,否则拒绝流量传入,在公共区域内,不能相信网络内的其他计算机不会对计算机造成危害,只能接收经过选择的连接。并且,该区域是新添加网络接口的默认区域
3、work(工作区域) 除非与传出流量相关,或与 ssh、ipp-client、dhcpv6-client 预定义服务匹配,否则拒绝流量传入,用于工作区。相信网络内的其他计算机不会危害计算机,仅接收经过选择的连接
4、home(家庭区域) 除非与传出流量相关,或与 ssh、ipp-client、mdns、samba-client、dhcpv6-client 预定义服务匹配,否则拒绝流量传入,用于家庭网络。信任网络内的其他计算机不会危害计算机,仅接收经过选择的连接
5、internal(内部区域) 除非与传出流量相关,或与 ssh、ipp-client、mdns、samba-client、dhcpv6-client 预定义服务匹配,否则拒绝流量传入,用于内部网络。信任网络内的其他计算机不会危害计算机,仅接收经过选择的连接
6、external(外部区域) 除非与传出流量相关,或与ssh 预定义服务匹配,否则拒绝流量传入。通过此区域转发的IPv4 传出流量将进行地址伪装,可用于为路由器启用了伪装功能的外部网络
7、dmz(隔离区域也称为非军事区域)
除非与传出的流量相关,或与ssh 预定义服务匹配,否则拒绝流量传入
8、block(限制区域) 除非与传出流量相关,否则拒绝所有传入流量
9、drop(丢弃区域) 除非与传出流量相关,否则丢弃所有传入流量,并且不产生包含 ICMP(Internet Control Message Protocol,互联网控制报文协议)的错误响应
5、Firewalld 防火墙的配置方法
在 CentOS7 系统中,可以使用三种方式配置 Firewalld 防火墙:
- firewall-config 图形工具。
- firewall-cmd 命令行工具。
- /etc/Firewalld/中的配置文件。
通常情况下,不建议直接编辑配置文件。所以本章我们只介绍 firewall-config 图形工具与 firewall-cmd 命令行工具的配置方法。
6、firewall-config 图形工具
firewall-config 图形化配置工具支持防火墙所有的特性,系统管理员可以通过它来改变系统或用户策略。通过 firewall-config 图形化配置工具,可以实现配置防火墙允许通过的服务、端口、伪装、端口转发、ICMP 过滤器等功能。在 CentOS 7 系统中单击“应用程序”中的“杂项”,选择“防火墙”即可打开如图 1.2 所示的 firewall-config 工作界面,或者直接在终端中输入 firewall-config 命令也可以打开此界面。
firewall-config 工作界面主要分为三个部分,上面是主菜单,中间是配置选项,下面是区域、服务、IPsets、ICMP 类型、直接配置、锁定白名单设置选项卡。其中,ICMP 类型、直接配置和锁定白名单选项卡只在从“查看”下拉菜单中选择之后才能看见。最底部是状态栏从左到右显示了四个信息,依次是连接状态、默认区域、锁定状态、应急模式。
firewall-config 主菜单包括四个菜单项:文件、选项、查看、帮助。其中,“选项”菜单是最重要的,主要包括以下几个选项。
- 重新加载防火墙:重新加载防火墙规则,当前的永久配置将变成新的运行时配置。例如, 所有的当前运行的配置规则如果没有在永久配置中操作,系统重新加载后就会丢失。
- 更改连接区域:更改网络连接的所属区域和接口。
- 改变默认区域:更改网络连接的默认区域。
- 应急模式:表示丢弃所有的数据包。
- 锁定:可以对防火墙的配置进行加锁,只允许白名单上的应用程序进行修改。