防火墙简介

文章详细介绍了硬件和软件防火墙的区别,包括华为、思科等厂商的产品。接着,深入解析了IP数据包结构、TCP/UDP协议的工作原理,以及TCP的三次握手过程。此外,还阐述了iptables作为Linux服务器的防火墙工具,其四表五链的概念及应用。
摘要由CSDN通过智能技术生成

防火墙类别

硬件防火墙  软件防火墙

硬件防火墙

防火墙程序 在 芯片里  (由 硬件执行   减少 cpu 负担  使路由稳定)

各 网络安全厂商 开发产品

厂商:华为  思科  pix …

软件防火墙

linux 服务器:iptables | firewalld

windows 服务器: ISA

原理

根据 数据包结构、协议、端口、地址、状态、内容等数据包进行 传输控制

数据包结构

Ip 包结构

端口号   

在 计算机中 唯一的 标识一个进程

端口范围  0-65535

保留端口 :  范围  0-1024

部分 默认端口

http类程序 (apache  nginx): 80    443

ftp: 20   21

mysql: 3306

windows 原创桌面: 3389

dns: 53

大部分 测试端口号 为 随机 且 变化 

IP数据包结构

IP数据包整体

分为两部分  IP数据包首部  数据部

IP数据包首部

version

表示 当前数据包 ip类型: ipv4  ipv6

用 4 位 来表示  0100   0110

header length

表示 整个首部 内容 长度

用 4 位 来表示

type of service

简称 TOS

表示 数据包传输的数据类型  实现 让特定类型的数据 实现 优先传输   eg:优先传输语音数据

total length

表示 整个数据包长度 (首部长度+数据部分)

identifcation

用于标识 数据数据包切片属于 同一个数据包

flag

值:R  DF  MF

标识 是否允许 对 数据包 进行切片

fragement offset

设置 每个 数据包切片 大小

time to live

简称  TTL

表示 数据包 生存时间

数据包 每经过一个 路由器 ttl值 减1  当 ttl值为0 数据包 自动丢弃

protocol

通信双方 使用的协议类型

tcp  udp  icmp  arp  rarp

header checksum

首部校验和

通过 首部校验和 判断 数据包 在传输过程中 是否损坏

source ip address

源ip地址

destnation ip address

目的ip地址

数据部

data

传递的数据

如果 首部中协议类型为 tcp/udp  那么 数据部分还会有 tcp udp首部

TCP包结构

source port: 源端口

destnation port: 目的端口

sequence number: 请求序号

acknowledhment number: 应当序号

标识位

FIN

标志位 fin包  表示 请求断开链接

请求断开链接    fin值为1   否则 fin值为0

SYN

标志位 syn包  表示 请求建立链接包

请求建立链接包   syn值为1  否则  syn值为0

ACK

标志位 响应请求包  表示 数据包 对之前 对方发送 的数据包的 响应包

响应请求数据包  ack值为1   否则  ack值为0

TCP包结构

数据包 基本结构:

 源ip  目的ip  源端口  目标端口  协议类型

通信过程

TCP/UDP 协议

TCP:传输控制协议     UDP:用户数据包协议

TCP协议   (Transmission Control Protocol)

通信双方 在 传输数据 之前 需 建立传输通道 之后 才能进行 数据传输

tcp通信过程中 每次发生数据包 需 确认  超时规定时间无确认  则 发送方认为数据包无传输成功  会自动重发

UDP协议  (User Datagram Protocol)

通信双方 无需 建立链接

适用于 端口分别 运行在 同一个设备上 多个 应用程序

TCP  UDP 两者区别

tcp

传输数据 安全

需 建立 传输通道

确认 和 超时 重传机制

通信效率低

udp

传输效率高    安全性较差

系统仅仅是 传输数据  无法确认对方是否收到数据

不需要建立 传输通道  也不需要进行 确认

tcp的三次握手过程

作用: 通信双方 需 建立一个 传输通道

过程:
第一步:客户端 向 服务器端 发生请求  请求建立建立链接
第二步:服务器端 给 客户端 进
第三步:链接建立完成

标志位的变化

三次握手   第一次数据包

syn=1    ack=0    fin=0

三次握手   第二次数据包

syn=1    ack=1    fin=0

三次握手  第三次数据包

syn=0    ack=1    fin=0

链接建立完成后  通信数据包

syn=0    ack=1    fin=0

tcp链接状态

listen       等待对方进行链接

syn_recv    收到建立链接请求

established   链接建立完成后 状态一直为established    (三次握手完成)

iptables 防火墙

一个软件/硬件   在软/硬件中   可以提前定义一套规则 来判断数据包是否为合法包 如果为合法数据包 则允许通行  相反 如果为非法数据包 则禁止通行

防火墙类别

网络防火墙     包含 内部主机

主机防火墙      包含 当前安装防火墙 主机本身

 iptables 既可以作 主机防火墙 也可以作 网络防火墙

nat  网络地址转换

两种地址转换

snat  源地址转换    修改数据包中 源ip

dnat   目的地址转换   修改数据包中 目的ip

iptables 中 nat表 可实现 修改数据包 源ip 和 目的ip   也可修改  数据包源目的端口

iptables基础理论

四表五链

四表:filter  nat  mangle  raw

五链:INPUT  OUTPUT  FORWARD  PREROUTING  POSTROUTING

filter 表

filter表 ( 三链 )过滤 不合法 数据包

INPUT      进入数据包  进行检查

OUTPUT    发出数据包  进行检查

FORWARD  转发数据包  进行检查

nat表

nat表  ( 三链 )不能过滤 修改 数据包

PREROUNTING     判断 数据包 之前  需 检查的规则

POSTROUTING     判断 数据包 之后  需 检查的规则

OUTPUT     发出数据包  进行检查

mangle表

不能过滤 数据包  可以修改数据包 tos、ttl

INPUT      

OUTPUT

FORWARD

POSTROUING

PREROUTING

raw表

不能过滤 数据包 

OUTPUT

POSTROUTING

五链

INPUT:保存的是  处理进入本机  数据包  索要检查的规则

OUTPUT:保存的是  从本机向外发送  数据包  索要检查的规则

FORWARD:保存的是  需要从本机进行转发  数据包  索要检查的规则

PREROUTING:保存的是 在判断数据包目标  之前   需要检查的规则

POSTROUTING:保存的是 在判断数据包目标  之后  需要检查的规则

iptables 流程图

iptables应用

centos 6 and centos 7

centos 6   防火墙 只有 iptables

centos 7    支持iptable and firewalld    默认 firewalld​​​​​​​ 

(iptable、firewalld 本质一样           使用 firewalld 需调用iptables )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值