四表五链
| 表/链 | 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 | 设置链的默认规则(优先级最低) |