找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5690|回复: 0

防火墙必看排错命令全集

[复制链接]

1

主题

0

回帖

5

积分

新手上路

积分
5
发表于 5 天前 | 显示全部楼层 |阅读模式
在防火墙运维中,快速定位和解决问题是关键。以下是一套完整的防火墙排错命令全集,涵盖状态检查、规则验证、日志分析、连接跟踪等核心场景,帮助管理员高效排查故障。




一、基础状态检查

  • 查看防火墙服务状态

  
  1. systemctl status firewalld        # CentOS/RHEL (firewalld)
  2.    ufw status                         # Ubuntu (UFW)
  3.    iptables -L -v -n                  # 传统iptables(需root权限)
复制代码

  • 关键点:确认防火墙是否运行,规则是否加载。
  • 检查默认策略

  
  1. iptables -L | grep "policy"        # 查看默认链策略(ACCEPT/DROP)
复制代码




二、规则验证与调试

  • 列出所有规则(含计数器)

  
  1. iptables -L -v -n --line-numbers    # 显示规则、数据包/字节计数、行号
复制代码

  • 用途:通过计数器判断规则是否被命中,定位未生效的规则。
  • 模拟规则匹配(不实际修改)

  
  1. iptables -t filter -C INPUT -p tcp --dport 80 -j ACCEPT  # 检查规则是否存在
  2.    # 或使用nftables(现代系统):
  3.    nft list ruleset
复制代码

  • 临时添加测试规则

  
  1. iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT  # 插入到链顶部测试
复制代码




三、连接与端口排查

  • 查看当前连接跟踪

  
  1. conntrack -L                        # 显示所有活动连接(需conntrack模块)
  2.    ss -tulnp | grep <端口>             # 检查端口监听状态
复制代码

  • 检查NAT/MASQUERADE规则

  
  1. iptables -t nat -L -v -n            # 查看NAT表规则
复制代码




四、日志分析与故障定位

  • 启用详细日志(临时)

  
  1. iptables -I INPUT -j LOG --log-prefix "FIREWALL DROP: "  # 记录被丢弃的包
复制代码

  • 日志路径:通常位于
    1. /var/log/messages
    复制代码
    1. journalctl -k
    复制代码

  • 实时监控日志

  
  1. tail -f /var/log/kern.log | grep 'FIREWALL'  # 动态跟踪日志
复制代码

  • 使用
    1. dmesg
    复制代码
    检查内核日志


  
  1. dmesg | grep -i firewall            # 查看内核级防火墙相关错误
复制代码




五、高级诊断工具

  • 抓包分析(结合tcpdump)

  
  1. tcpdump -i eth0 port 80 and host 192.168.1.100  # 抓取特定流量
复制代码

  • 场景:验证流量是否到达防火墙,或被规则拦截。
  • 检查模块加载状态

  
  1. lsmod | grep ip_tables             # 确认iptables模块已加载
  2.    modprobe ip_tables                 # 手动加载模块(如未加载)
复制代码

  • 网络命名空间隔离问题

  
  1. ip netns exec <namespace> iptables -L  # 检查容器/命名空间内的规则
复制代码




六、常见问题速查表
| 问题现象               | 可能原因                     | 排查命令                          |
|---------------------------|--------------------------------|--------------------------------------|
| 端口无法访问              | 规则未放行、服务未监听、NAT错误 |
  1. ss -tulnp
复制代码
,
  1. iptables -L -n
复制代码
       |
| 连接被重置(RST)         | 状态规则不匹配、连接跟踪异常   |
  1. conntrack -L
复制代码
,
  1. iptables -t raw -L
复制代码
|
| 规则修改不生效            | 规则顺序错误、策略为DROP       |
  1. iptables -L -v --line-numbers
复制代码
     |
| 日志无记录但连接失败      | 日志规则未配置、日志模块未加载 |
  1. dmesg
复制代码
, 检查
  1. LOG
复制代码
规则是否存在      |




七、恢复与备份

  • 保存当前规则

  
  1. iptables-save > /etc/iptables/rules.v4  # 传统方式
  2.    nft list ruleset > /etc/nftables.conf   # nftables
复制代码

  • 紧急恢复默认策略

  
  1. iptables -P INPUT ACCEPT  # 临时开放(慎用!完成后需恢复)
复制代码




八、自动化辅助工具

    1. firewall-cmd
    复制代码
    (firewalld)
    :动态管理规则,支持区域和服务。
    1. nft
    复制代码
    (nftables)
    :现代防火墙框架,替代iptables。
    1. ansible
    复制代码
    1. puppet
    复制代码
    :通过配置管理工具批量部署规则。





通过以上命令组合,可以系统化地排查防火墙配置错误、流量拦截、连接异常等问题。建议结合具体场景(如Web服务、VPN、容器网络)针对性分析。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五云论坛 ( 黔ICP备2022001370号-1|贵公网安备52032102000798号 )

GMT+8, 2026-9-12 19:53 , Processed in 0.080697 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表