📅  最后修改于: 2023-12-03 15:36:51.548000             🧑  作者: Mango
Firewalld 是 Linux 系统上的一款强大的防火墙管理工具,可以用来管理端口的开放和关闭等设置。本文将介绍如何使用命令行工具来列出打开的端口。
首先,我们需要确认 firewalld 服务已经启用。使用以下命令:
systemctl status firewalld
如果 firewalld 正在运行,则输出信息应该类似于:
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-12-10 17:14:06 UTC; 7 years 8 months ago
Docs: man:firewalld(1)
Main PID: 16630 (firewalld)
Tasks: 2 (limit: 4636)
Memory: 8.6M
CGroup: /system.slice/firewalld.service
└─16630 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Dec 10 17:14:05 ip-10-0-0-1.us-west-2.compute.internal systemd[1]: Starting firewalld - dynamic firewall daemon...
Dec 10 17:14:06 ip-10-0-0-1.us-west-2.compute.internal systemd[1]: Started firewalld - dynamic firewall daemon.
使用以下命令可以列出所有已经打开的端口:
sudo firewall-cmd --list-ports
如果该命令返回空白,则表示没有任何端口被开放。
如果您想查找特定端口是否已经打开,请使用以下命令:
sudo firewall-cmd --query-port=端口号/协议
例如,如果您要检查 8080 端口是否打开:
sudo firewall-cmd --query-port=8080/tcp
命令输出在端口已开放的情况下会返回 yes
,否则会返回 no
。
如果您要允许某个端口通过防火墙,可以使用以下命令:
sudo firewall-cmd --add-port=端口号/协议 --permanent
请注意,--permanent
参数会将新规则持久化到防火墙配置文件中,以便在系统重启后保持设置。
例如,要允许通过端口 8080 的 TCP 流量,可以输入以下命令:
sudo firewall-cmd --add-port=8080/tcp --permanent
如果您想从防火墙中删除某个端口,请使用以下命令:
sudo firewall-cmd --remove-port=端口号/协议 --permanent
例如,以下命令将从防火墙中删除端口 8080 的 TCP 流量规则:
sudo firewall-cmd --remove-port=8080/tcp --permanent
如果您进行了任何更改,请使用以下命令重新加载防火墙配置:
sudo firewall-cmd --reload
这将重新加载防火墙配置并应用任何更改。
本文介绍了如何使用命令行工具来列出打开的端口 firewalld。您可以使用 --list-ports
命令列出所有已经打开的端口,使用 --query-port
命令查找特定端口是否已经打开,使用 --add-port
命令允许通过防火墙的端口,使用 --remove-port
命令移除防火墙上的端口,使用 --reload
命令重新加载防火墙配置。