Firewalld
Firewalld简介
1、Firewalld是CentOS7.0默认防火墙工具,CentOS6.0是iptables;
2、防火墙工作在第四层传输层,和端口有关TCP、UDP;
3、大型数据中心用的背靠背方式–两个硬防火墙;
4、按区域进行定义:高安全区域和低安全区域(例如公司内部是一个高安全区域,外部是一个低安全区域),此外允许访问的公司服务在dmz区域(非军事化区域);
低安全级别到高安全级别会经过防火墙过滤;
高安全级别到低安全级别是允许的。
5、运行时配置是临时配置,不会保存。
Firewalld特点:
- 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具;
- 支持IPv4,IPv6防火墙设置以及以太网桥;
- 支持服务或应用程序直接添加防火墙规则接口;
- 拥有两种配置模式:
运行时配置(一般测试的时候使用);
永久配置。
netfilter——Linux防火墙的内核态
Firewalld、iptables——Linux防火墙的用户态
Firewalld与iptables的区别
- Firewalld
配置文件 /usr/lib/firewalld;
修改规则后不需要全部刷新策略,不丢失现行连接;
动态防火墙;
定义策略后不需要重启服务。 - iptables
配置文件 /etc/sysconfig/iptables;
修改规则后需要刷新策略,丢失连接;
静态防火墙;
定义策略后需要重启服务。
Firewalld区域
Firewalld共有9个区域,可以使用一个或多个,但是任何一个活跃的区域需要至少关联一个源地址或接口。
默认情况下,public为默认区域,包含所有接口(网卡即接口)。
iptables没有区域的概念。
区域介绍
- drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
- block(限制):任何接收的网络连接都被IPV4的icmp-host-prohibited信息和IPV6的icmp6-adm-prohibited信息所拒绝。
- public(公共):在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接。
- external(外部):特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接。
- dmz(军事区域):用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接。
- work(工作):用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接。
- home(家庭):用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接。
- internal(内部):用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接收经过选择的连接。
- trusted(信任):可接受所有的网络连接。指定其中一个区域为默认区域是可行的。当接口连接加入了NetworkManager,它们就被分配为默认区域。
数据处理过程
检查数据来源的源地址;
若源地址关联到特定的区域,则执行该区域所指定的规则;
若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则;
若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则。
Firewalld配置方法
运行时配置
- 实时生效,直到重启firewalld或重新加载配置
- 不中断现有连接
- 不能修改服务配置
永久配置
- 不立即生效,直到重启firewalld或重新加载配置
- 中断现有连接
- 可以修改服务配置
Firewalld工具
1.firewalld-config图形工具
2.firewalld-cmd命令行工具
3./etc/firewalld中的配置文件
firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则使用/usr/lib/firewalld/中的配置
/etc/firewalld/:用户自定义配置文件,需要时可通过从/usr/lib/firewalld/中拷贝
/usr/lib/firewalld/:默认配置文件,不建议修改,若恢复至默认配置,可以直接删除/etc/firewalld/中的配置
firewalld-config图形工具
- 包含运行时配置和永久配置
- 未设定为永久配置的将在重载防火墙后消失(选项)
- 选项-更改连接区域,可关联网卡到指定区域
- 选项-改变默认区域,可修改默认区域
- 窗口下边栏显示连接状态
- 中间还有区域、服务选项卡
firewalld-cmd命令行工具
获取预定义信息
firewall-cmd 预定义信息主要包括三种:可用的区域、可用的服务以及可用的 ICMP 阻塞类型,具体的查看命令如下所示。
[root@localhost ~]# firewall-cmd --get-zones //显示预定义的区域
work drop internal external trusted home dmz public block
[root@localhost ~]# firewall-cmd --get-service //显示预定义的服务
RH-Satellite-6 amanda-client amanda-k5-client baculabacula-client cephceph
mondhcp dhcpv6 dhcpv6-client dnsdocker-registry dropbox-lansyncfreeipa-ldap
freeipa-ldapsfreeipa-replication ftp high-availability http https imapimaps
ippipp-clientipseciscsi-target kadminkerberoskpasswdldapldapslibvirt
libvirt-tlsmdns mosh mountdms-wbtmysqlnfsntpopenvpnpmcdpmproxypmwebapi
pmwebapis pop3 pop3s