一、iptables

五条链
- PREROUTING链 PREROUTING链是最先生效的,当数据包到达网口时,即开始工作。同时由于其在raw,mangle,nat表中都存在,其执行的优先l顺序是:raw(PREROUTING)–>man gle(PREROUTING)—->mangle(nat) PREROUTING一般用作对包进行目标地址修改。比如将该包的目标地址,修改为非本机的另外的网络p,一般通过DNAT规则进行修改。
- 路由决策(Routing Decision) 决定一个包该走哪个链。如果上述PREROUTING链对包进行了目标网络更改。那么决策会觉得这个是一个需要转发的数据包,于是会将该包转发给FORWARD链。 否则,该包会走NPUT链
- FORWARD链 FORWARD在各表中生效的优先l顺序是:mangle(FORWARD)–>filter(FORWARD) 处理路由决策派发发过来的包,到这里的包一般目标网络地址在PREROUTING链被修改过
- INPUT链 其生效顺序是:mangle(INPUT)–>filter(INPUT) 处理路由决策派发发过来的包,到这里的包一般目标网络地址在PREROUTING链没有被修改过。
- OUTPUT链 在目标进程端口接收到输入数据包后,输出的数据包,将在这里进行规则应用。OUTPUT链在各表中生效的先后顺序是: raw(OUTPUT)—->mangle(OUTPUT)—-nat(OUTPUT)—->filter(OUTPUT)
四张表