1 概念
1-1. firewall简介
firewalld是Linux系统的一款防火墙管理工具。通过充当netfilter的前端来提供防火墙功能,默认后端是iptables/ntftables。开发语言是python。firewalld=firewall+daemon。实际上就是一个守护进程。操作firewalld的是firewalld-cmd命令。
CentOS Ubuntu★ openSUSE
+--------------+ +------------+ +---------------------+ -*-
| firewall-cmd | | ufw | | SUSEfirewall2 | |
+--------------+ +------------+ +---------------------+ |
用户空间
+-----------------------------------------------------------+ |
| iptables command | |
+-----------------------------------------------------------+ -*-
+-----------------------------------------------------------+ -*-
| | |
| OS(Netfilter) | 内核空间
| | |
+-----------------------------------------------------------+ -*-
firewalld主要是在centos7以后才作为默认的防火墙管理工具的。像Ubuntu,Debian也可以安装firewalld。
- firewall-cmd 是一个命令行的客户端,通过D-Bus来操作后端。
- firewall-config是一个图形界面的客户端,也是通过D-Bus来操作后端。
- firewall-applet也是一个图形界面客户端,也是通过D-Bus来操作后端。
firewall-applet是firewalld中可选的状态栏小图标程序,它能够显示防火墙日志通知,同时也是一种打开 firewall-config 的快捷方式
- firewall-offline-cmd是一个命令行客户端,不需要通过D-Bus来操作后端。
firewalld
的配置储存在 /usr/lib/firewalld/
和 /etc/firewalld/
里的各种 XML 文件里,这样保持了这些文件被编辑、写入、备份的极大的灵活性,使之可作为其他安装的备份等等。
1-2. 运行时和永久
- 运行时(runtime)
firewalld配置的防火墙策略默认为运行时(Runtime)模式,就是设置完立刻生效,但是系统的重启会导致失效。要想设置完立刻生效,重启