四表五链-防火墙


防火墙中的“四表五链”是Linux内核中Netfilter框架的核心概念,用于管理和控制网络数据包。以下是具体说明:

四表

  1. filter表
  2. 用途:过滤数据包,决定是否允许通过。
  3. 默认表,常用于防火墙规则。

  4. nat表

  5. 用途:网络地址转换(NAT),修改数据包的源或目标地址。
  6. 用于SNAT(源地址转换)和DNAT(目标地址转换)。

  7. mangle表

  8. 用途:修改数据包的头信息,如TTL、TOS等。
  9. 用于高级数据包处理。

  10. raw表

  11. 用途:决定数据包是否绕过连接跟踪机制。
  12. 用于需要绕过连接跟踪的场景。

五链

  1. PREROUTING链
  2. 用途:数据包进入网络接口后,路由决策前处理。
  3. 应用表:nat、mangle、raw。

  4. INPUT链

  5. 用途:处理目标是本机的数据包。
  6. 应用表:filter、mangle。

  7. FORWARD链

  8. 用途:处理经过本机转发的数据包。
  9. 应用表:filter、mangle。

  10. OUTPUT链

  11. 用途:处理本机产生的数据包。
  12. 应用表:filter、nat、mangle、raw。

  13. POSTROUTING链

  14. 用途:数据包离开网络接口前处理。
  15. 应用表:nat、mangle。

数据包流程

  1. PREROUTING链:数据包进入后首先经过此链。
  2. 路由决策:决定数据包是发给本机还是转发。
  3. INPUT链:如果目标是本机,进入此链。
  4. FORWARD链:如果是转发,进入此链。
  5. OUTPUT链:本机产生的数据包经过此链。
  6. POSTROUTING链:数据包离开前最后经过此链。

总结

  • 四表:filter、nat、mangle、raw,用于不同数据处理。
  • 五链:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING,决定数据包的处理路径。

理解这些概念有助于配置和管理防火墙规则。