目录
2、用例2
一:什么是防火墙
1、什么是防火墙
防止别人恶意入侵服务器的软件。
2、防火墙分类
从逻辑上讲。防火墙可以大体分为主机防火墙和网络防火墙。
主机防火墙:针对于单个主机进行防护。
网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网。
网络防火墙和主机防火墙并不冲突,可以理解为,网络防火墙主外(集体), 主机防火墙主内(个人)。
从物理上讲,防火墙可以分为硬件防火墙和软件防火墙。
硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高。
软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低。
3、防火墙的原理
通过iptables规则操作netfilter系统安全框架,从而实现对网络的安全过滤。
详细描述:
iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的”安全框架”中,这个”安全框架”才是真正的防火墙,这个框架的名字叫netfilter
netfilter才是防火墙真正的安全框架(framework),netfilter位于内核空间。
iptables其实是一个命令行工具,位于用户空间,我们用这个工具操作真正的框架。
netfilter/iptables(下文中简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。
Netfilter是Linux操作系统核心层内部的一个数据包处理模块,它具有如下功能:
网络地址转换(Network Address Translate)
数据包内容修改
以及数据包过滤的防火墙功能
所以说,虽然我们使用service iptables start启动iptables”服务”,但是其实准确的来说,iptables并没有一个守护进程,所以并不能算是真正意义上的服务,而应该算是内核提供的功能。
4、防火墙是通过什么过滤网络
防火墙是通过四表五链来过滤网络的。
iptables 是集成在 Linux 内核中的包过滤防火墙系统。使用 iptables 可以添加、删除具体的过滤规则,iptables 默认维护着 4 个表和 5 个链,所有的防火墙策略规则都被分别写入这些表与链中。
5、什么是表
表是具备某些具体功能的防火墙安全过滤规则。
“四表”是指 iptables 的功能,默认的 iptables规则表有
filter 表(过滤规则表)防火墙
nat 表(地址转换规则表)network address translation网络地址转换功能;内核模块:iptable_nat
mangle(修改数据标记位规则表)、拆解报文,做出修改,并重新封装 的功能;iptable_mangle
raw(跟踪数据表规则表):关闭nat表上启用的连接追踪机制;iptable_raw
filter 表:控制数据包是否允许进出及转发,可以控制的链路有 INPUT、FORWARD 和 OUTPUT。
nat 表:控制数据包中地址转换,可以控制的链路有 PREROUTING、INPUT、OUTPUT 和 POSTROUTING。
mangle:修改数据包中的原数据,可以控制的链路有 PREROUTING、INPUT、OUTPUT、FORWARD 和 POSTROUTING。
raw:控制 nat 表中连接追踪机制的启用状况,可以控制的链路有 PREROUTING、OUTPUT。
6、什么是链
链是将表的过滤规则放置在具体的位置去执行。
“五链”是指内核中控制网络的 NetFilter 定义的 5 个规则链。每个规则表中包含多个数据链:
INPUT(入站数据过滤)、
OUTPUT(出站数据过滤)、
FORWARD(转发数据过滤)、
PREROUTING(路由前过滤)、
POSTROUTING(路由后过滤)
防火墙规则需要写入到这些具体的数据链中。
Linux 防火墙的过滤框架如下:

如果是外部主机发送数据包给防火墙本机,数据将会经过 PREROUTING 链与 INPUT 链;如果是防火墙本机发送数据包到外部主机,数据将会经过 OUTPUT 链与 POSTROUTING 链;如果防火墙作为路由负责转发数据,则数据将经过 PREROUTING 链、FORWARD 链以及 POSTROUTING 链。
7、链的使用场景
流入:PREROUTING ---> INPUT
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
流出:POSTROUTING <--- OUTPUT
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
流经:PREROUTING ---> FORWARD ---> POSTROUTING
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
报文流向经过的链

到B网络某进程的报文:PREROUTING –> INPUT
由B网络的某进程发出报文:OUTPUT –> POSTROUTING
由B网络转发的报文:PREROUTING –> FORWARD –> POSTROUTING
8、表和链之间的关系
filter : IN

本文详细介绍了Linux防火墙iptables的工作原理,包括其构成的四表五链,规则的添加、修改与过滤操作,以及各类协议和动作的支持。涵盖了实战用例和练习,帮助读者理解并掌握iptables的配置和管理。
最低0.47元/天 解锁文章
67

被折叠的 条评论
为什么被折叠?



