alt

链遍历顺序

假设服务器知道如何路由数据包,并且防火墙规则允许其传输,则以下流表示在不同情况下将遍历的路径:

  • 目的地为本地系统的传入数据包:PREROUTING -> INPUT
  • 目的地为另一个主机的传入数据包:PREROUTING -> FORWARD-> POSTROUTING
  • 本地生成的数据包:OUTPUT -> POSTROUTING
如果我们将上面的信息与前一个表中列出的顺序结合起来,我们可以看到,将首先根据raw、mangle和nat表的PREROUTING链来评估发送到本地系统的传入包。然后,它将遍历mangle、filter、security和nat表的输入链,最后传递到本地套接字。

Filter 内核模型图

alt alt alt

当目的主机是本机时:

alt

当目的主机不是本机时:

alt

  • 到本机某进程的报文:PREROUTING --> INPUT
  • 由本机转发的报文:PREROUTING --> FORWARD --> POSTROUTING
  • 由本机的某进程发出报文(通常为响应报文):OUTPUT --> POSTROUTING`

表链的关系

alt

数据经过防火墙的流程

alt

alt