美文网首页
《Linux实践技能》学习笔记 day09

《Linux实践技能》学习笔记 day09

作者: 陈卧虫 | 来源:发表于2023-01-23 22:57 被阅读0次

iptables学习总结

netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构。

iptables为我们提供了如下规则的分类,或者说,iptables为我们提供了如下”表”

  • filter表:负责过滤功能,防火墙;内核模块:iptables_filter
  • nat表:network address translation,网络地址转换功能;内核模块:iptable_nat
  • mangle表:拆解报文,做出修改,并重新封装 的功能;iptable_mangle
  • raw表:关闭nat表上启用的连接追踪机制;iptable_raw

规则表之间的优先顺序:

Raw——mangle——nat——filter

链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一 条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据 该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定 义的默认策略来处理数据包。

  1. INPUT——进来的数据包应用此规则链中的策略
  2. OUTPUT——外出的数据包应用此规则链中的策略
  3. FORWARD——转发数据包时应用此规则链中的策略
  4. PREROUTING——对数据包作路由选择前应用此链中的规则(记住!所有的数据包进来的时侯都先由这个链处理)
  5. POSTROUTING——对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)
image.png

根据上图,我们能够想象出某些常用场景中,报文的流向:

  • 到本机某进程的报文:PREROUTING –> INPUT

  • 由本机转发的报文:PREROUTING –> FORWARD –> POSTROUTING

  • 由本机的某进程发出报文(通常为响应报文):OUTPUT –> POSTROUTING

各表包含的链

  1. Filter表——三个链:INPUT、FORWARD、OUTPUT
    作用:过滤数据包 内核模块:iptables_filter.
  2. Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
    作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat
  3. Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD , 即作用于全部链(chains).
    作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS内核模块:iptable_mangle(别看这个表这么麻烦,咱们设置策略时几乎都不会用到它)
  4. Raw表——两个链:OUTPUT、PREROUTING
    作用:决定数据包是否被状态跟踪机制处理 内核模块:iptable_raw

相关文章

网友评论

      本文标题:《Linux实践技能》学习笔记 day09

      本文链接:https://www.haomeiwen.com/subject/edkrhdtx.html