在 Ubuntu 22.04 上,默认防火墙管理工具是 ufw (Uncomplicated Firewall),但你也可以直接查看 iptables/nftables 规则。下面我给你整理几个命令,方便你检查和验证防火墙规则。
1️⃣ 查看 UFW 防火墙状态与规则
- 查看防火墙是否启用:
bash
sudo ufw status
-
输出例子:
Status: active
To Action From
22/tcp ALLOW Anywhere
8888/tcp DENY Anywhere
- 查看更详细规则:
bash
sudo ufw status verbose
- 查看规则编号:
bash
sudo ufw status numbered
- 用编号删除规则:
bash
sudo ufw delete <编号>
2️⃣ 查看 iptables/nftables 规则
Ubuntu 22.04 默认使用 nftables 兼容模式,但 iptables 命令依然可用。
使用 iptables 查看
bash
sudo iptables -L -n -v
-L:列出规则-n:数字显示,不解析成域名-v:显示流量统计
示例输出:
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
100 5000 ACCEPT tcp -- any any 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
50 2000 DROP tcp -- any any 0.0.0.0/0 0.0.0.0/0 tcp dpt:8888
使用 nftables 查看
bash
sudo nft list ruleset
- 输出完整的 nftables 配置,包括链、表和规则。
3️⃣ 测试端口连通性
启动服务后,可以用 nc 或 telnet 测试:
bash
nc -zv <服务器IP> 8888
# 或者
telnet <服务器IP> 8888
- 如果防火墙放行,会显示
succeeded或建立连接 - 如果阻止,会超时或拒绝
💡 总结
- 简单 → 用
ufw status - 详细 → 用
sudo iptables -L -n -v或sudo nft list ruleset - 测试端口 →
nc/telnet
我可以帮你写一个 一条命令查看 Ubuntu 22.04 上所有防火墙规则和端口状态的快速检查脚本,可以直接看到哪些端口被允许或阻止。
你希望我写吗?