我们从一张图开始。
我们可以看到iptable一共有4个表,5条链。
4个表分别为raw mangle nat filter(按优先级排序)
raw:表用于处理异常,它具有2个内建链
mangle:修改数据包的TOS TTL MARK
nat:修改源IP和目的IP
filter:用于数据包过滤
filter中的状态机制(连接跟踪)
NEW:单方向有数据包
ESTABLISHED:两个方向都有数据包交流
RELATED:基于一个ESTABLISHED状态的连接衍生出来的连接。
INVALID:异常
从上图可以看出
raw 包含 PREROUTING 和 OUTPUT 2条链
mangle 包含 PREROUTING INPUT FORWARD OUTPUT POSTROUTING 5条链
nat 包含 PREROUTING POSTROUTING OUTPUT 3条链
filter 包含 INPUT FORWARD OUTPUT 3条链
PREROUTING:用于修改目的地址(DNAT)
INPUT:匹配目的IP 是本机的数据包
FORWARD:匹配穿过本机的数据包
POSTROUTING:用于修改源地址(SNAT)
OUTPUT: 匹配源IP是本机的数据包
参考资料:iptables 1.1.19 指南
本文出自 “滴水” 博客,请务必保留此出处http://wangxuhello.blog.51cto.com/3010141/1394785
原文:http://wangxuhello.blog.51cto.com/3010141/1394785