Netfilter框架
1. Netfilter的框架流程
以上基于kernel版本 4.19&4.9
Netfilter有4个表,5条链
1,4个表的优先级为: raw > mangle > nat > filter
2,每个表包含的链:
Raw表: PREROTING、OUTPUT
Mangle表:PREROUTING、INPUT、OUTPUT、POSTROUTING、FORWARD
Nat表:PREROUTING、OUTPUT、POSTROUTING
Filter表:INPUT、OUTPUR、FORWARD
3,数据的流向:
PC机收数据:PREROUTING -> INPUT -> 应用程序
PC机发数据:应用程序 -> OUTPUT -> POSTROUTING
路由转发数据:PREROUTING -> FORWARD -> POSTROUTING
2. 数据流向
数据经过PREROUTING时,是先通过raw表查询,没有后,再经过mangle表查询,依次到nat表,直到查找到,如果都没有找到或不是要forward的包,就丢弃。在送到INPUT时,也一样,先通过mangle表,再通过filter表,再向上层传递。
应用程序发数据