5.3. 查看 firewalld的当前状态和设置
5.3.1. 查看 firewalld
的当前状态
默认情况下,防火墙服务
firewalld
会在系统上安装。使用 firewalld
CLI 接口来检查该服务是否正在运行。
查看服务的状态:
~]# firewall-cmd --state
如需有关服务状态的更多信息,请使用 systemctl status 子命令:
~]# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor pr
Active: active (running) since Mon 2017-12-18 16:05:15 CET; 50min ago
Docs: man:firewalld(1)
Main PID: 705 (firewalld)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/firewalld.service
└─705 /usr/bin/python3 -Es /usr/sbin/firewalld --nofork --nopid
另外,在尝试编辑设置前,务必要知道如何设置
firewalld
以及哪些规则被强制使用。要显示防火墙设置,请查看 第 5.3.2 节 “查看当前的 firewalld
设置”
5.3.2. 查看当前的 firewalld
设置
5.3.2.1. 使用 GUI 查看允许的服务
要使用图形化的 firewall-config 工具来查看服务列表,请按 Super 键进入到活动概览,输入 firewall,然后按 Enter 。firewall-config 工具会出现。现在,您可以在 选项卡下查看服务列表。
另外,要用命令行启动图形防火墙配置工具,请输入以下命令:
~]$ firewall-config
此时会打开 Firewall Configuration 窗口。请注意,这个命令可以以普通用户身份运行,但偶尔会提示您输入管理员密码。
图 5.2. firewall-config 中的 Services 选项卡
[D]
5.3.2.2. 使用 CLI 查看 firewalld
设置
使用 CLI 客户端可能会对当前防火墙设置有不同的视图。
list-all
选项显示 firewalld
设置的完整概述。
Firewalld
使用区来管理流量。如果没有通过 --zone
选项指定区,则该命令在分配给活跃网络接口和连接的默认区中有效。
要列出默认区的所有相关信息:
~]# firewall-cmd --list-all
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
注意
要指定显示其设置的区,请在 firewall-cmd --list-all 命令中添加
--zone=zone-name
参数,例如:
~]# firewall-cmd --list-all --zone=home
home
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh mdns samba-client dhcpv6-client
... [output truncated]
要查看特定信息(如服务或端口)的设置,请使用特定选项。使用命令帮助来查看
firewalld
手册页或获取选项列表:
~]# firewall-cmd --help
Usage: firewall-cmd [OPTIONS...]
General Options
-h, --help Prints a short help text and exists
-V, --version Print the version string of firewalld
-q, --quiet Do not print status messages
Status Options
--state Return and print firewalld state
--reload Reload firewall and keep state information
... [output truncated]
例如:查看当前区中允许哪些服务:
~]# firewall-cmd --list-services
ssh dhcpv6-client
使用 CLI 工具列出某个子部分的设置有时会比较困难。例如,允许
SSH
服务,firewalld
为该服务打开所需的端口(22)。之后,如果您列出允许的服务,列表会显示 SSH
服务,但如果列出开放的端口,则不会显示任何内容。因此,建议您使用 --list-all
选项来确保您收到完整的信息。