linux下如何查看防火墙
- Linux
- 2025-08-08
- 5
sudo ufw status
(针对UFW)
Linux系统中,查看防火墙状态和配置是维护网络安全的重要步骤,不同的Linux发行版可能使用不同的防火墙管理工具,如iptables
、firewalld
、ufw
(Uncomplicated Firewall)等,下面将详细介绍如何在这些常见工具下查看防火墙的状态和配置。
使用iptables
查看防火墙
iptables
是Linux系统中传统的防火墙管理工具,它通过规则链来过滤网络数据包,要查看iptables
的防火墙规则,可以使用以下命令:
sudo iptables -L -v -n
-L
:列出所有链的规则。-v
:显示详细信息,包括数据包和字节计数。-n
:以数字形式显示地址和端口,而不是尝试解析主机名或服务名。
还可以查看特定的表或链,
sudo iptables -t nat -L -v -n
这将显示NAT表的规则。
使用firewalld
查看防火墙
firewalld
是一个动态的防火墙管理工具,它提供了更友好的界面来管理防火墙规则,要查看firewalld
的状态和配置,可以按照以下步骤操作:
检查firewalld
状态
确保firewalld
服务正在运行:
sudo systemctl status firewalld
如果服务未启动,可以使用以下命令启动:
sudo systemctl start firewalld
查看当前防火墙配置
使用以下命令查看当前的防火墙配置:
sudo firewall-cmd --list-all
这将显示当前激活的防火墙区域及其规则。
查看特定区域的配置
firewalld
使用区域(zone)来定义不同的信任级别,要查看特定区域的配置,可以使用:
sudo firewall-cmd --zone=public --list-all
将public
替换为你想要查看的区域名称。
查看所有区域
要查看系统中所有定义的区域,可以使用:
sudo firewall-cmd --get-zones
使用ufw
查看防火墙
ufw
(Uncomplicated Firewall)是Ubuntu及其衍生发行版中常用的防火墙管理工具,它简化了iptables
的使用,要查看ufw
的状态和配置,可以执行以下命令:
检查ufw
状态
sudo ufw status
或者,获取更详细的状态信息:
sudo ufw status verbose
查看当前规则
要列出所有防火墙规则,包括它们的详细信息,可以使用:
sudo ufw show raw
这将以iptables
格式显示规则,便于高级用户分析。
图形化界面查看防火墙(以Firewall Configuration为例)
某些Linux发行版,如CentOS和Fedora,提供了图形化的防火墙配置工具,称为firewall-config
,要启动该工具,可以在终端中输入:
sudo firewall-config
该工具提供了一个直观的界面,允许你查看和修改防火墙规则,而无需直接编辑配置文件或使用命令行。
日志和审计
除了直接查看防火墙规则外,还可以通过查看系统日志来了解防火墙的活动,防火墙相关的日志通常记录在/var/log/messages
、/var/log/syslog
或/var/log/kern.log
等文件中,使用以下命令可以查看相关日志:
sudo tail -f /var/log/messages
或者,使用grep
过滤与防火墙相关的条目:
sudo grep 'iptables|firewalld' /var/log/messages
归纳表格
工具 | 查看状态命令 | 查看规则命令 | 查看特定区域/链命令 |
---|---|---|---|
iptables |
sudo iptables -L -v -n |
sudo iptables -L -v -n |
sudo iptables -t nat -L -v -n |
firewalld |
sudo systemctl status firewalld |
sudo firewall-cmd --list-all |
sudo firewall-cmd --zone=<zone> --list-all |
ufw |
sudo ufw status |
sudo ufw show raw |
(ufw 不使用区域概念) |
图形化界面 | (通过firewall-config 工具查看) |
(通过firewall-config 工具查看) |
(通过firewall-config 工具查看) |
FAQs
Q1: 如何永久添加一条防火墙规则?
A1: 根据你使用的防火墙管理工具,方法有所不同:
-
iptables
:添加规则后,需要保存规则到配置文件,并在系统启动时重新加载,在Debian/Ubuntu系统中,可以使用iptables-save > /etc/iptables/rules.v4
保存规则,并确保iptables-restore < /etc/iptables/rules.v4
在启动时执行。 -
firewalld
:使用firewall-cmd --permanent --add-rule=...
命令添加永久规则,然后重新加载防火墙配置:sudo firewall-cmd --reload
。 -
ufw
:直接添加规则即可,ufw
会自动保存到配置文件。sudo ufw allow from 192.168.1.100
。
Q2: 如何临时关闭防火墙以进行故障排除?
A2: 根据你使用的防火墙管理工具,可以采取以下措施:
-
iptables
:暂时停用默认链的规则,或者删除关键规则,但请注意,这可能会使系统暴露在风险中,更好的做法是临时添加允许特定流量的规则,而不是完全关闭防火墙。 -
firewalld
:使用sudo systemctl stop firewalld
停止防火墙服务,完成后,记得使用sudo systemctl start firewalld
重新启动防火墙。 -
ufw
:使用sudo ufw disable
临时关闭防火墙。