在 Debian 系统中,“防火墙”通常指 iptables / nftables,也可能用到 ufw(简易前端)。下面按“常见场景 + 测试方法”来说明,适合系统管理员或运维人员使用。
sudo ufw status
Status: active,说明用的是 ufwStatus: inactive,可能用的是 iptables/nftablessudo iptables -L -n -v
sudo nft list ruleset
telnet 127.0.0.1 端口
# 或
curl http://127.0.0.1:端口
⚠️ 注意:
在另一台机器执行:
telnet <目标IP> 端口
# 或
nc -vz <目标IP> 端口
# 或
nmap <目标IP>
示例:
nc -vz 192.168.1.10 22
✅ 能通 → 防火墙允许
❌ 超时 → 被拦截或没监听
tcpdump 看包是否到达在 Debian 上:
sudo tcpdump -i eth0 port 22
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
测试完删除:
sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH-TEST: "
查看日志:
sudo dmesg | grep SSH-TEST
sudo ufw status numbered
sudo ufw allow 8080
sudo ufw delete allow 8080
| 现象 | 可能原因 |
|---|---|
| 本机能通,外网不通 | 防火墙 DROP |
| nmap 显示 filtered | 被防火墙拦截 |
| 能 ping 不能连端口 | 端口未开放 |
| 规则写了但不生效 | 规则顺序错误 |
ss -tulnp
如果你愿意,可以告诉我:
我可以直接帮你写具体测试命令。