iptables传输数据包的过程

时间:2023-11-10 08:46:08

IPTABLES传输数据包的过程

大概过程如图所示:

iptables传输数据包的过程

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

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

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

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