iptables 高性价比的防火墙
Linux中建立在内核上的防火墙iptables
在网络攻击方式和技术日益增多的21世纪,服务器的安全性逐渐显得尤为重要,在主机防护层面相比昂贵的硬件防火墙设备,iptables是一种性价比很高的包过滤型软件防火墙,无需昂贵的费用,只需消耗一定的服务器计算资源。
iptables的基本概念
Netfilter:
iptables是建立在内核上的防火墙,而NetfilterLinux内核的一个数据处理模块。
而iptables就相当于在用户空间对于Netfilter的一个调用接口。
Hook point:
iptables既然作为一种防护墙,对于那些不坏好意的不明访问,自然需要一些“守门神”来值班站岗,将不怀好意的家伙统统挡在门外或者让他们缴械投降,
而hook point就起到这个作用,说的专业一点hook point就是数据报文在Netfilter中的挂载点(这么说显得逼格高一些),如上图中所示一个数据报文在经过Netfilter的调用接口iptables进入内核空间后只有通过hook point的审查后才能获准进入网络层从而交给相应的应用服务。
iptables的“四表”和“五链”
hook point作为数据报文在Netfilter中的挂载点,共有五个类型分别是:
- PREROUTING
- INPUT
- OUTPUT
- FORWARD
- POSTROUTING
这五个挂载点又称为iptables的规则链
既然防火墙对于外来入侵者有了“守门神”那么作为守门神的hook point应该遵循什么样的守门规则呢,iptables的“四表”就是建立在五条规则链上的四种“规则”类别。iptables的四张表及其作用分别是:
filter:访问控制、规则匹配
net:网络地址转换(IP地址和端口转换)
mangle:拆解数据报文,做出修改,并且重新封装报文
raw:关闭net表上启用的连接追踪机制。
数据报文在iptables中的流转过程
既然一个数据报文在进入网络层前需要经过hook point的层层“审查”,那么审查的先后次序又是怎样的呢?
注:图中destination=localhost? 指的是一个数据报文中流经iptables时的路由选择阶段。
由图中可以看出中iptables的五条规则链中,每条链可以同时存在多张表,那么一个数据报文,中流经一个规则链时,要先进入那张表呢?
iptables四张表的生效优先级是:raw---->manger--->nat--->filter
***** 版权声明:本博客资料及图片,来源于网络及马哥教育和慕课网,相关版权归原作者所有。*****
原文地址:http://blog.51cto.com/3037673/2070585