链
iptables第一个概念就是——链,链对应着网络栈中的某一个节点,通过这些节点控制网络栈中的数据流,实现iptables的各种功能。
iptable总共包含5个链:
- PREROUTING
- POSTROUTING
- FORWADE
- INPUT
- OUTPUT
下图显示这5个链在网站栈中的位置
表
表是相同类型的规则的集合,iptables总共有4个表
- filter——过滤功能
- nat——地址转换功能
- mangle——拆解、修改,重装报文
- raw——关闭nat表启用的连接追踪机制(不太懂)
表与链的关系
iptables中网络数据流
规则
规则用来筛选网络栈中的数据报文,并执行对应的操作。
规则匹配条件
- 基本匹配条件
- 源IP
- 目标IP
- 扩展匹配条件
- 源端口
- 目标端口
- …
处理动作
- ACCEPT——允许通过
- DROP——直接丢弃
- REJECT——拒绝通过,并发送拒绝响应
- SNAT——源地址转换
- DNAT——目标地址转换
- REDIRECT——本机端口映射
- MASQUERADE——适用于动态可变IP的源地址转换
- LOG——在/var/log/message中打印日志