目录
一、概述
防火墙的作用
用于保护内网安全的一种设备
依据规则进行防护
用户定义规则
允许或拒绝外部用户访问
防火墙分类
逻辑上划分,防火墙可以大体分为主机防火墙和网络防火墙主机防火墙:针对于单个主机进行防护
网络防火墙:针对网络进行防护,处于网络边缘,防火墙背后是本地局域网网络防火墙主外(服务集体),主机防火墙主内(服务个人)
物理上划分,防火墙可分为硬件防火墙和软件防火墙
硬件防火墙:在硬件级别实现防火墙功能,另一部分基于软件实现,其性能高,硬件成本高
软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,其性能相较于硬件防火墙低,成本较低,对于Linux系统已自带,直接使用即可
防火墙性能
吞吐量
并发连接
新建连接
时延
抖动
硬件防火墙
硬件防火墙定义
硬件防火墙是指把具备配置数据包通过规则的软件嵌入硬件设备中,为网络提供安全防护的硬件设备。多见于网络边缘。
硬件防火墙作用(拓扑图 ups)
软件防火墙
软件防火墙是单独使用具备配置数据包通过规则的软件来实现数据包过滤。多见于单主机系统或个人计算机
硬件防火墙与软件防火墙比较
硬件防火墙有独立的硬件设备,运算效率较高,价格略高,可为计算机网络提供安全防护。
软件防火墙必须部署在主机系统之上,相较于硬件防火墙运算效率低,在一定程度上会影响到主机系统性能,一般用 于单机系统或个人计算机中,不直接用于计算机网络中。
二、iptables
iptables是什么?
iptables不是防火墙,是防火墙用户代理
用于把用户的安全设置添加到“安全框架”中
“安全框架”是防火墙
“安全框架”的名称为netfilter
netfilter位于内核空间中,是Linux操作系统核心层内部的一个数据包处理模块
iptables是用于在用户空间对内核空间的netfilter进行操作的命令行工具
netfilter/iptables功能
netfilter/iptables可简称为iptables,为Linux平台下的包过滤防火墙,是开源的,内核自带的,可以代替成本较高的 企业级硬件防火墙,能够实现如下功能:
数据包过滤,即防火墙
数据包重定向,即转发
网络地址转换,即可NAT
注:平常我们使用iptables并不是防火墙的“服务”,而服务是由内核提供的。
iptables概念
iptables工作依据 规则(rules)
iptables是按照规则(rules)来办事的,而规则就是运维人员所定义的条件;规则一般定义为“如果数据包头符合这样的 条件,就这样处理这个数据包”。
规则存储在内核空间的数据包过滤表中,这些规则分别指定了源地址、目的地址,传输协议(TCP、UDP、ICMP)和服 务类型(HTTP、FTP)等。
当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,比如放行(ACCEPT)、拒绝(REJECT)、 丢弃(DROP)等
iptables中链的概念
在iptables中,链是规则的集合,它定义了数据包在iptables中的处理流程。每个数据包在经过iptables时,都会按照规则从一个链中的一个规则开始,然后依次检查和匹配其他规则,直到遇到一个匹配的规则,或者到达链的末尾。根据匹配结果,可以决定是允许数据包通过,还是拒绝或者进行其他操作。
iptables包含以下几种预定义链:
INPUT链:用于处理进入本机的数据包,包括通过网络接口进入的数据包。
OUTPUT链:用于处理从本机发出的数据包,包括通过网络接口发出的数据包。
FORWARD链:用于处理通过本机的数据包,但不是本机产生和消费的数据包。例如,当本机作为路由器或防火墙时,用于处理转发给其他主机的数据包。
此外,还有一些其他的特殊链,例如:
PREROUTING链:在数据包到达本机内核之前,在路由选择之前执行的链。
POSTROUTING链:在数据包离开本机内核之前,在路由选择之后执行的链。
NAT链:用于网络地址转换(NAT)操作的链&#x