四表五链
表/链 | PREROUTING(路由前) | INPUT(入) | FORWARD(转发) | OUTPUT(出) | POSTROUTING(路由后) |
---|---|---|---|---|---|
Raw | ✓ | ✓ | |||
Mangle | ✓ | ✓ | ✓ | ✓ | ✓ |
Nat | ✓ | ✓ | ✓ | ||
Filter | ✓ | ✓ | ✓ |
动作和作用表
序 | 动作 | 含义 | 作用表 | 场景说明 |
---|---|---|---|---|
1 | ACCEPT | 接受数据包,允许通过 | Filter表 | 属于过滤性质 |
2 | DROP | 丢弃数据包,不给响应 | Filter表 | 静默丢弃,无提示 |
3 | REJECT | 拒绝数据包,返回错误 | Filter表 | 主动回复 ICMP 错误等 |
4 | LOG | 记录数据包信息到日志 | Filter、NAT、Raw | 通常配合调试使用 |
5 | DNAT | 目标地址转换 | NAT表 | 场景:端口转发 |
6 | SNAT | 源地址转换 | NAT表 | 场景:内网访问外网 |
7 | MASQUERADE | 动态源地址转换 | NAT表 | 场景:拨号上网 |
组织流程
在写命令过程中,先分析需求,在拆分
组织流程 | ||||||
---|---|---|---|---|---|---|
需求 | → | 动作 | → | 表 | → | 链 |
保证会话完整(回程命令)
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEP
部分常用的参数
参数 | 作用 |
---|---|
-t | 要操作的匹配包的表 |
-j | 指定规则的目标 |
-A | 在所选择的链末添加一条或更多规则 |
-p | 指定协议 |
--dport | 目标端口 |
-P | 设置链的默认规则(优先级最低) |