firewalld防火墙

Redhat Enterprise Linux7已经默认使用firewalld作为防火墙,其使用方式已经变化。 基于iptables的防火墙被默认不启动,但仍然可以继续使用。 

RHEL7中有几种防火墙共存:firewalld、iptables、ebtables等,默认使用firewalld作为防 火墙,管理工具是firewall-cmd。

Firewalld提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的防火墙管理工具。

区域:网络区域定义了网络连接的可信等级

数据包要进入到内核必须要通过这些zone中的一个,而不同的zone里定义的规则不一样 (即信任度不一样,过滤的强度也不一样)。可以根据网卡所连接的网络的安全性来判断, 这张网卡的流量到底使用哪个zone,比如上图来自eth0的流量全部使用zone1的过滤规 则,eth1的流量使用zone2。一张网卡同时只能绑定到一个zone '一张网卡同时只能绑定到一个zone'

预定义的服务:服务是端口和/或协议入口的组合。

端口和协议:定义了 tcp 或 udp 端口,端口可以是一个端口或者端口范围

ICMP 阻塞:可以选择 Internet 控制报文协议的报文。这些报文可以是信息请求亦可是对 信息请求或错误条件创建的响应

伪装:私有网络地址可以被映射到公开的IP地址。这是一次正规的地址转换

端口转发:端口可以映射到另一个端口以及/或者其他主机

区域

默认规则策略

信任区域trusted

允许所有的数据包。

家庭区域home

拒绝流入的数据包,除非与输出流量数据包相关或是ssh,mdns,ipp-client,samba-client与dhcpv6-client服务则允许。

内部区域internal

等同于home区域

工作区域work

拒绝流入的数据包,除非与输出流量数据包相关或是ssh,ipp-client与dhcpv6-client服务则允许。

公共区域public

拒绝流入的数据包,除非与输出流量数据包相关或是ssh,dhcpv6-client服务则允许。

外部区域external

拒绝流入的数据包,除非与输出流量数据包相关或是ssh服务则允许。

隔离区域 dmz

拒绝流入的数据包,除非与输出流量数据包相关或是ssh服务则允许。

阻塞区域block

拒绝流入的数据包,除非与输出流量数据包相关。

丢弃区域drop

拒绝流入的数据包,除非与输出流量数据包相关。

firewalld原则

如果一个客户端访问服务器,服务器根据以下原则决定使用哪个 zone 的策略去匹配

  1. 如果一个客户端数据包的源IP地址匹配zone的sources,那么该zone的规则就适用这个客 户端;一个源只能属于一个zone,不能同时属于多个zone
  2. 如果一个客户端数据包进入服务器的某一个接口(如eth0)区配zone的interfaces,则该 zone 的规则就适用这个客户端;一个接口只能属于一个zone,不能同时属于多个zone。
  3. 如果上述两个原则都不满足,那么缺省的zone将被应用