This is my study note of iptables.

简介

  • iptables:包过滤防火墙,是内核防火墙netfilter的管理工具
  • 核心:四表五链
    1
    2
    3
    1.iptables并不是一个真正意义上的防火墙,可以理解为一个客户端工具
    2.通过iptables这个客户端将用户设定执行到对应的“安全框架” -- netfilter中
    3.netfilter才是真正的防火墙,netfilter位于内核空间

防火墙分类

  • 逻辑上分类
    1
    2
    1.主机防火墙:针对单个主机进行防护
    2.网络防火墙:处于网络入口或者边缘,针对入口进行防护
  • 从物理上分类
    1
    2
    1.硬件防火墙:硬件部分实现部分防火墙,另一部分功能基于软件实现
    2.软件防火墙:应用软件处理逻辑运行于通用硬件平台上的防火墙

四表五链详解

  • 规则

    1
    2
    防火墙的作用就在于经过的报文匹配“规则”,执行对应的动作。
    规则:网络管理员预定义的条件,如果数据包头符合这样的条件,就处理这个数据包,规则存储在内核空间的信息包过滤表中。
  • 1
    2
    3
    4
    5
    6
    netfilter才是真正的防火墙,它是内核的一部分,所以,如果想要防火墙能够达到“防火”的目的,则需要在内核中设置关卡,所有进出的报文都要通过这些关卡。五链:
    1.INPUT
    2.OUTPUT
    3.PREROUTING 路由前
    4.FORWARD 转发
    5.POSTROUTING 路由后
  • 1
    把具有相同规则的集合叫做“表”。
    描述
    filter表 负责过滤功能
    nat表 network address translation,网络地址转换功能
    mangle表 拆解报文,作出修改
    raw表 关闭nat上的连接追踪功能

优先级次序(由高而低):raw–>mangle–>nat–>filter

PREROUTING raw表,mangle表,nat表
INPUT mangle表,filter表,(centos7中还有nat表,centos6中没有)
FORWARD mangle表,filter表
OUTPUT raw表,mangle表,nat表,filter表
POSTROUTING mngle表,nat表