自动秒收录

技术分享:图文详解防火墙iptables与NAT服务


文章编号:2249 / 更新时间:2023-12-07 / 浏览:

防火墙,其实就是用于实现Linux下访问控制的功能的,它分为硬件和软件防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略、规则,以达到让它对出入网络的IP、数据进行检测!

目前市面上比较常见的有三、四层的防火墙,叫做网络层的防火墙,还有七层的防火墙,其实是代理层的网关。对于TCP/IP的七层模型来讲,我们知道第三层是网络层,三层的防火墙会在这层对源地址和目标地址进行检测。但对于七层的防火墙,不管你源端口或者目标端口,源地址或者目标地址是什么,都将对你所有的东西进行检查。所以,对于设计原理来讲,七层防火墙更加安全,但是这却带来了效率更低。所以市面上通常的防火墙方案,都是两者相互结合的。

包括iptables及其前身在内,这些都是工作在用户空间中,定义规则的工具,本身并不算是防火墙。它们定义的规则,并且可以让在内核空间当中的“Netfilter”来读取,从而实现让防火墙工作。而放入内核的地方必须要是特定的位置,必须是TCP/IP的协议栈所经过的地方——Netfilter。

iptables只是防火墙的管理工具,在内核中真正实现防火墙功能的是Netfilter。

对Linux而言,TCP/IP协议栈存在于内核当中,这就意味着对数据报文的处理是在内核中处理的,也就是说防火墙必须在工作在内核中,防火墙必须在内核中完成TCP/IP报文所流进的位置,使用规则去检查,才真正能工作起来。

因为在进行NAT/DNAT的情况下,目标地址转换必须在路由之前转换。所以我们必须在外网而后内网的接口处进行设置关卡。

Netfilter规定的这五个位置也叫五个规则链: 技术分享图文详解防火墙iptables与N

iptable的结构:在数据包过滤表中,规则被分组放在我们所谓的链中。链,就是一个规则的列表(如图所示)。

这得由iptables的名称说起,为什么称为iptables呢?因为它里面包含有多个表格(table),每个表格都定义出自己的默认策略与规则,且每个表格的用途都不相同。iptables包含四个表,五个链。其中表是按照对数据包的处理功能区分的,链是按照不同的Hook点来区分的,表和链实际上是netfilter的两个维度。

四个规则表分别为:Filter、NAT、Mangle、Raw,默认表是Filter(没有指定表的时候就是Filter表)。表的处理优先级为:Raw>Mangle>NAT>Filter

iptables采用的是数据包过滤机制工作的,所以它会对数据包的报头信息进行分析,并根据我们预先设定的规则进行匹配来决定是否对数据包的处理方式。

防火墙是层层过滤的,实际是按照匹配规则的顺序从上到下,从前到后进行过滤的。如果匹配上规则,即明确表明是阻止还是通过,数据包就不在向下继续进行匹配了。如果规则中没有明确判断出处理结果,也就是说不匹配当前规则,那么就继续向下进行匹配,直到匹配默认的规则,得到最后的处理结果。所以说规则的顺序至关重要。

防火墙的默认规则是所有的规则均不匹配时,才会执行的规则。

指令常用操作选项:

常用封包比对参数:

注意:通过命令行添加的防火墙指令仅仅是临时生效的,系统重启即失效。

两种增加规则选项的差别:

-Achainrule-specification:添加规则到指定规则链的结尾,成为最后一条规则。

-Ichain[rulenum]rule-specification:如果没有指定序号,则添加的规则将成为对应链中的第一条规则。如果指定了序号,则成为该序号上的规则,而原来位于该序号的规则将往后移一位。

操作实例:禁止PING本机(ping指令属于ICMP协议,其类型为“8”)

生产环境配置防火墙主要有两种模式:逛公园及看电影模式

逛公园模式:默认随便进出,对非法分子进行拒绝。企业应用:企业配置上网网关路由。

看电影模式:默认没票进不去,花钱买票才能够进入电影院。企业应用:服务器防火墙。

可以看出,还是第二种模式更加的严格和安全。其本质区别就是防火墙的默认规则是允许还是拒绝。

企业面试题:自定义链处理“syn”攻击

2.工作中如何维护防火墙

实际生产中,一般第一次添加规则是以命令行或者脚本的方式进行,然后一次性的保存成配置文件,之后的维护工作就是围绕着对该配置文件的修来来进行。

第一步:首先,作为网关的主机除了要具备双网卡并且能够连接互联网等物理条件外,还要确保将内核的转发功能打开。另外,还要求Filter表的“FORWARD”链允许通过。

第二步:确保网关主机的相关模块已经加载

第三步:内网服务器要能够Ping通网关主机的内外网卡。第四步:在网关主机上配置规则(两种方法)。

至此,Linux网关主机配置完毕。

还有一种应用,就是把外部IP地址及端口映射到内部服务器的地址及端口(和共享上网的环境一样)。

把访问外网IP及端口的请求映射到内网某台服务器的地址及指定端口上(企业内部)。

硬件防火墙,把访问LVS/Nginx外网VIP及80端口的请求映射到IDC负载均衡服务器内部IP及指定端口上(IDC机房的操作)iptables在企业中的应用小结:

最为内网共享上网的网关(表:NAT,链:POSTROUTING)

由外到内的端口映射(表:NAT,链:PREROUTING)

连接跟踪表已满,开始丢包的解决办法:

一、关闭防火墙。简单粗暴,直接有效

二、加大防火墙跟踪表的大小,优化对应的系统参数


相关标签: 防火墙服务器网络安全蜘蛛技巧超级蜘蛛查

本文地址:https://www.badfl.com/article/80d1cd2c4484b343e527.html

上一篇:网页文字排版设计的10个小技巧蜘蛛技巧...
下一篇:影响网站关键词搜索结果点击率优化的16个因...

发表评论

温馨提示

做上本站友情链接,在您站上点击一次,即可自动收录并自动排在本站第一位!
<a href="https://www.badfl.com/" target="_blank">自动秒收录</a>