描述一下iptables的四表五链
时间: 2023-12-26 14:05:39 浏览: 149
Iptables表和链最清晰解释
iptables是一个基于Netfilter框架的防火墙工具它使用四个表和五个链来处理数据包。
四个表(tables):
1. Filter表(filter):用于过滤数据包,是iptables默认使用的表。它包含三个重要的链,分别是INPUT、OUTPUT和FORWARD链。
2. NAT表(nat):用于网络地址转换(Network Address Translation,NAT),主要用于实现端口映射和IP地址转换等功能。它包含三个重要的链,分别是PREROUTING、POSTROUTING和OUTPUT链。
3. Mangle表(mangle):用于修改数据包的特定字段,如TTL(Time to Live)值或服务类型(ToS)等。它包含五个链,分别是PREROUTING、INPUT、FORWARD、OUTPUT和POSTROUTING链。
4. Raw表(raw):用于配置数据包的连接追踪规则,通常用于在连接追踪之前进行某些处理。它包含四个链,分别是PREROUTING、OUTPUT、NOTRACK和CTINFO链。
五个链(chains):
1. PREROUTING链:处理进入网络协议栈前的数据包,适用于NAT、Mangle和Raw表。
2. INPUT链:处理目标地址是本机的数据包,适用于Filter、Mangle和Raw表。
3. FORWARD链:处理经过本机转发的数据包,适用于Filter和Mangle表。
4. OUTPUT链:处理由本机生成的数据包,适用于Filter、NAT、Mangle和Raw表。
5. POSTROUTING链:处理离开网络协议栈前的数据包,适用于NAT和Mangle表。
通过在不同的表和链上配置规则,可以实现对网络数据包的过滤、修改和转发等操作,从而实现防火墙的功能。
阅读全文