最通俗易懂的iptables防火墙介绍

说到防火墙,我们先来搞搞防火墙是什么东西吧!相信大家日常生活中一定听过“翻墙”之类的词汇吧,墙到底是什么呢?

防火墙

重点来了!!!防火墙技术 是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。。。

度娘总是这么善解人意,可是麻烦度娘下次说人话,Ok?

通俗的说法也就是自己家外面的墙,防止小偷之类的,以保证我们的安全,我们自己要出去,肯定从“门”走,而那些小偷、黑客就得夜半时分偷偷翻墙喽!计算机也就是我们的家,当然也有大“家”,比如公司内网,学校内网

防火墙分类:【逻辑上】

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

iptables与防火墙的关系

iptables 并不是真正意义上的防火墙,我们可以理解为一个客户端工具,用户通过ipatbles这个客户端,将用户的安全设定执行到对应的"安全框架"中,这个"安全框架"才是真正的防火墙,这个框架的名字叫netfilter。 哦,也就是给门上面安装密码、指纹、人脸识别之类的,你符合我的要求,才能进去!!!

netfilter才是防火墙真正的安全框架,netfilter位于内核空间。

iptables是一个命令行工具,位于用户空间,通过这个命令行工具来操作netfilter。

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

哦,废话真多,不过还没讲完,我们要想设置自己家的密码,首先还得知道,如果==“来者”符合这样的条件,就得这样处理这个数据包==

条件是什么呢?就是规则,也就是我们的接头暗号,哈哈哈。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等

==当然不管你是否符合暗号,我们的墙都得对你做出一些反应,比如说:滚!或者进来吧。也就是放行(accept)、拒绝(reject)和丢弃(drop)等。==我们配置防火墙的主要工作就是添加、修改和删除这些规则。

了解了这些,我们就来康康外面的人到底是怎么通过“墙”的。
报文的流向: 到本机某进程的报文:PREROUTING --> INPUT 由本机转发的报文:PREROUTING --> FORWARD–> POSTROUTING 由本机的某进程发出报文(通常为响应报文):OUTPUT --> POSTROUTING

上面这些讨厌的英文单词就是“”,这个是很重要的规则集结地。当报文经过这些关卡的时候,则必须匹配这个关卡上的规则,但是,这个关卡上可能不止有一条规则,而是有很多条规则,当我们把这些规则串到一个链条上的时候,就形成了"链"

前面讲了链,我们在链上放了各种规则,那么这些规则是不是可以合并呢,比如A规则是限制ip地址访问,B规则也是限制ip地址访问,我们把相同功能的一些规则合并。这样来简化操作。

我们把具有相同功能的规则的集合叫做“”,不同的规则放置于不同的表中工作,在iptables中定义了四种表,每种表对应不同的功能。

说明
filter表 负责过滤功能,防火墙;内核模块:iptables_filter
nat表 network address translation,网络地址转换功能;内核模块:iptable_nat
mangle表 拆解报文,做出修改,并重新封装 的功能;iptable_mangle
raw表 关闭nat表上启用的连接追踪机制;iptable_raw

表和链的关系

表(功能) 链(钩子)
raw REROUTING,OUTPUT
mangle REROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
nat REROUTING,OUTPUT,POSTROUTING(centos7中还有INPUT,centos6中没有)
filter INPUT,FORWARD,OUTPUT

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

除了上面讲的规则外,我们还有一些常见的规则与处理方式:

匹配条件

基本匹配条件 扩展匹配条件
源地址 Source IP 源端口 Source Port
目标地址 Destintion IP m目标端口 Destination Port

处理动作

动作 含义
ACCEPT 允许数据包通过
DROP 直接丢弃数据包,不给任何回应信息,这时候客户端会感觉自己的请求泥牛入海了,过了超时时间才会有反应。
REJECT 拒绝数据包通过,必要时会给数据发送端一个响应的信息,客户端刚请求就会收到拒绝的信息
SNAT 源地址转换,解决内网用户用同一个公网地址上网的问题
MASQUERADE 是SNAT的一种特殊形式,适用于动态的、临时会变的ip上
DNAT 目标地址转换
REDIRECT 在本机做端口映射
LOG 在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则,也就是说除了记录以外不对数据包做任何其他操作,仍然让下一条规则去匹配
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值