我们从一张图开始。
我们可以看到iptable一共有4个表,5条链。
4个表分别为raw mangle nat filter(按优先级排序)
raw:表用于处理异常,它具有2个内建链
mangle:修改数据包的TOS TTL MARK
nat:修改源IP和目的IP
filter:用于数据包过滤
从图中可以看出
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是本机的数据包
有关详细的规则配置参考:
参考资料: