在Linux系统中,防火墙是保护系统安全的核心组件,不同发行版可能使用不同的防火墙管理工具,因此查看防火墙状态的方法也各有差异,以下将详细介绍主流防火墙工具的查看方法,操作前请确保您拥有管理员权限(使用sudo
),并谨慎执行命令以避免误操作。iptables
是传统的Linux防火墙工具,适用于CentOS 6、Debian 9及更早版本。
查看规则命令:
sudo iptables -L -n -v # 查看IPv4规则(详细模式) sudo ip6tables -L -n -v # 查看IPv6规则
- 关键参数说明:
-L
:列出规则链(如INPUT、FORWARD、OUTPUT)。
-n
:显示IP地址和端口号(不解析域名)。
-v
:显示详细信息(数据包计数、字节数)。 - 示例输出解读:
Chain INPUT (policy ACCEPT 100 packets, 15000 bytes) pkts bytes target prot opt in out source destination 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
表示INPUT链默认策略为
ACCEPT
,有一条规则丢弃所有访问22端口(SSH)的TCP请求。
查看 firewalld 防火墙
firewalld
是CentOS 7+/RHEL 8+、Fedora的默认防火墙,支持动态更新。
查看运行状态:
sudo firewall-cmd --state # 显示"running"或"not running"
查看活动区域和规则:
sudo firewall-cmd --list-all # 显示默认区域(如public)的详细规则
- 输出示例:
public (active) target: default services: ssh dhcpv6-client http # 允许的服务 ports: 80/tcp 443/tcp # 允许的端口 forward: no
查看所有区域配置:
sudo firewall-cmd --list-all-zones
查看 ufw 防火墙
ufw
(Uncomplicated Firewall)是Ubuntu/Debian的简化工具,基于iptables。
检查状态:
sudo ufw status # 显示"Status: active"表示启用
查看详细规则(含端口和策略):
sudo ufw status verbose # 显示允许/拒绝的端口及方向
- 输出示例:
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere 80/tcp DENY 192.168.1.0/24
其他工具查看方法
- nftables(iptables的替代品):
sudo nft list ruleset # 列出所有规则
- 直接查看配置文件:
- iptables规则保存位置:
/etc/sysconfig/iptables
(CentOS)或/etc/iptables/rules.v4
(Debian)。 - ufw配置文件:
/etc/ufw/user.rules
。
- iptables规则保存位置:
操作注意事项
- 备份规则:
修改前务必备份,例如iptables:sudo iptables-save > ~/iptables_backup.txt
- 避免锁定自己:
远程操作时,确保允许当前SSH端口(如22)的访问。 - 验证工具兼容性:
若同时安装多个防火墙(如iptables+firewalld),可能冲突,使用systemctl status firewalld
或systemctl status ufw
检查服务状态。
- 初学者推荐:Ubuntu/Debian用
ufw status
,CentOS/RHEL用firewall-cmd --list-all
。 - 高级用户:使用
iptables -L -v
或nft list ruleset
查看底层规则。 - 通用检查:通过
sudo netstat -tuln
验证端口监听状态,辅助分析防火墙是否生效。
引用说明参考Linux官方文档(iptables、firewalld、ufw)及Red Hat/Ubuntu技术手册,确保方法经过实践验证,操作时请遵循最小权限原则,必要时咨询专业运维人员。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6580.html