首页/系统/信创系统运维速查/iptables 基础:表链与规则查看
安全加固65 条

iptables 基础:表链与规则查看

iptables 仍是许多加固脚本与信创环境实际使用的过滤工具:filter/nat/mangle 三张常用表,INPUT/OUTPUT/FORWARD 三条主链;先看清现状再动手。

信创系统运维速查系统更新于 2026-10-13

iptables 的结构

iptables 用『表 + 链』组织规则:filter 表负责过滤(INPUT 入站、OUTPUT 出站、FORWARD 转发),nat 表负责地址转换,mangle 表负责改包。报文会依次匹配链上的规则,命中即执行动作(ACCEPT 放行、DROP 丢弃、REJECT 回拒绝、LOG 记录)。许多加固脚本与信创环境仍在用它,因此看清现状比记住语法更重要。

基本信息

常用表filter 过滤、nat 地址转换、mangle 改包
常用链INPUT 入站、OUTPUT 出站、FORWARD 转发
查看命令iptables -L -n -v --line-numbers、iptables -t nat -L -n
导出与恢复iptables-save、iptables-restore
后端说明较新内核由 nftables 承载,iptables 命令是兼容层
权限要求root

典型使用场景

  • 接手老系统或加固脚本时先看清已有规则
  • 核查是否残留过时的放行规则
  • 排查某端口为什么访问不通时确认是否被 iptables 拦住
  • 把现有规则导出留档,作为变更前基线
  • 确认 iptables 与 firewalld 是否同时启用造成规则冲突

查看现状

查看现状
iptables -L -n -v --line-numbers     # filter 表:数字端口、包计数、行号
iptables -t nat -L -n -v             # nat 表:地址转换规则
iptables -L INPUT -n --line-numbers  # 只看入站链
nft list ruleset 2>/dev/null | head  # 较新内核下看真正承载的规则集
iptables-save | head -40             # 可恢复格式导出,用于备份
iptables -S                          # 以命令形式输出规则,便于比对与复制

补充与核对

补充与核对
systemctl is-active firewalld iptables 2>/dev/null   # 确认两套管理工具是否同时启用
ss -tulnp | head -20                                 # 监听端口清单,与放行规则对照
iptables -Z                                          # 清零计数器,便于观察后续流量
journalctl -k --since '10 min ago' | grep -i -E 'drop|reject' | head   # 被拦截记录的线索
cp -a /etc/sysconfig/iptables /root/iptables.bak.$(date +%F) 2>/dev/null  # 有持久化文件时先备份

表链与动作

项目说明注意点
filter 表最常用:放行或拒绝流量多数加固规则都在这里
nat 表源/目标地址转换转发场景才需要,规则顺序影响匹配
INPUT 链进入本机的流量服务器端口控制的主战场
FORWARD 链经过本机转发的流量做网关或容器场景时关注
ACCEPT / DROP / REJECT放行 / 静默丢弃 / 回拒绝DROP 会让对端超时,REJECT 会立即报错
LOG 动作记录匹配的报文本身不改变动作,需另配放行或拒绝
openEuler 与较新版本的麒麟中,iptables 命令由 nftables 兼容层实现:用 nft list ruleset 看到与 iptables 列表对应的规则集属正常现象,不要误判为规则被改过。
iptables 手工规则与 firewalld 并存会互相干扰:firewalld reload 时会重建规则,手工加的条目可能消失或与 firewalld 规则叠加产生意外放行,同一环境只保留一种管理方式。

易错点

  • 不加 -n 时 iptables 会尝试反向解析域名与端口名,输出卡顿数秒,排查效率大降
  • 以为用 iptables 命令加过规则就一定持久:未写入持久化文件或未保存,重启后规则全丢
  • iptables 与 firewalld 同时管理,规则相互覆盖,出现时通时不通的间歇性故障
  • DROP 与 REJECT 混淆:DROP 让对端一直超时,排查时容易误判为网络不通而非策略拦截
  • 改动前不留规则备份与导出,出错后无法快速回到变更前的状态

数据来源与参考

  • man 8 iptables
  • Netfilter 官方文档(netfilter.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌