在前面我们已经学习过了系统的防火墙,我们讲过redhat7以上的防火墙软件有两个,分别是firewalld和iptables,上一片我们讲的是firewalld,具体可见firewalld,那么今天我们来了解一下另一个防火墙软件iptables
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 或更高版本,否则需要下载该工具并安装使用它。
iptables过滤规则的四表五链
在iptables中对于内外信息的规律时有一定的规则的,对于不同的需求有不同的规则结构,而我们常将这种规则结构称为“四表五链”
raw表
raw | 有限级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能。 |
---|
filter表
filter | 主要和自身有关,主要负责防火墙功能 过滤本机流入流出的数据包是默认使用的表 |
---|---|
input | 负责过滤所有目标地址是本机地址的数据包,就是过滤进入主机的数据包 |
forward | 负责转发流经主机但不进入本机的数据包,和NAT关系很大 |
output | 负责处理源地址的数据包,就是对本机发出的数据包 |
NAT表
NAT | 负责网络地址转换,即来源于目的IP地址和端口的转换,一般用于共享上网或特殊端口的转换服务 |
---|---|
snat | 源地址转换 |
dnat | 目标地址转换 |
pnat | 目标端口转换 |
mangle表