iptables传输数据包的过程

IPTABLES传输数据包的过程

大概过程如图所示:

1. 数据包进入网卡时,首先进入PREROUTING链,linux内核会判断数据包的目的IP是否为本地主机

2. 如果数据包的目的IP是本地主机,那么数据包会沿图向下移动,进入INPUT链中,数据包进入INPUT链中,本地主机的所有线程都会收到它,本地主机的进程也会产生数据包,  这些数据包会经过OUTPUT链,然后到达POSTROUTING链从网卡中出去。

3. 如果数据包的目的IP不是本地主机,则数据包是要转发出去,且linux内核允许转发,数据包就会如图所示向右移动,进入FORWARD链中,然后到达POSTROUTING链从网卡中  出去

从上可以得到,当LINUX充当路由器时,数据包走的路线是PREROUTING——FORWARD——POSTROUTING线路。

posted @ 2014-07-28 17:14  Xu Feng  阅读(1713)  评论(0编辑  收藏  举报