iptables四表五链介绍

一、iptables介绍:

iptables 并不是真正意义上的防火墙,我们可以理解为一个客户端工具,用户通过ipatbles这个客户端,将用户的安全设定执行到对应的"安全框架"中,这个"安全框架"才是真正的防火墙,这个框架的名字叫netfilter

netfilter才是防火墙真正的安全框架,netfilter位于内核空间
iptables是一个命令行工具,位于用户空间,通过这个命令行工具来操作netfilter。

  • 内核空间:也叫做内核态,操作系统占据的内存区域
  • 用户空间:也叫做用户态,用户进程所在的内存区域

硬件驱动代码运行在内核空间,与kernel运行在相同空间内,所以驱动程序发生问题容易造成系统的崩溃。将用户空间与内核空间隔离开,可减少系统崩溃的可能,提高系统的稳定性。再现实环境中,应用程序崩溃的情况比一些硬件故障出现的概率要多的多得多。所以将用户空间和内核空间隔离开很有必要。

netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。

在这里插入图片描述

1.防火墙分类:

从逻辑上分类:

分类说明
主机防火墙针对单个主机进行防护
网络防火墙处于网络入口或者边缘,针对网络入口进行防护,服务于防火墙背后的本地局域网

从物理上分类:

分类说明
硬件防火墙在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高
软件防火墙应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低

二、四表五链详解:

防火墙是按照规则办事的,我们就来说说规则(rules),规则其实就是网络管理员预定义的条件,规则一般的定义为"如果数据包头符合这样的条件,就这样处理这个数据包"。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作就是添加、修改和删除这些规则。

当客户端访问服务器的web服务时,客户端发送报文到网卡,而tcp/ip协议栈是属于内核的一部分,所以,客户端的信息会通过内核的TCP协议传输到用户空间中的web服务中,而此时,客户端报文的目标终点为web服务所监听的套接字(IP:Port)上,当web服务需要响应客户端请求时,web服务发出的响应报文的目标终点则为客户端,这个时候,web服务所监听的IP与端口反而变成了原点,我们说过,netfilter才是真正的防火墙,它是内核的一部分,所以,如果我们想要防火墙能够达到"防火"的目的,则需要在内核中设置关卡,所有进出的报文都要通过这些关卡,经过检查后,符合放行条件的才能放行,符合阻拦条件的则需要被阻止,于是,就出现了input关卡和output关卡,而这些关卡在iptables中不被称为"关卡",而被称为"链"。
在这里插入图片描述
这只是一个简单的描述,除过这两个关卡以外,我们还有其他关卡,也就是其他链,他们就是 “路由前”、“转 发”、“路由后”,对应英文表示为PREROUTING、FORWARD、POSTROUTING。
在这里插入图片描述
报文的流向: 到本机某进程的报文:PREROUTING --> INPUT 由本机转发的报文:PREROUTING --> FORWARD–> POSTROUTING 由本机的某进程发出报文(通常为响应报文):OUTPUT --> POSTROUTING

1.链:

五链的具体作用:prerouting:判断是否为本地—>①若为本地 input—>②若不为本地—> forward(地址转化)—>postrouting

PREROUTINGraw表,mangle表,nat表
INPUTmangle表,filter表,(centos7中还有nat表,centos6中没有
FORWARDmangle表,filter表
OUTPUTraw表,mangle表,nat表,filter表
POSTROUTINGmangle表,nat表

2.表:

说明
filter表负责过滤功能,防火墙;内核模块:iptables_filter
nat表network address translation,网络地址转换功能;内核模块:iptable_nat
mangle表拆解报文,做出修改,并重新封装 的功能;iptable_mangle
raw表关闭nat表上启用的连接追踪机制;iptable_raw
表(功能)链(钩子)
rawREROUTING,OUTPUT
mangleREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
natREROUTING,OUTPUT,POSTROUTING(centos7中还有INPUT,centos6中没有)
filterINPUT,FORWARD,OUTPUT

iptables为我们定义了4张"表",当他们处于同一条"链"时,执行的优先级如下。
优先级次序(由高而低)raw --> mangle --> nat --> filter
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值