1.0 firewalld简介
firewalld是红帽系系统新一代管理防火墙的软件,从fedora18,centos7/rhel7后支持
2.0 firewalld架构
firewalld有2层架构一个是D-bus layer,还有core layer (包含backends)
- core layer
core layer负责处理来自D-bus传来的命令,处理完成后把命令通过backends下发到linux内核自带的netfilter,networkmaneger等内核原生支持的防火墙模块上,所以backends就是一个接口,连接这些内核原生防火墙模块的
- d-bus layer
d-bus interface是改变,创建firewalld配置的主要方法,firewalld的工具包括firewall-cmd(命令行创建命令),firewall-config(图像化创建命令),firewall-applet,firewall-offline-cmd,其中firewall-offline-cmd并不是直接和firewalld进程交互,而是直接更改,创建firewalld 配置文件,直接使用core layer的IO处理,firewall-offline-cmd可以在firewalld进程运行时使用,但是并不建议这样做,因为当我们配置后大约在5秒后firewalld的中permanent可以见到这个配置。
note:
firewalld并不依赖于NetworkManager,但是如果NetworkManger没有开,那么我们应该要注意一下几点,firealld并不能获取网卡等网络设备的rename,如果firewalld在网络服务已经up后启动,我们连接的网络接口,和手动创建的接口不能自动默认的被绑定到zone区域,我们只能通过命令行添加
3.0 zones
firewalld的核心功能就是network/firewall zone,他的所有功能都要绑定到一个zone中,防火墙的zone描述的是一个trust level,firewalld自定义的有多个zone,从不信仍到信任排序如下
drop, block, public, external, dmz, work, home, internal , trusted
他们都被定义在/usr/lib/firewalld/zones 中,一下是各个区域的详解
drop
在此区域中的所有入口的报文都会被drop掉,而且不会回应,只有出接口的报文被允许通过
This zone rejects all incoming traffic without sending any error message. It allows only return traffic. On trust scale it stands on last position
block
所有进接口的报文都被拒绝,拒绝的消息是 icmp-host-prohibited或者 icmpv6-host-prohibited,只有初始网络连接到此系统时才会被允许
This zone rejects all incoming traffic with “icmp-host-prohibited” message. It allows only return traffic. On trust scale it stands on second last position.
public
在此区域,你并不会信任别的计算机不会损害你的电脑,只有你允许的计算机才能连接你的电脑
This zone is customized for public network. It allows return traffic with following services ssh and dhcpv6-client. This is the default zone unless you change the setting.
external
此区域和public差不多,但是他适用于启用了伪装的外部网络,尤其是路由器
This zone is customized for masquerading. It allows return traffic and ssh service only.
dmz
dmz这个区域非常有意思,在此区域内的服务器或者接口可以被所有的外网访问,但是对于内部的网络他又非常的严格,适合于web服务器等必须要暴露在外网的服务器,外部网络可以访问这些服务器,而内部网络访问需要严格的限制,这样做到了一定程度上的隔离
This zone is customized to limit the access to internal network. It allows return traffic and ssh service only.
work
对于此区域,你不会相信外部的主机会攻击你的电脑,当然只有你选中的进接口连接才会被同意访问本区域的主机
This zone is customized for work network. It allows return traffic with following services ssh, ipp-client and dhcpv6-client.
home
和work一样
This zone is customized for home network. It allows return traffic with following services ssh, mdns, ipp-client, samba-client and dhcpv6-client.
internal
在本区域内不会相信本区域其他的主机会攻击你的电脑,当然只有你选中的进接口连接才会被同意访问本区域的主机
This zone is similar to home zone but it is customized for internal network. It also allows return traffic with following services ssh, mdns, ipp-client, samba-client and dhcpv6-client.
trusted
所有的连接都被允许
This zone allows all incoming traffic. On trust scale, it stands on first position. Use this zone to handle the traffic on which you can trust blindly because it filters nothing.