firewalld基础

在 centos 7以前,默认都是使用 iptables,而在7以后,防火墙默认使用 firewalld,相比较于 iptables firewalld 没有各种表,但是加入了区域的概念,不过,其实在底层,这2个应用层程序都依赖 netfilter

什么是 netfiler

Linux内核包含一个强大的网络过滤子系统netfilter。netfilter子系统允许内核 模块对遍历系统的每个数据包进行检查。这表示在任何传入、传出或转发的网 络数据包到达用户空间中的组件之前,都可以通过变成方式检查、修改、丢弃 或拒绝这些数据包。

firewalld 简介

Red Hat Enterprise Linux7中引入了一种与netfilter交互的新方法: firewalld。firewalld是一个可以配置和监控系统防火墙规则的系统守护进程。 应用可以通过Dbus消息系统与firewalld通信以请求打开端口,此功能可以禁 用或锁定。该守护进程不仅涵盖IPv4、IPv6,还可能涵盖ebtables设置。 firewalld守护进程从firewalld软件包安装。此软件包属于base安装的一部分, 但不属于minimal安装的一部分。
firewalld将所有网络流量分为多个区域,从而简化防火墙管理。根据数据包 源IP地址或传入网络接口等条件,流量将转入相应区域的防火墙规则。每个 区域都可以具有自己的要打开或关闭的端口和服务列表。

filewalld 区域默认配置

区域名称 默认配置
trusted 允许有传入流量
home 除非与传入流量相关,或与 ssh、mdns、ipp-client、samba-client 或 dhcpv6-client 预定义服务匹配,否则拒绝传入流量
internal 除非与传出流量相关,或与ssh、mdns、ipp-client、samba-client或dhcpv6-client预 定义服务匹配,否则拒绝传入流量(一开始与home区域相同)
work 除非与传出流量相关,或与ssh、ipp-client或dhcpv6-client预定义服务匹配,否则拒 绝传入流量。
public 除非与传出流量相关,uoyussh或dhcpv6-client预定义服务匹配,否则拒绝传入流量 新添加的网络接口的默认区域。
external 除非与传出流量相关,或与ssh预定义服务匹配,否则拒绝传入流量。通过此区域 转发的IPv4传出流量将进行伪装,以使其看起来像是来自传出网络接口的IPv4地址。
dmz 除非与传出流量相关,或与ssh预定义服务匹配,否则拒绝传入流量。
block 除非与传出流量相关,否则拒绝所有传入流量。
drop 除非与传出流量相关,否则丢弃所有传入流量(甚至不产生包含ICMP错误的响 应)。

[root@server ~]# rpm -qa | grep firewall
firewalld-0.4.3.2-8.1.el7_3.3.noarch
firewalld-filesystem-0.4.3.2-8.1.el7_3.3.noarch
python-firewall-0.4.3.2-8.1.el7_3.3.noarch

图形化

图形化需要安装 config,最小化安装不会安装

[root@client ~]# yum -y install firewall-config

通常我们不在图形化界面进行设置,所以不过多讨论图形化界面的使用

进程

[root@client ~]# systemctl status firewalld.service
[root@client ~]# systemctl stop firewalld.service
[root@client ~]# systemctl restart firewalld.service