Skip to content

iptables v1.8.4 (legacy) 命令整理

表(Tables)

表名描述
filter默认表,用于过滤数据包(INPUT/OUTPUT/FORWARD)
nat网络地址转换(NAT)表(PREROUTING/POSTROUTING)
mangle修改数据包头(如TTL、TOS)的表
raw连接跟踪豁免或优先级设置的表

命令(Commands)

规则管理

命令缩写描述
--append-A追加规则到链的末尾
--check-C检查规则是否存在
--delete-D删除链中的规则(按序号或规则内容)
--insert-I插入规则到链的指定位置(默认头部)
--replace-R替换链中的指定规则

链管理

命令缩写描述
--new-chain-N创建自定义链
--delete-chain-X删除空的自定义链
--policy-P设置链的默认策略(ACCEPT/DROP)
--flush-F清空链中的所有规则
--rename-chain-E重命名链

查看与列表

命令缩写描述
--list-L列出链中的规则
--list-rules-S以规则格式输出(用于备份/恢复)
--line-numbers显示规则的行号(配合 -L 使用)

通用选项(Options)

选项描述
--protocol-p 指定协议(如 tcp, udp, icmp
--source-s 源IP地址或网段
--destination-d 目标IP地址或网段
--in-interface-i 输入网卡(如 eth0
--out-interface-o 输出网卡
--jump-j 指定目标动作(如 ACCEPT, DROP
--goto-g 跳转到指定链继续处理
--match-m 加载扩展模块(如 state, multiport
--numeric-n 以数字格式显示IP和端口
--verbose-v 显示详细信息

常用匹配模块(Match Modules)

基础匹配

模块参数描述
tcp--sport, --dport匹配TCP源/目标端口
udp--sport, --dport匹配UDP源/目标端口
icmp--icmp-type匹配ICMP类型

扩展匹配

模块参数描述
state--state匹配连接状态(NEW/ESTABLISHED等)
multiport--sports, --dports匹配多个端口(逗号分隔或范围)
limit--limit限制规则匹配速率(如 5/second
mac--mac-source匹配源MAC地址

目标动作(Targets)

基础动作

目标描述
ACCEPT允许数据包通过
DROP丢弃数据包
REJECT拒绝数据包并返回错误(如ICMP不可达)
RETURN返回到调用链继续处理

NAT 相关

目标描述
SNAT源地址转换(需指定 --to-source
DNAT目标地址转换(需指定 --to-destination
MASQUERADE自动SNAT(适用于动态IP)

其他扩展

目标描述
LOG记录日志(可指定前缀和日志级别)
REDIRECT端口重定向

示例

bash
# 允许来自 192.168.1.0/24 的 SSH 连接
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT

# 拒绝所有其他入站流量
iptables -P INPUT DROP

# 显示 NAT 表规则(带行号)
iptables -t nat -L -n --line-numbers