firewalld是什么?
Firewalld属于动态防火墙,是CentOS7系统中用于对netfilter内核模块用户空间管理工具。
Firewalld仅仅代替了iptables service部分,其底层还是使用iptables作为防火墙规则管理工具。
Firewalld中zone概念及作用:
区域zone是firewalld预先准备好的防火墙策略集合,即可策略模板,用于可以根据不同的应用场景进行切换。
只需要预设好区域集合,随时都可以自动切换了,从而极大地提升了防火墙策略的应用效率。
Firewalld中的zone分类:
Firewalld不同区域之间的差异主要是每个区域对待数据包的默认行为不同。
Firewalld默认共9个zone,分别为:
block(拒绝)
dmz(非军事化)进去自由,内部服务器都是放在DMZ,区域内服务器必须把系统安全性搞好。
drop(丢弃)
external(外部)SNAT MASQUERADE
home(家庭)
internal(内部)
public(公开) Firewalld(默认区域)
trusted(信任)
work(工作区)
Firewalld文件:
/usr/lib/firewalld/services: firewalld服务默认在此目录下定义了70多种服务,可以直接使用。
/usr/lib/firewalld/zones: 区域配置文件
/etc/firewalld/zones: 默认区域配置文件,配置文件中指定了编写完成的规则。
firewalld文件的作用:人性化管理规则,通过服务组织端口分组更加有效,如果一个服务使用若干个网络端口,则服务的配置文件就相当于提供了到这些端口的规则管理的批量操作快捷方式。
Firewalld语法:
命令语法:
firewall-cmd [--zone=zone] 动作 [--permanent]
如果不指定--zone选项,则为当前所在的默认区域,--permanent选项为是否将改动写到区域配置文件中。
Firewalld的状态:
systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld
# 注销、撤销
systemctl mask firewalld
systemctl unmask firewalld
firewall-cmd --state
running
# 查看状态
firewall-cmd --reload
success
# 使用reload把文件加载到内存中,--permanent:持久存储
firewall-cmd --complete-reload
# 重新加载防火墙,不中断用户的连接(防火墙出严重故障时使用)
firewall-cmd --panic-on
# 紧急模式,强制关闭所有网络连接
上面两个命令不要轻易地去做。不然网就断了。
Firewalld动作查看操作:
firewall-cmd xxx
--get-icmptypes ## 查看支持的所有ICMP类型
--get-zones ## 查看所有区域
--get-default-zone ## 查看当前的默认区域
--get-active-zones ## 查看当前正在使用的区域
--get-services ## 查看当前区域所支持的服务
--list-services ## 查看当前区域开放的服务列表
--list-services --zone=home ## 查看指定区域的开放的服务列表
--list-all ## 查看默认区域内的所有配置,类似iptable -nL
--list-all-zones ## 查看所有区域的所有配置
更改区域操作:
firewall-cmd --set-default-zone=home # 更改默认区域