




已阅读5页,还剩55页未读, 继续免费阅读
(计算机应用技术专业论文)linux下vpn安全网关实现技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士研究生毕业论文 l i n u x 下v p n 安宁网关实现技术研究 摘要 v p n ( v i r t u a lp r i v a t en e t w o r k ,虚拟专用网) 的目的足在不安全的 i n t e r n e t 网络环境中利用安全隧道以及数据加密等技术,构建逻辑上的专用网 络,并实现信息数据的安全传输。实际应用中的v p n 主要包括了两种模式,分别 为个人移动用户接入( r o a dw a r r i o r ) 模式以及网对网( n e t - t o n e t ) 模式。前一 种模式主要应用于不具有固定i p 的个人移动用户从公网接入v p n ,而后一种模 式则在分布的私有子网间建立安全的数据通道。 本文就如何实现支持这两种模式的v p n 安全网关进行了研究。首先介绍了基 于i p 的v p n 和基于m p l s 的v p n 两种主要的v p n 技术,并进行了简单的比较。随 后,针对基于i p 的v p n 安全网关所使用的主要技术p p t p 、l 2 t p 以及i p s e c ,分 别进行了分析,并给出了其在l i n u x 下的实现的关键技术,及如何实现w i n d o w s 操作系统问的互操作性。其中p p t p 和l 2 t p 主要应用于个人用户接入,而i p s e c 则应用于网对网模式。接下来,针对目前基于i p s e c 的虚拟专用网应用在网络规 模较大时配置复杂、难以管理的问题,提 一种动态星型网对网v p n 系统,该系 统定义v p n 集中器与子网网关间的消息交换机制以支持子网网关动态加入退出 v p n ,引入组的概念提供各子网间的访问控制管理。并进一步介绍了在i 。t n u x 下 实现该系统的方法。最后对v p n 技术的发展方向进行了艘望。 关键字:虚拟专用网,点对点隧道协议,第二层隧道协议,互联网协议安全,多 协议标签转发 浙江大学硕士研究生毕业论文 l i n u x 下v p n 安全网关实现技术研究 a b s t r a c t v p n ( v i r t u a lp r i v a t en e t w o r k ) i sal o g i c a lp r i v a t en e t w o r kb u i l tb y t h et e c h n o l o g i e so ft u n n e li n ga n de n c r y p tin gt oe n s u r et h ed a t ab e e x c h a n g e di ns e c u r i t yt h r o u g ha nn o ns e c u r en e t w o r k t h e r ea r et w om a i n a p p l i c a t i o nm o d e so fv p n ,t h er o a dw a r r i o rm o d ea n dt h en e t t on e tm o d e i nt h ef o r m e rm o d et h ev p na c c e s ss e r v i c ef o rn o m a n i cp e r s o n a lu s e r si s p r o v i d e da n d i nt h el a t t e rt h ev p nt u n n e l sa r ee s t a b l i s h e db e t w e e nt h e g a t e w a y so fd is t r ib u t e ds u b n e ts t h ist h e s i sp r e s e n t sh o wt oi m p l e m e n tav p ng a t e w a yt os u p p o r tt h e b o t ht w om o d e s f i r s t l y t h et w ov p na r c h i t e c t u r e sb a s e do ni pa n dm p l s a r ei n t r o d u c e da n dc o m p a r e d t h e r ea r et h r e ev i t a lp r o t o c o l sf o ri pv p n , w h i c ha r ep p t p l 2 t pa n di p s e c p p t pa n dl 2 t pa r eu s e di nt h er o a dw a r r i o r m o d em o s t l y w h i l ei p s e ci sm o s t i vu s e di nt h e n e tt o n e tm o d e t h e a n a l y s e sa n di m p l e m e n t a t i o nm e t h o d si nl i n u xo ft h e s et h r e ep r o t o c o l sa r e g i v e n :m e a n w h i l et h ew a y st oc o o p e r a t ew i t hw i n d o wo sa r ea l s oj n t r o d u c e d i nt h en e x t ,t or e s o v et h ep r o b l e mt h a ti ti sh a r dt oc o n f i g u r ea n dm a n a g e al a g e rs c a l ev p nb a s e do ni p s e c ,ad y n a m i ch u b a n ds p o k ev p ns y s t e mw a s d e f i n e d i nw h i c ht h ev p nh u be x c h a n g e sm e s s a g e sw it hs u b n e tg a t e w a y st o s u p p o r tt h eg a t e w a y st oj o i n q u i tv p nd y n a m i c a l l ya n dt h en o t i o no f “g r o u p ”i si n t r o d u c e dt op r o v id ea c c e s sc o n t r o lf o ra 1 1s u b n e t s a n d t h ew a yt oi m p l e m e n ti t i nl i n u xo sj sa l s og i y e n f i n a l 】y ,t h es u m m a r y a n dt h ei n t r o d u c t i o no fd e v e l o p m e n to f v p nt e c h n o l n g yf i n i s ht h i st h e s i s k e y w o r d s :v p n ,p p t p ,l 2 t p ,i p s e c ,m p l s 2 浙江大学硕士研究生毕业论文 l i n u x 下v p n 安全网关实现拉术研究 第一章v p n 技术概述 1 1v p n 产生背景 随着计算机通信网络技术的发展和社会、企事业单位对信息需求的日益增 长,网络规模、用户数量以及业务量都呈指数增长,信息交换的主要流量由局部 流量向广域流量转移。这一趋势打破了传统的组网方式,给企业生存带来了新的 生机,为企业寻找到了一条扩大业务范围,增加用户服务的途径。企业正从局部 范围扩大为分布式组织结构,其自身的分支机构和合作伙伴遍布世界各个角落。 为了打破空间距离的限制,急需建立一条具有高效、快速、经济和安全的网络传 输通道。传统的解决方法一般是通过在公共网络上租用模拟或数字专线组成专用 网络来实现。专用网络主要有两种类型。一种是通过广域网技术在不同地点的机 构建立永久连接,另一种是拨号网络,即通过p s t n 或i s d n 建立到远程网络的连接。 广域网通常是通过租用线路或专用电路实现的,比如,通过帧中继或a t m 链路来 连接分布在不同地点的机构。专用的拨号网络允许远程用户通过p s t n 或i s d n 链路 连接到企业网。远程用户在访问企业删络时,首先需要拨号到分布在一个或多个 中央机构的网络访问服务器( n a s ) 。 高性能、高速度、高安全性是专用网络明显的优势。专用网络同时支持一系 列协议,比如帧巾继、异步传输模式a l m _ 千n t c p i p 协议。然而,租用专线费用昂 贵,往往利用又不充分,使网络运营成本很高。此外,企业还需要对所建立的专 用网进行维护和管理。专用网中的硬件设备,女d m o d e m 、i s d n 交换机和帧中继电 路需要不断地加强功能,应用软件也需要升级换代,企业需要为此付出巨大的人 力、物力和财力。因此,传统的通过租用专线或拨号网络的方式越来越不适用。 自8 0 年代以来,以计算机和现代数据网络为主体的技术发展取得了很大突 破。特别是i n t e r n e t 的发展,将全球数据通信网络联为一体,导致了传统信息 技术在资源拥有能力,l _ 二的突破。基于i n t e r n e t 的应用成为减少运营成本、提高 管理效率的有效途径。正基于此,水文要阐述的技术一虚拟专用网( v p n ,v i r t u a l p r i r a t en e t w o r k ) 应运而生。虚拟专用网技术的目的是在不安全的i n t e r n e t 网 络环境中,利用安全隧道以及访问控制等技术,构建逻辑卜的专用网络,并实现 信息数据的安全传输。随着网络建设的发展,v p n 已经成为企业提高运转效率并 有效降低成本的重要手段。 v p n 的基本思想是使用公共网络传递企业内部网络的数据,对于这一问题, 研究人员提供了两种不同的解决思路,从而形成了v p n 领域的两大技术体系。第 一种解决思路是使用隧道技术,在隧道一端将内部数据包封装在公网可寻址的 浙江大学硕士研究生毕业论文l i n u x 下v p n 安令网关实现技术研究 i p 数据包内,经公网路由后到达隧道另一段,再解封装恢复内部数据包。这种 v p n 架构称为i pv p n 。另一种技术则使用m p l s 协议,在内部网络数据包中添加 标签,数据的转发根据标签转发路径( l s p ) 进行,称为m p l $ v p n 。本章将对这 两种v p n 体系架构的主要技术进行介绍。 1 2i p v p n 实际应用中的i pv p n 主要包括个人用户接入( r o a dw a r r i o r ) 以及网对网 ( n e t t o n e t ) v p n 两种模式。前1 种模式主要应用于不具有固定i p 的个人移动 用户,通常使用p k i 、p 协议或l 2 t p i p s e c 协议捆绑拨号接入v p n 安全网关,由 p p p 协议实现虚地址的分配以及数据安全性。后一种模式则通常在具有固定公网 i p 的安全网关之间协商建立i p s e cs a ,来确保各私有子网之间安全的互相访问。 i pv p n 的关键技术包括建立连接的隧道技术、针对接入用户的身份验证技术和 确保数据传输安全的加密技术。 1 2 1 隧道技术 靳m 一:1 图1 - 1i p v p n 应用模式 隧道( t u n n e l i n g ) 技术是v p n 的支撑技术,其在实质上是种封装技术,既将 一种协议的数据包封装在另一种协议的数据包中进行传输。这样就实现了被封装 的协议对传输网络的透明性。隧道的概念首先在1 9 8 1 年的r f c 7 9 1 中提出,是 作为一种传输到i n t e r n e t 中特定路由器的多点传输数据包的加密方法建议的。而 “隧道”术语的定义则一直到r f c l 0 7 5 中才发布,该r f c 进一步定义并详细描 述了这一过程,称为“封装”( e n c a p s u l a t i o n ) 1 1 。r f c 2 1 9 4 2 i 则第一次直接提及 v p n ,并指出使用隧道协议来实现。目前主要有两种隧道封装协议:应用在o s i 七层模型中数据链路层的第二层隧道协议,包括p p t p 、l 2 f 以及l 2 t p 协议: 应用在i p 层的第三层隧道协议,即i p s e c 协议族的e s p 协议。 点对点隧道协议p p t p 是p p t p 论坛开发的点对点的安全隧道协议,其建立 浙江人学硕士研究生毕业论义l i n u x 下v p n 安全网关实现技术研究 在p p p 协议和t c p i p 之上,实质上是对p p p 协议的一种扩展。p p t p 叫的工作原 理是将内部网络的数据包封装到p p p 包中,然后再使用通用路由协议o r e 对p p p 数据包进行封装。封装后的包通过i p 在客户和p p t p 网关之间传送。p p t p 在协 商建立及维护隧道和会话时,使用的是基于t c p 的会话控制。控制会话包利用 状态查询方式在客户和服务器之间传送信息。对于p p t p 隧道,由使用的p p p 协 议通过用户口令提供身份验证、数据加密以及i p 地址分配等服务,而p p t p 本 身并不具有对隧道终点的验证功能。 l 2 f 是c i s c o 公司白行开发的隧道协议。l 2 f 要求每个用户端局域网有专用 的网关。l 2 f 可运行在多种w a n 协议之上如a t m 、帧中继等,如果客户选用的 专用网是基 二这些存因特网上不支持的协议,那么l 2 f 可以把i n t e m e t 作为企业 专用网的扩展,即通过i n t e r n e t 把地域上分离的各个专用网连接起来,同时在 i n t e r n e t 上建立v p n 的隧道连接。l 2 f 主要强调的是通过对使用各种w a n 协议 的数据重新封装来使它能在i p 网上传输。对于远程或拨号用户的初始连接,l 2 f 将使用p p p 或其他的标准,通过c h a p 或其他协议来进行验证。l 2 f 建立虚拟 通道用来传送包含验证,授权和记账信息的数据报。 l 2 f ;f i ip p t p 虽然技术的出发点是一致的,但两者有明显的不同。两者在封 装和加密上使用不同的标准,互相之间并不兼容。为解决这一问题,l 2 f 和p p t p 都提交给i n t e r n e t i 程任务组i e t f 进行标准化,形成了l 2 t p 协议,1 9 9 9 年8 月公布 了l 2 t p ( l a y e rt w ot u n n e l i n gp r o t o c 0 1 第二层隧道协议1 的标准r f c 2 6 6 1 4 1 。它综 合了p p t p j f u l 2 f 的优点,提供对多协议的支持,可以把多个物理通道捆绑成单一 逻辑信道,不仅使数据的传输率大火地提高,而且由于单一数据流同时在多个物 理信道上并行传输,可以有效地防止通过对物理信道的监听而出现的数据泄密或 篡改。l 2 t p 使用两种报文:控制报文与数据报文。控制报文用于隧道和会话的 建立和维护,数据报文则封装了p p p 数据包。封装数据包的安全性则使用i p s e c 来保证。 p p t p 、l 2 f 以及l 2 t p 都是将内部网络数据包封装到数据链路层的p p p 数据包 内,因而均属于第二层隧道协议,多应用于个人用户拨号接入v p n 网络。而i p s e c 隧道则将内部l p 数据包封装在公网可寻址的i p 数据包内,属于第三层隧道协议, 多用于网关到网关的v p n 。i p s e c 的基本结构在r f c 2 4 0 1 i s 中定义。而整个i p s e c 体系实际是一系列的协议簇所构成,其主要包括认证头( a h ) 、封装安全载荷 ( e s p ) 、i n t e r n e t 密钥交换( i k e ) 等协议。a h 提供数据完整性、数据源身份认 证及一些可选的、有限的抗重放攻击服务,由m d 5 等散列算法产生的校验保证数 据完整性,e s p w 以提供数据机密性、数据完整性、数据身份认证和重放攻击保 护,其中数据机密性是必须的,通过对数据报进行d e s 等加密运算获得。a h 和 e s p 都可工作在两种模式下,即传输模式和隧道模式。在传输模式中,只保护i p 浙江大学硕士研究生毕业论文l i n u x 下v p n 安垒网关实现技术研究 的上层协议和数据,i p 报头的内容不被保护,而在隧道模式中,上层协议、数据 和i p 报头的内容都通过封装被保护起来。此外,i p s e c 体系还包括了对安全关联 ( s a ) 和安全策略( s p ) 的管理。安全策略说明对符合特定规则的i p 数据报实 施何种方式的保护。s a 由通信双方协商建立,决定了保护数据安全的i p s e c 协议、 模式、算法、密钥、生存期等。i p s e cv p n 使用e s p 隧道模式。 1 2 2 身份验证技术 p p t p 和l 2 t p * t j 用p p p 协议完成用户身份验证。p p p 协议支持多种身份验证协 议,包括p a p 、c h a p 、e a p ,以及与w i n d o w s 客户端用户进行验证的m s c h a p 和m s c h a p v 2 。p a p 为两次握手验证,以明文的形式传递口令。c h a p 通过使用 m d 5 ( 一种工业标准的散列方案) 来协商种加密身份验证的安全形式。c h a p 在响应时使用质询一响应机制和单向m d 5 散列。用这种方法,可以向服务器证明 客户机知道密码,但不必实际地将密码发送到网络上。e a p 的开发是为了适应对 使用其他安全设备的远程访问用户进行身份验证的日益增长的需求。通过使用 e a p ,可以增加对许多身份验证方案的支持,其中包括令牌卡、一次性密码、使 用智能卡的公钥身份验证、证书及其他身份验证。m s c h a p 与c h a p 类似,而 m s c h a p 2 提供了相互身份验证和更强大的初始数据密钥,而且发送和接收分别 使用不同的密钥,并且客户端和服务器端要进行双相的身份验证。如果所连接的 服务器不提供对自己身份的验证,则连接将被断开。 i p s e c 隧道双方的身份验证在i k e 阶段完成。i k e 协商过程分两个阶段。第一 阶段,协商创建。个通信信道( i s a k m ps a ) ,并对该信道进行队证,为双方进 一步的i k e 通信提供机密性、数据完整性以及数据源认证服务;第二阶段,使用 已建立的i s a k m ps a 建立i p s e cs a 。阶段一的认证过程通过消息交换完成。支持 的认证方式包括预共享密钥、公开密钥以及x 5 0 9 数字证书等。对于预共享密钥, 认证双方使用预先约定的相同密钥。公开密钥方式则双方需要持有自己的公私 钥及对方的公钥。x 5 0 9 证书是一种由发布者数字签名的用于绑定某种公开密钥 和其持有者身份的数据结构,由证书授权机构( c a ,c e r t i f i c a t i o n a u t h o r i t y ) 签发。 在进行身份验证时,可以使用本地认证方式,即认证口令或证书储存在本机 上。而1 l a d i u s 贝l j 提供了一种分布式认证服务,能够有效的将接入与认证分离。 用户接入v p n 时,v p n 接入服务器将用户信息发送到r a d i u s 服务器进行认证, 认证结果由r a d i u s i 务器返回。r a d i u s 可以支持多种认证方式。 1 2 3 加密技术 如果仅使用封装而对被封装的数据包不进行加密处理,则无法带来任何的安 4 浙江大学硕上研究生毕业论文 l i n u x 下v p n 安牟网关实现技术研究 全性。加密是确保数据机密性的必要手段。基于密钥的加密算法通常分为两类, 对称算法与公开密钥算法。出于性能的考虑,在v p n 中,一般使用对称算法对 被封装的数据包进行加密,而加密所使用的密钥一般在隧道建立协商过程中生 成。对称加密算法包括分组密码( b l o c kc i p h e r ) 与流密码( s t r e a mc i p h e r ) 6 1o 分组 密码将明文分成位组( 一般每组为6 4 位) ,对每组进行运算。而流密码则对明文 的每一位或每字节进行运算。常用的加密算法包括d e s 、3 d e s 、a e s 等。w i n d o w s 下的p p t p 则使用了基于r c 4 流密码的m p p e 算法。 除了确保数据机密性外,还必须确保数据在传输过程中不被修改,即数据完 整性。对于这一问题,一般使用单向散列函数计算消息鉴别码( m a c ) 来完成。 单向散列函数足在一个方向上工作的散列函数,从预映射的值很容易计算出散列 值,但要使其散列值等于一个特殊值却很难。常用的单向散列算法有m d 5 以及 s h a l 等。实际应用中,通信双方通常将消息与预共享密钥级联并使用单向散列 函数计算结果作为该消息的m a c 。 1 3m p l s v p n 1 9 9 9 年的r f c 2 5 4 7 7 1 定义了b g p m p l s v p n 体系架构。近几年,该架构已 经得到了大多数厂家的支持,并得到了广泛的应用。 1 3 1m p l s 工作原理 m p l s 起源于l p 路由和标记交换技术,m p l s 技术结合i p 技术信令简单和 a t m 交换引擎高效的优点。m p l s 在网络入l 的边缘路由器( l e a ) 为每个包加上 一个固定长度的标签,核心路由器根据进入包头的标记值进行标记交换,作出本 地转发决定,在出口的边缘路由器再恢复原来的i p 包。从入口到出口一连串这 样的标记交换和转发决定操作,形成了条标记交换路径。传统的i p 数据转发 是基于逐跳式的,又由于i p 是无连接的网络,为了作出本地转发决定,每台路 由器必须根据所收到的每个包的目的地址前缀,查找路由表中所有已知的地址前 缀,寻找匹配的下一跳,并做相应的转发。因为i p 路由使用变长的最k 地址前 缀匹配进行搜索( 搜索匹配前缀最长的一个作为入口) ,因此无法实现高速转发 口。而使用m p l s 标记后,在任何内部交换路由上所使用的标记数量可以少至出 口交换机的数量,使得所需要查找的转发决定表的规模减小,并且标记自身的大 小也小于i p 地址前缀的大小,从而能够实现高速转发。 在每一个l p 数据包中可以只有一个m p l s 标签,也可能同时出现几个标签。 此时称之为标签栈。标签栈由一组标签组成,每个标签长度为四字节,位于数据 链路层头部与网络层头部之间。在m p i s 网络中,实现标签分发并能够根据标签 浙江大学硕士研究生毕业论文 l i n u x 下v p n 安全网关实现技术研究 转发分组的交换机和路由器都属于标签交换路由器( l a b e ls w i t c h r o u t e r ,l s r ) 、 在m p l s 网络边缘执行标签插入或标签弹出的路由器称之为边缘路由器( l a b e l e d g er o u t e r , l e r ) 。标签交换的具体过程,主要包括以下4 个步骤:标记分发 协议和传统路由协议一起,在各个l s r 中为有业务需求的转发等价类建立路由表 和标记映射表。边缘路由器接受分组,判定分组所属的转发等价类,并给分组 加上标签,转发至i j m p l s 网络。在m p l s 网络中,l s r 对标签分组不再进行任何 第3 层处理,只是依据分组最上层的标签以及标签转发表通过交换单元对其进行 转发。在m p l s 出口的路由器上,将分组中的标签去掉后继续进行转发。由此 可见,m p l s 实质上也是一种隧道技术,因此可以用于组建基于m p l s 的v p n 网 络。 1 3 2m p l sv p n 模型 在m p l s 网络中,数据的转发根据标签转发路径l s p 进行,因此将v p n 服 务和l s p 关联起来就能够在m p l s 中实现v p n 。在m p l sv p n 体系结构中,客 户与服务提供商之间分别有一个边缘路由器,分别称之为c e ( c u s t o m e re d g e ) 和p e ( p r o v i d e re d g e ) 。整个m p l sv p n 网络由标签交换路由器l s r 、p e 路由 器以及c e 路由器组成。每个p e 路由器都与一个或多个c e 相连( 每个c e 路由 器代表一。个v p n 节点) ,并在p e 中需要维护每个v p n 的路由表和一个全局路 由表。v p n 路由表用来为v p n 中的客户站点进行路由工作,以保证本v p n 的 数据包能够被正确的转发。全局路由表用于提供到达提供商网络中的其它路由器 以及外部的全局性可到达目的地的路由信息。p e 路由器中的所有路由表都会由 标签分发协议转换成标签转发表,并且各个p e 路由器使用b g p 协议交换v p n 路由信息,并且为每个v p n 分配一个唯的标签。这样以后当有数据到来时, 直接依据标签转发,而不需要查找路由表。 内部 内蹿隔络2 n 1 - 2 m p l s v p n 模型 浙江大学硕士w 究生毕业论文l i n u x 下v i ,n 安全网关实现技术研究 整个m p l sv p n 的工作流程如下:m p l s 的入口p e 路由器收到v p n 的分 组之后,将检查相应的v p n 标签转发信息库,然后取出出口p e 路由器分配的 和目的地址相关联的标签,将其插入到标签栈的底部,再查找转发表,获得下游 路由器分配给该目的地址的标签,将其插入到标签栈的顶部,转发给下游路由器, m p l s 网络中的所有核心路由器( l s p ) 都只根据标签栈顶部的标签来交换v p n 分组,也就是执行常规的m p ,s 转发规则,核心路由器不会查看非栈顶的标签, 因此核心路由器对栈底的标签以及运载的v p n 分组一无所知。出口p e 路由器 收到被标记的分组后,丢弃第个标签,并查找第二个标签,该标签唯一的标识 了目标v p n 的地址,然后查找标签转发表,将v p n 分组转发到合适的c e 路由 器。冉由c e 边缘路由器根据i p 头利用普通的路由技术将数据包转发到对应的 主机。 1 4 两种v p n 架构的比较 尽管i pv p n 与m p 。sv p n 都能够实现v p n 功能,但两者之间仍存在主要 区别: 1 ) i pv p n 的数据安全基于密码学上的安全性,并且i pv p n 的数据包在传 输过程中对于转发路由器是透明的。而m p l sv p n 则提供基于数据包交换传输 路径的安全性,转发路径上的路由器能够意识到v p n 数据包。 2 ) m p l sv p n 的应用范围局限于m p l s 网络内部,基丁m p l s 的v p n 隧 道定义不能够延伸到m p l s 网络之外。而基于t p 的v p n 隧道可以延伸到任何i p 可以到达的地方。 3 ) 基于m p l s 的v p n 通过m p l s 流量_ l 程以及快速路由恢复等技术,能 够很好的解决服务质量( q o s ) 的问题。而t p v p n 则只能提供基于封装协议的q o s 能力。 4 ) m p l sv p n 能够承载多种网络层协议,为不同的网络层协议提供了统一 的基于标签的链路层接口,另外,m p l s 也能基于不同的链路层传输协议,使得 上层网络层协议能够透明的在不同的链路层协议上传输。而基于i p 的v p n 数据 包则必须在i p 网络上传输。 综上所述,i p v p n 与m p l s v p n 具有各自的优势及适用范围。i p v p n 使用 已广泛应用的i p 技术,且实现具有设备无关性,只需部署在i p 网络上即可。而 且通过使用二层隧道防议,i pv p n 能够良好的支持个人移动用户的接入。而 m p l sv p n 能够提供更好的服务质量保证,且利用硬件转发的特性更适合于大规 模v p n 应用。因此,i pv p n 更适合于企业自行部署与管理,而m p l sv p n 则 浙江大学硕士研究生毕业论文l i n u x 下v p n 安全刚关实现技术研究 通常由网络服务提供商负责实施,作为服务提供给企业并收取相应费用。从而, 对于中小型企业及在v p n 上不涉及复杂实时应用和海量数据交换的机构来说, 随着宽带接入技术的成熟和成本的降低,利用i n t e r n e t 在各分支机构自行部署i p v p n 安全网关是相对经济的v p n 实现方案。基于此,本文将具体介绍基于i p 的v p n 安全网关的实现技术,使v p n 安全网关能够提供全面的i pv p n 服务, 包括基于二层隧道协议p p t p 和l 2 t p 的个人移动用户( r o a d w a r r i o r ) 接入v p n 的应用模式,以及基于i p s e c 的网到网( n e t t o n e t ) v p n 应用模式。该网关的 实现基于l i n u x 操作系统。由于各协议之间实现相互独立,因此本文将分章节对 各议分别描述。 浙江人学硕士研究生毕业论文l i n u xfv p n 安全网关实现技术研究 第二章p p t p 实现 2 1p p t p 协议分析 2 1 1p p t p 协议框架 通过区分p p t p 访问集中器( p p t pa c c e s sc o n c e n t r a t o r ,p a c ) 与p p t p 网 络服务器与p n s ( p p t p n e t w o r ks e r v e r ,p n s ) ,p p t p 被设计为。个c l i e n t s e r v e r 模式的协议。p p t p 的实现仪局限于p a c 与p n s 之上,其它的客户或主机并不 需要知道p p t p 的存在。p a c 作为客户端,具有操作p p p 协议和p p t p 协议的能 力,通过拨号与作为服务器端的p n s 建立隧道( t u n n e l ) 。每一对p a c 与p n s 之 间仅能够建立一个隧道,但f u 以存在多个会话( s e s s i o n ) 。会话由拨号用户建立, 是一个建立在拨号主机与p n s 之问的端到端的p p p 连接。每一个会话的p p p 数 据包在p a c 处被封装成以p n s 为目的地址的p p t p 数据报文,到达p n c 后,被 恢复为原始的p p p 数据包。 p p t p 包括两个并行的部分:控制连接和数据传输隧道。p p t p 在p a c 与p n s 之间建立一个控制连接来管理隧道与会话。该控制连接使用f c p 协议来传输会 话控制和管理信息。控制连接通过一组控制报文的交换来完成隧道内会话的建 立、管理与释放。p a c 和p n s 都可以作为建立控制连接的发起者。一旦控制连 接建立后,p a c 和p n s 可以通过发起外出呼叫请求或响应i 呼入请求来建立会话。 p p t p 指定了两种控制连接报文类型:控制报文和管理报文。管理报文目前还没 有定义,已定义的控制连接报文共15 种,以功能分组有控制连接管理类、呼叫 管理类、错误报告类以及p p p 会话摔制类。 具体的控制连接及会话的建市过程如下:远程用户发起个本地呼叫,并启 动一个p p p 连接请求,该连接请求将首先到达p a c 。p a c 检查与p n s 之间是否存 在隧道,若没有,则需要在该p a c 与p n s 之问建立一个控制连接。首先,p a c 发 出s t a r t c o n t r o l c o n n e c t i o n r e q u e s t 报文并等待p n s 的应答。该报文中包含帧格式、 信道类型、支持的最大会话数量等信息。p n s 收到请求报文且发现无冲突后,为 响应该请求向p a c 发 ;s t a r t c o n t r 0 1 c o n n e c t i o n r e p l y 报文,报文中包含一个表示 控制连接建立成功与否的结果域,女果不成功,则在错误域中指出错误原因,如: 命令通道已经存在请求者无权建立命令通道请求者的协议版本不被支持其他 原因出错。如果成功,则要给出帧格式、信道类型、p a c 支持的最大p p p 会话数 量等信息。 在p a c 与p n s 之问的控制连接完成之后,便可以实现会话的建立。p p t p 呼入 浙汀大学碗上研究生毕业论文i n u x 下v p n 安全网关实现技术研究 会话的建立,需要3 个握手信号:呼入请求( i n c o m i n g c a l l r e q u e s t ) 、呼入应答 ( i n c o m i n g c a l l r e p l y ) 和呼入连接( i n c o m i n g c a l l c o n n e c t e d ) 共同完成。p a c 首先向p n s 发送i c r 0 报文,p a c 选择一个会话标识( c a l li d ) 干1 1 一个序列号,并向 p n s 说明访问线路类型、拨出的号码、被q 号码1 以及子地址。一旦p a c 发送一个 请求,它开始等待从p n s 来的应答。p n s 可以选择不接受这个访问,如:没有资 源来处理更多的会话拨出的电话或拨入的电话及子例地址表示是未经授权的用 户通信线路类型不被支持。r e p l y 报文由p n s 发往p a c ,用于响应它收到的淆求 报文。在应答报文中,p n s 选择一个本端c a l li d ,并将请求报文中的序列号复制到 应答报文中。在p a c 端,序列号用于建立请求和应答报文的对应关系。p n s 对请 求的应答放在结果域中,结果包括c o n n e c t g e n e r a le r r o r d on o ta c c e p t 。 p a c 在收到r e p l y 报文后,根据r e p l y 的应答,先同答远程客户的电话呼叫, 完成呼入。然后向p n s 发送i n c o m i n g c a l l c o n n e c t e d 报文,它向p n s 提供一些通常 在r e q u e s t 报文中不能获得的呼叫信息。它n p n s 提供用于呼叫的详细参数,它也 提供信息给p n s 使p n s 调节发送到p a c 的数据的传输。在c 0 1 1 1 1 e c t e d 报文中包含对 端的c a l li d ,它复n f p a c 接收的r e p l y 中的c a l li d ,用于在p n s 端建立它发送r e p l y 报文和它接收的c o n n e c t e d 报文间的匹配关系。在c o n n e c t e d 报文中,还包括实际使 用的以b w s 为单位的连接速度、p a c 接收窗口的大小、从p n s 蛩j p a c 以1 1 0 秒为单 位的容许时问延迟以及呼入的帧的类型等信息。此时,p a c 与p n s 之间的会话连 接已经建立,可以进行相应的数据传输。 会话的建立也可以从p n s 发起。此时涉及到的控制连接报文只有两个:呼出 请求( o u t g o i n g c a r l r e q u e s t ) 报文以及呼出应答( o u t g o i n g c a l l r e p l y ) 报文。 p n s 向p a c 发送q c r q 报文,指定被拨打的电话号码、子网地址、速率和窗口大 小的参数。p a c 必须在确信c a l l 已经成功建立后为它收到的o c r q 报文发送一个 响应报文。该向应报文指出外出呼叫的结果,向p n s 提供用于访问的详细的参数, 如实际使用的连接速度、p a c 为这个会话使用的接收窗口的大小、从p n s 到p a c 的容许的传输延时及物理通道号等信息。 在实际的v p n 应用中,p p t p 主要用于个人移动用户接入v p n 网络。此时拨 号用户与p a c 位于同一台主机,既p p p 连接p p t p 隧道具有相同的端点。在这种 应用模式卜,个人用户的身份认证、虚拟地址分配由p p p 协议完成。认证通过后, p p p 连接的数据包将首先被p p p 协议本身加密,然后在隧道一端被p p t p 使用g r f 协议进行封装,到达隧道另一端后解封。如果队证不通过,p p t p 将断开该会话。 p p p 使用l c p 协议进行数据链路层控制、使用c t i a p 等协议进行身份验证、使用 i p c p 进行网络地址的分配、使用d e s 、3 d e s 、m p p e 等加密算法对数据负载进 行加密。 浙江大学硕士研究生毕业论文i n u x 下v p n 安全网关实现技术研究 2 1 2 数据封装格式 作为第二层隧道协议,p p t p 将所要传输的数据报文通过g r e ( 通用路由封 装) 协议进行封装,然后再封装在所传输网络所使用的网络协议的数据报中( 典 型的为i p 数据报) 进行传递。 l 教鬻链 i q 鬣头氍:p 报丧 即t p 靛料链i l 路报头托制潲息蹋报尼l p p t p 连接摊涮数据乜 p p t p 教强垡搀数据龃 图21p p t p 数据封装格式 g r e 提供了一种通用的在一种协议中封装另一种协议的方法【8 】。g r e 的封 装格式分为三个部分:传输头部( d e l i v e r yh e a d e r ) 、g r e 头部以及载荷报文。 对于p p t p :来说,传输头部为标准i p 头部,载荷报文则是p p p 报文。g r e 报头 的作用主要是标识载荷报文包含的协议类型和加密等选项。p p t p 协议所使用的 g r e 报头与g r e 标准略有不同,称为增强的g r e 头部,具体的格式及意义如 下: 0i2345 韩780 ( ;i l 、 45 67890l2 = l45 678 警0l hks e c oj f 1 a g sv e rp r o t o c o 】t y p o k e y l lw p a y l o a dl e i g mk e ye l w lc a l li d s e 日e l l c en t t m b e r ( o p t ) a c k n o w l e d g :m e n * n l a m l ”r ( o p t ) 图2 - 2 增强的g r e 头部 c 标志位:校验和标志位,置0 。 r 标志位:路由标志位,置0 。 k 标志位:关键字标志位,置1 。 s 标忐位:序列号标志位,如果该g e r 封装中有数据载荷,则该位置l ,否 则置0 。 s 标志位:严格源路由标志位,置0 。 r e c u r :递归控制标志位,置0 。 a 标志位:确认标志位,如果该g r e 封装包含了对以前传输数据的确认序 号,则该位置1 ,否则置0 。 f l a g s :全部置0 。 浙江大学硕士研究生毕业论文l i n u x 下v p n 安全网关实现技术研究 v e r :版本号,置1 ,以标识增强的g r e 头部。 协议类型:对于p p t p 封装,该项值为0 x 8 8 0 b 。 负载长度:载荷报文的长度,不包括g r e 头部。 c a l li d :记录载荷报文所属会话的对端c a l li d 。c a l li d 值唯一标识了该数 据包属于哪一个会话,同时也是p p 3 1 p 数据报文进行n a t 转换的依据。 序列号:该字段包含了当前载荷报文的序列号。 确认序列号:该字段包含了本端所接收到所有报文中最大的序列号值。 在g r e 封装之后,p p t p 的数据载荷是p p p 数据包。p p p 本身也是种对多 种网络协议数据包进行封装的方法1 9 j 。p p p 数据包分为协议域、信息域以及附加 数据三个部分,具体格式及含义如下: 冲p 散蜊乜格武 图2 - 3 p p p 数据封装格式 办议域: 乏度为1 或2 个字节。该域的值标识了信息域中所到装的数据类型。 值的定义遵循r f c l 7 0 0 标准。在p p t p 中所使用的值包括c 0 2 1 f l c p ) 、 c 2 2 3 ( c h a p ) 、8 0 2 1 ( i p c p ) 、8 0 f d ( c c p ) 以及f d ( 1 s tc h o i c ec o m p r e s s i o n ) 。 信息域:该域包含在协议域中指定的数据报文。信息域的格式与具体协议相 关。 附加数据:每一个具体的协议可以在信息域后添加附加数据。信息域与数据 域的总长度最大不能超过m r u 值。区别信息与附加数据由具体协议负责。 2 2p p t p 在l i n u x 下的实现 2 2 1 程序框架结构 通过以上对p h 、p 协议的分析山以看出,p p t p 的实现主要包括协议中控制连 接的实现、g r e 隧道的建立以及数据封装解封的实现、与p p p 驱动的通信三个 部分。用广。的认证数据加密等功能由p p p 驱动完成。由于p p t p 是一个客户端 服务器模式的协议,因此赴程序的实现上同样采用客户端服务器模型。具体到 l i i i u x 操作系统上服务器端的实现,则使用守护进程的实现方法。在p p t p 的控 制连接端口t c p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025山西省中考数学试卷及答案
- 2025年台州温岭市第一人民医院医共体石塘分院招聘派遣员工1人备考练习题库及答案解析
- 2025年哈尔滨市第四十六中学校招聘临时聘用教师1人备考练习试题及答案解析
- 2025年叉子形益智题目及答案
- 2025西咸新区泾河新城第一中学招聘考试参考试题及答案解析
- 2025中国建筑材料工业地质勘查中心新疆总队 (中建材新疆地质工程有限公司) 第三批招聘(3人)备考练习题库及答案解析
- 遗体火化师题库及答案
- 2025浙江温州市瑞安市面向大学毕业退役士兵招聘事业单位(国有企业)工作人员考试参考试题及答案解析
- 2025云南省宣威市羊场镇中心学校招聘编制外学龄前教育有关辅助人员(38人)备考练习题库及答案解析
- 2025年仓库领导试题及答案
- 土地增值税清算培训课件
- 2025年青海省格尔木市辅警招聘考试试题题库及答案详解(易错题)
- 2025年中学生法治素养竞赛题库及答案
- 2025年部编版语文四年级上册全册单元、期中、期末测试题及答案(共10套)
- 村级妇联半年工作总结
- 数控安全培训课件
- 台球俱乐部工作管理制度
- 肉毒素中毒的治疗讲课件
- 蓝色简约风医学生职业生涯规划展示模板
- 土建安全员c类考试试题及答案
- 第四版(2025)国际压力性损伤溃疡预防和治疗临床指南解读
评论
0/150
提交评论