跳到主要内容

iptables/nftables — 防火墙规则管理

iptables 是 Linux 内核 netfilter 防火墙的传统管理工具,nftables 是其现代替代品。本速查表涵盖两者的核心操作:规则增删改查、NAT 配置、端口转发、规则持久化以及高级匹配(限速、字符串匹配、状态追踪)。

更新: 2026-07-17·33 条命令

概述

iptables 是 Linux 内核防火墙的用户空间工具,用于配置 IP 包过滤规则。本速查表涵盖基础规则、NAT、转发和持久化配置。

快速开始

``bash iptables -L -v -n # 列出当前规则 iptables -P INPUT DROP # 设置默认策略 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许 SSH ``

详细用法请参阅下方命令表格。

基础规则(19)

命令难度
iptables -L -v -n --line-numbers
列出所有规则(含详细信息、行号、不解析 DNS)
基础
iptables -A
在链末尾追加一条规则
基础
iptables -I
在链开头或指定位置插入规则
基础
iptables -D
删除指定规则
基础
iptables -F
清空(刷新)指定链的所有规则
基础
iptables -P
设置链的默认策略
基础
iptables -p
匹配协议(tcp/udp/icmp/all)
基础
iptables --dport
匹配目标端口
基础
iptables -s
匹配源 IP 地址
基础
iptables -j ACCEPT
允许匹配的数据包通过
基础
iptables -j DROP
静默丢弃匹配的数据包
基础
iptables -j REJECT
拒绝匹配的数据包并返回错误消息
中级
ip6tables
IPv6 防火墙规则管理
中级
nft list ruleset
列出 nftables 整个规则集
中级
nft add rule
向 nftables 链添加规则
中级
nft add table
创建 nftables 表
中级
nft add chain
创建 nftables 链
高级
nft delete rule
删除 nftables 规则
中级
nft flush ruleset
清空所有 nftables 规则
中级

高级(6)

命令难度
iptables -j LOG
记录匹配的数据包到系统日志但不阻止
中级
iptables -m state --state
按连接状态匹配(旧式状态模块)
中级
iptables -m conntrack --ctstate
按连接跟踪状态匹配(推荐)
中级
iptables -m limit
限速匹配(防止 DOS/暴力破解)
高级
iptables -m recent
基于最近连接记录的动态匹配
高级
iptables -m string --string --algo
按数据包内容匹配(字符串过滤)
高级

NAT(5)

命令难度
iptables -t nat -A PREROUTING
在 NAT 表的 PREROUTING 链添加 DNAT 规则
中级
iptables -t nat -A POSTROUTING
在 NAT 表的 POSTROUTING 链添加 SNAT/MASQUERADE 规则
中级
iptables -t nat -A PREROUTING -j DNAT
目标网络地址转换(端口映射)
中级
iptables -t nat -A POSTROUTING -j SNAT
源网络地址转换(固定出口 IP)
中级
iptables -t nat -A POSTROUTING -j MASQUERADE
源地址伪装(动态出口 IP)
中级

转发(1)

命令难度
iptables -t filter -A FORWARD
在 filter 表的 FORWARD 链添加转发控制规则
中级

持久化(2)

命令难度
iptables-save
将当前 iptables 规则导出到 stdout
中级
iptables-restore
从文件恢复 iptables 规则(原子操作)
中级

常见问题

本速查表数据整理自各工具官方文档。最后更新: 2026-07-17。