温馨提示×

怎样测试debian防火墙规则

小樊
61
2026-09-05 10:41:04
栏目: 智能运维

在 Debian 上测试防火墙规则,通常取决于你使用的是哪种防火墙管理工具。Debian 常见的防火墙方案有:

  • iptables / nftables(底层)
  • ufw(简化前端,最常用)
  • firewalld(较少用,但也可能)

下面按常见场景说明如何测试防火墙规则是否生效。


一、先确认你用的是什么防火墙

# 查看是否使用 ufw
sudo ufw status

# 查看 iptables 规则
sudo iptables -L -n -v

# 查看 nftables 规则
sudo nft list ruleset

# 查看 firewalld
sudo firewall-cmd --state

二、使用 ufw 的情况(最常见)

1. 查看规则

sudo ufw status verbose

2. 测试端口是否开放

例如在服务器上开放了 22(SSH)或 80(HTTP):

# 从另一台机器测试
telnet 服务器IP 22
# 或
nc -vz 服务器IP 22

或者用 curl:

curl http://服务器IP

3. 本地测试(不推荐完全依赖)

ss -tulnp

确认服务在监听,再看 ufw 是否允许。


三、使用 iptables / nftables 的情况

1. 查看规则

sudo iptables -L -n -v
# 或
sudo nft list ruleset

2. 测试某条规则是否生效

例如你有一条规则:

iptables -A INPUT -p tcp --dport 80 -j DROP

测试:

curl http://服务器IP
# 或
nc -vz 服务器IP 80

如果连接被拒绝或超时,说明规则可能生效。


四、从外部真实测试(最重要)

防火墙是否生效,必须以“外部访问”为准:

# 从另一台机器
ping 服务器IP
telnet 服务器IP 端口
nmap 服务器IP

例如:

nmap -p 22,80,443 服务器IP

五、日志方式验证(高级)

ufw 日志

sudo ufw logging on
sudo tail -f /var/log/ufw.log

iptables 日志

iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROP: "

然后查看:

dmesg | grep IPTABLES

六、常见测试建议

✅ 开放端口前先测试默认策略
✅ 改规则后立刻从外部测试
✅ 不要只在 localhost 测试
✅ SSH 规则改前留一条备用会话


如果你愿意,可以告诉我:

  • Debian 版本
  • 使用的防火墙(ufw / iptables / nftables)
  • 想测试的具体端口或规则

我可以给你更精确的测试命令。

0 踩