debian防火墙怎么故障排除
导读:Debian 防火墙故障排除步骤 一 快速定位思路 明确使用的防火墙工具:Debian 常见为 UFW 或直接使用 iptables;若系统曾使用 firewalld,也需一并确认其状态。 按链路逐段验证:先看本机是否监听端口,再看本机防...
Debian 防火墙故障排除步骤
一 快速定位思路
- 明确使用的防火墙工具:Debian 常见为 UFW 或直接使用 iptables;若系统曾使用 firewalld,也需一并确认其状态。
- 按链路逐段验证:先看本机是否监听端口,再看本机防火墙是否放行,最后看外部网络与云侧是否放行(如安全组/NACL)。
- 使用“由内到外”的连通性测试:本机回环与本地扫描 → 同网段主机测试 → 外部公网/云安全组测试。
二 工具与命令速查
- 查看防火墙状态与规则
- UFW:
sudo ufw status verbose;需要编号规则时用sudo ufw status numbered - iptables:
sudo iptables -L -n -v(加-v可看到包计数,便于判断是否命中) - firewalld:
sudo systemctl status firewalld;规则概览sudo firewall-cmd --list-all
- UFW:
- 应用与验证
- 开放端口:UFW 示例
sudo ufw allow 22/tcp;iptables 示例sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT - 本机监听:
ss -tulpen | grep < 端口>或netstat -tulpen | grep < 端口> - 端口连通性:本地
nmap -sT -p < 端口> 127.0.0.1;远程nmap -p < 端口> < 服务器公网IP>
- 开放端口:UFW 示例
- 日志与抓包
- UFW 日志:
sudo ufw logging on,日志路径 /var/log/ufw.log - 抓包定位:
sudo tcpdump -ni any 'tcp port < 端口> '(看是否有 SYN 到达本机)
- UFW 日志:
三 常见场景与处理
- 场景A SSH 连不上
- 确认服务监听:
ss -lntp | grep :22 - 放行端口:
sudo ufw allow 22/tcp或sudo iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT - 云服务器:在云平台控制台安全组放行 TCP/22
- 验证:
ssh -v < 服务器IP>;必要时在服务器上sudo tcpdump -ni any 'tcp port 22'
- 确认服务监听:
- 场景B 网站/应用端口访问超时
- 监听与协议:
ss -lntp | grep :80或:443 - 放行端口:
sudo ufw allow 80,443/tcp或相应 iptables 规则 - 云侧安全组/NACL:放行对应 TCP/80、TCP/443
- 外部探测:
nmap -p 80,443 < 服务器IP>;若本机能访问而外部不能,优先检查云安全组与运营商/边界设备策略
- 监听与协议:
- 场景C UFW 启用失败或提示可能中断 SSH
- 先放行 SSH 再启用:
sudo ufw allow 22/tcp→sudo ufw enable - 已有规则冲突:用
sudo ufw status numbered查看并按编号删除/调整冲突规则
- 先放行 SSH 再启用:
- 场景D 规则变更未生效
- UFW:
sudo ufw reload - iptables:规则是即时生效的;若重启后丢失,需保存并在启动时恢复(见下节)
- UFW:
- 场景E Docker 端口访问不到
- 启动容器时映射端口:
-p 80:80(宿主机端口:容器端口) - 确认宿主机监听:
ss -lntp | grep :80 - 若使用 UFW,注意 Docker 可能绕过或改写 filter 表规则;必要时改用
iptables显式放行或调整策略顺序
- 启动容器时映射端口:
四 规则保存与持久化
- UFW
- 启用即持久化;修改后用
sudo ufw reload - 日志:
sudo ufw logging on,查看 /var/log/ufw.log
- 启用即持久化;修改后用
- iptables
- 保存当前规则:
sudo iptables-save > /etc/iptables/rules.v4 - 开机恢复(Debian 常用做法):创建
/etc/network/if-pre-up.d/iptables
赋权:#!/bin/sh /sbin/iptables-restore < /etc/iptables/rules.v4sudo chmod +x /etc/network/if-pre-up.d/iptables - 如需清空规则做验证:
sudo iptables -F & & sudo iptables -X & & sudo iptables -t nat -F & & sudo iptables -t nat -X(测试完再按上法恢复)
- 保存当前规则:
五 最小化验证与回退方案
- 最小化连通性验证
- 本机:
ss -lntp | grep < 端口>;nmap -sT -p < 端口> 127.0.0.1 - 外部:
nmap -p < 端口> < 服务器IP>;若外部不通而本机通,多为外部策略(云安全组/防火墙/路由)问题
- 本机:
- 临时回退(排障用,验证后请恢复策略)
- UFW:
sudo ufw disable - iptables:设置默认放行
sudo iptables -P INPUT ACCEPT & & sudo iptables -P FORWARD ACCEPT & & sudo iptables -P OUTPUT ACCEPT,并清空规则sudo iptables -F - 云侧:临时放开安全组对应端口后再逐项收紧
- UFW:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: debian防火墙怎么故障排除
本文地址: https://pptw.com/jishu/778449.html
