Debian防火墙如何排查故障
导读:Debian防火墙故障排查流程 一 确认防火墙类型与运行状态 先识别系统正在使用的防火墙组件,再查看其运行状态与规则。 命令清单: 查看服务状态:sudo systemctl status ufw 查看规则:sudo ufw statu...
Debian防火墙故障排查流程
一 确认防火墙类型与运行状态
- 先识别系统正在使用的防火墙组件,再查看其运行状态与规则。
- 命令清单:
- 查看服务状态:sudo systemctl status ufw
- 查看规则:sudo ufw status verbose
- 若使用 iptables:sudo iptables -L -n -v
- 若使用 firewalld:sudo systemctl status firewalld;sudo firewall-cmd --list-all
- 要点:确认服务为active (running),规则与期望一致(端口、协议、来源/目的)。
二 查看与分析日志
- UFW 日志
- 启用与调整级别:sudo ufw logging on|off|low|medium|high|full
- 查看方式:tail -f /var/log/ufw.log 或 tail -f /var/log/syslog
- iptables 日志
- 记录示例:sudo iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix “SSH_INPUT:” --log-level 4
- 查看方式:tail -f /var/log/kern.log(可用 grep “iptables” /var/log/kern.log 过滤)
- firewalld 日志
- 查看方式:sudo journalctl -u firewalld
- 提示:为关键端口(如 22/80/443)添加带前缀的日志,便于快速定位被拒流量。
三 连通性测试与最小化验证
- 本机端口监听:ss -ltnp | grep :22(确认服务已在该端口监听)
- 本机连通性:nmap -sT -p 22,80,443 localhost
- 远程连通性:nc -vz 目标IP 22 或 telnet 目标IP 22
- 最小化验证(仅在受控窗口执行):
- 临时放行:sudo ufw allow 22/tcp 或 sudo iptables -I INPUT -p tcp --dport 22 -j ACCEPT
- 复测;验证通过后撤销临时规则,再固化到正式策略
- 说明:若临时放行后恢复,说明原规则或默认策略存在问题。
四 常见故障定位与修复
- 服务未运行或规则未生效
- 启动服务:sudo systemctl start ufw;或 sudo systemctl start firewalld
- 重新加载/应用:sudo ufw enable;或 sudo firewall-cmd --reload
- 默认策略过严
- 临时放宽:sudo iptables -P INPUT ACCEPT;验证后再收紧为 DROP/REJECT
- 规则顺序不当
- 原则:更具体的规则应放在前面;使用 -I 将关键 ACCEPT 插到链首,或用 -A 追加到末尾
- 日志缺失
- 启用 UFW 日志:sudo ufw logging medium;iptables 日志前缀与级别示例见上
- 规则未持久化
- iptables 保存与恢复:sudo iptables-save > /etc/iptables/rules.v4;sudo iptables-restore < /etc/iptables/rules.v4
- 开机自动加载(Debian 常用做法):创建 /etc/network/if-pre-up.d/iptables,内容示例:
- #!/bin/sh
- /sbin/iptables-restore < /etc/iptables/rules.v4
- chmod +x /etc/network/if-pre-up.d/iptables
- 外部因素
- 云厂商安全组/ACL、上游路由/NAT、应用自身绑定地址(127.0.0.1 vs 0.0.0.0)均可能拦截或限制访问。
五 安全回退与变更管理
- 回退方案
- UFW:sudo ufw disable(临时关闭);或按序删除问题规则
- iptables:sudo iptables -F;sudo iptables -X;sudo iptables -t nat -F;sudo iptables -t nat -X;再按需设置默认策略
- 变更管理
- 变更前保存:iptables-save > /etc/iptables/rules.v4.bak_$(date +%F)
- 变更后验证:连通性测试 + 日志复核
- 固化:确保 if-pre-up.d 脚本可执行并纳入备份。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian防火墙如何排查故障
本文地址: https://pptw.com/jishu/758320.html
