参考链接:深入浅出带你理解 iptables 原理! - 知乎 (zhihu.com)
牢记iptables 四表五链
1.五链的数据包处理流程
![](https://img.haomeiwen.com/i10746269/3d6c104f52fd978d.png)
2.4表的处理流程或优先级
![](https://img.haomeiwen.com/i10746269/cba9360fc21051ab.png)
3.内核整体的收包过程
![](https://img.haomeiwen.com/i10746269/4b605074f6441ccd.png)
4.内核整体的发包过程
![](https://img.haomeiwen.com/i10746269/be78e950238865d5.png)
5.内核整体的转发过程
![](https://img.haomeiwen.com/i10746269/8cd5e29a94e3c058.png)
6.内核整体全过程
![](https://img.haomeiwen.com/i10746269/a5dc264d9b390e4c.png)
谨记:从表的维度来看数据包的处理过程--当数据包到达内核后,依次按照raw->mangle->nat->filter的顺序进行匹配。从链的维度来看数据包的处理过程,按照"五链的数据包处理流程”。
换句话说,比如当数据包被prerouting链捕获处理时,不仅仅是应用filter表的PREROUTING链上的规则。
按照表维度的处理流程,会先应用raw表的prerouting规则(其实该表没有prerouting链,为了讲解,就当它有),而后应用mangle表的prerouting规则,再是nat表的prerouting规则,最后是filter标的prerouting规则。在没有任何表的prerouting规则丢弃数据包的情况下,所有数据包都应该按表的流程走完全流程。其他链同理
使用modprobe加载 ipt_LOG与ip6t_LOG模块即可在kern.log日志文中记录debug日志,用于调试.
网友评论