iptables的表、 链结构
IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。
防火墙在做数据包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的数据包过滤表中,而这些表集成在 Linux 内核中。在数据包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 数据包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。
虽然 netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和 iptables 组成。
netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。除非您正在使用 Red Hat Linux 7.1 或更高版本,否则需要下载该工具并安装使用它
四表五链
-
链就是位置:共有五个
- 进路由(PREROUTING)
- 进系统(INPUT)
- 转发(FORWARN)
- 出系统(OUTPUT)
- 出路由(POSTROUTING)
-
表就是存储的规则
- 数据包到了该链处,会去对应表中查询设置的规则,然后决定是否放行,丢弃,转发还是修改等操作
四表
- 规则表
- 表的作用:容纳各种规则链
- 表的划分依据:防火墙规则的作用相似
- 默认包括4个规则表
- raw表:确定是否对该数据包进行状态跟踪
- mangle表:为数据包设置标记
- nat表:修改数据包中的源、目标IP地址或端口
- filter表:确定是否放行该数据包(过滤)
五链
- 规则链
- 规则的作用:对数据包进行过滤或处理
- 链的作用:容纳各种防火墙