登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

基于L2TP over IPSec VPN技术的网络方案设计

 2022-12-10 10:12  

论文总字数:30287字

摘 要

2019年12月前后,湖北省武汉市部分医院发现了多例肺炎病例,证实为新型冠状病毒感染引起的急性呼吸道疾病。因该病毒具有极强的传染性,中国各省市均延长假期,延迟返工,封锁部分城市进出渠道,鼓励居民出行戴口罩,无必要情况不得出门,在采取以上措施对抗新冠肺炎的同时,对网络技术的极大需求随之而来,学生教师通过网络直播的方式进行线上教课,一些企业通过钉钉、腾讯会议等软件进行工作交流,除此之外,还存在部分企业需要安全接入公司内网的需求。本文尝试提出一种网络方案设计,来满足这一需求。

关键词:VPN;安全;远程接入;IPSec;L2TP

Design of network scheme based on L2TP over IPSec VPN Technology

Abstract

Around December 2019, a number of pneumonia cases were found in some hospitals in Wuhan, Hubei Province, which confirmed to be acute respiratory diseases caused by New Coronavirus infection. Considering that the virus is highly infectious,Chinese provinces and cities had extended their vacation, delayed reemployment, blocked City access and encouraged residents to wear masks and no need to go out. While these measures were taken to combat the new crown pneumonia, great demand for Internet technology followed. Students and teachers teach online through live webcast, and some enterprises communicate through nailing, Tencent conference and other software. In addition, some enterprises need to access the company's intranet safely. This paper attempts to propose a network design to meet this demand.

Keywords: VPN; Security; Remote access; IPSec;L2TP

目录

第一章 引言 6

1.1. 选题背景 6

1.2. 需求分析 6

1.3. 方案设计 7

1.4. 概要设计 7

第二章 L2TP over IPSec VPN协议原理 7

2.1.1. rip的缺陷 7

2.1.2. ospf的定义 7

2.1.3. ospf初始化流程 7

2.1.4. ospf对比rip的优势 8

2.1.5. ospf分区域管理 9

1. 分区的原因 9

2. 路由器⻆⾊ 9

3. 区域类型 9

2.1.6. 配置命令 9

2.2.1. 定义 9

2.2.2. vlan的转发过程 10

2.2.3. vlan⼯作原理 10

1. 交换机端⼝类型 10

2. PVID 10

3. vlan类型 10

4. vlan间路由:vlan只⽤来隔离⼆层,并不是⽤来做访问控制 11

2.3.1. L2TP VPN概述 11

2.3.2. L2TP介绍 11

2.3.3. L2TP⼯作原理 11

2.3.4. 组⽹模式 11

1. 独⽴LAC拓扑结构 11

2. 客户LAC拓扑结构 11

2.3.5. L2TP封装 12

2.3.6. L2TP协议操作 12

1. 建⽴控制连接 12

2. 建⽴会话 12

3. 转发PPP帧 12

4. 隧道状态维护 12

5. 关闭会话与关闭控制连接 12

2.4.1. IPSec VPN定义 12

2.4.2. IPSec的体系结构 12

1. ⼯作模式 12

2. 安全协议 12

3. 密钥管理 13

2.4.3. IPSec SA 13

1. 定义 13

2. 来源 13

3. IKE 13

2.4.4. IPSec⼯作流程 13

1. 出站流程 13

2. ⼊站流程 13

3. IPSec隧道建⽴流程第⼀阶段 13

4. IPSec隧道建⽴流程第⼆阶段 13

5. 第⼀阶段协商模式 13

6. 第⼆阶段协商模式 14

7. NAT穿透 14

8. IPSec VPN端⼝ 14

2.4.5. IPSec配置 14

2.4.6. 配置命令 15

1. 主模式 15

2. 野蛮模式 15

2.5.1. GRE over IPSec 16

1. IPSec最大的优点就是安全,但他仍然是一个点到点的隧道,不支持组播 16

2. 先封装GRE,再封装IPSec 16

3. 通过Tunnel口建邻居,可以跑协议 16

4. 原理 16

5. 具体流程 16

第三章 方案论证与实现 17

3.1. 网络拓扑设计 17

3.2. 详细配置信息 20

1. SW1 20

2. SW2 21

3. LAC 23

4. LAC1 25

5. Internet 27

6. LNS 28

  1. 引言
    1. 选题背景

2020年春节前后,新冠肺炎疫情的出现对全国人民的生活和工作造成了巨大冲击,由于新型冠状病毒极强的传染性,国家疾控中心于2020年1月15日启动一级应急响应;2020年1月22日,中国国家卫健委承认已出现人传人以及医务人员感染,病毒存在变异可能;2020年1月24日,湖北七地封城,暂停全省旅行社经营活动,学校推迟开学时间;2020年2月7日,教育部称未经学校批准均不准返校。疫情之下,国家呼吁全国人民没有必要情况不要出门,全国各省延迟开学,延迟返工,以响应国家号召。

    1. 需求分析

在疫情全面爆发的背景下,产生了对网络技术的极大需求,一方面是会议、授课、面试等对于线上实时直播技术的要求,另一方面则是数据传输,在此分支之下又分为安全数据传输和不安全数据传输,部分公司企业在接入内网的过程中要保证对数据的加密处理,以防止公司文件、账号密码等资源的泄露。

    1. 方案设计

在VPN出现之前,使用传统拨号接入模式。拨号接入方式通常使用PSTN\ISDN等直接拨叫NAS,但长途拨号费用太高,打电话按一分钟0.2元算,上网一小时就是12元,网速只有56k,更不用说外地长途拨号费用。为了取代这个专线,产生了L2TP VPN。

L2TP VPN属于Access VPN,是一个C\S架构的VPN,只支持传输PPP数据帧,具备PPP的特性:验证和动态地址分配。同时具备点对网络特性,也就是点到多点,只需要一个隧道就可以连接多个分支。

IPSec本身是一个安全保护机制,可以建立VPN隧道,是目前企业中最常用的对接分支机构的VPN技术。

因此本课题所研究的L2TP over IPSec VPN结合两种VPN的优势,对数据包先进行L2TP封装,再进行IPSec的封装,L2TP用于实现用户验证和地址分配,IPSec保证报文传输过程的安全。此项技术可以用于公司分部或在家员工接入总部内网。

    1. 概要设计

本课题的关键问题在于L2TP的组网模式以及IPSec第一阶段协商模式的选择,考虑到员工在家办公时IP地址固定,并且可以使用自己的PC或路由器作为LAC设备,进行以下选择:

L2TP的组网模式选择客户LAC拓扑结构,直接由自己的PC或者路由器等设备来充当LAC的角色,不依赖额外的LAC设备。

IPSec第一阶段协商模式选择主模式,双方IP地址固定,进行6次握手,两端的身份信息经过加密处理,更加安全可靠。

  1. L2TP over IPSec VPN协议原理
    1. OSPF(Open Shortest Path First开放式最短路径优先)协议
      1. rip的缺陷
  2. 以跳数为度量值并不是⼀个准确的度量⽅案
  3. 收敛速度太慢,在⼤规模核⼼组⽹中等不了这么久
  4. 最⼤跳数的设置为15,不适⽤于⼤规模组⽹
  5. rip发送路由更新是发送的所有内容,但是可能发送的内容⾃⼰和对端都知道,发送并没有意义,浪费了网络带宽
  6. 协议在某些情况下会产⽣路由⾃环
      1. ospf的定义
  7. 开放式最短路径优先,基于链路状态特征
  8. ⼯作在ip层,ospf的报⽂直接封装在ip报⽂⾥,没有端⼝号,实际上是⼀个三层协议,协议号89
      1. ospf初始化流程
  9. 建⽴邻居和邻接关系
    1. rip在这⾥有邻居的概念,但是没有建⽴邻居的过程
    2. 当ospf配置好了后,⼀开始会双⽅互相发送hello报⽂,通过hello报⽂的三次握⼿建⽴起邻居关系,hello报⽂通过组播形式发送,组播地址224.0.0.5,建⽴邻居关系,有三个条件:
      1. 接⼝状态是up
      2. 双⽅接⼝ip地址在同⼀⽹段
      3. 双⽅接⼝在同⼀区域
  10. 邻居关系建⽴好后,还不能相互传递路由信息,避免造成混乱和资源浪费,还要选举DR/BDR
    1. 选举原因:⼴播⽹络中使路由信息交换更加⾼速有序
    2. 选举范围:每个⽹段上都要选举出⼀个DR和⼀个BDR,意味着⼀个路由器可能兼具多个⻆⾊。只有在ppp链路中,路由器才能断定只有⼀台路由器与其相连,因此不需要选举DR和BDR,其余情况都要选举。
    3. 选举规则:优先级⼤的优先,每台路由器出⼚都会有⼀个默认优先级为1,因此光靠优先级可能选举不出DR和BDR,所以再看Router-id,Router-id⼤的优先
  11. Router-id
    1. 定义:简称Rid,⽤于标识路由器的身份
    2. 产⽣⽅法
      1. ⼿动配置⼀个IPv4地址格式作为Rid,这个地址可以不存在
      2. ⾃动选举:在所有环回⼝中选举IP地址最⼤的作为Rid,如果没有环回⼝,则在所有物理接⼝中选举IP地址最⼤的作为Rid建议⼿动配置⼀个本地环回⼝的IP地址作为Rid。
  12. 选举出DR/BDR后,按照特定的关系判断是否需要进⼀步建⽴邻接关系:
    1. 所有的DRother会分别与与DR建⽴邻接关系
    2. DRother与BDR建⽴邻接关系
    3. DR与BDR建⽴邻接关系
    4. DRother之间保持邻居关系,不会传任何东⻄
    5. 只有建⽴了邻接关系的路由器才会进⾏到下⼀步交换链路状态信息
  13. 邻接路由器之间交换链路状态信息,实现区域内链路状态数据库同步
    1. 相关概念
      1. 链路状态通告(LSA):⽤来描述路由器的接⼝、路由条⽬的相关信息。链路状态协议和距离矢量协议。最⼤的不同就在于此,距离矢量协议传输路由,链路状态协议传输链路信息,所以ospf不会成环
      2. 链路状态数据库(LSDB):存储本地所有LSA
  14. ⼯作流程
    1. 向邻接路由器发送DD(数据库描述)报⽂,通告本地的链路状态数据库中所有LSA的摘要信息,这⾥的信息只提取摘要信息⽽并⾮完整内容,避免双⽅都知道的信息进⾏重复发送
    2. 收到DD后,与本地的数据库做对⽐,向对⽅发送LSR(链路状态请求)报⽂,请求发送本机所需的LSA的完整信息
    3. 收到LSR后,就会根据请求内容把对⽅所需的LSA的完整信息打包为⼀条LSU(链路状态更新)报⽂,发送⾄对⽅
    4. 收到LSU后,向对⽅回应LSAck报⽂,进⾏确认,实现了链路状态数据库的同步
    5. 可以看出ospf⼀共有五种报⽂:hello报⽂,DD报⽂,LSR报⽂,LSU报⽂,LSAck报⽂,当所有路由器的链路状态数据库都同步后,每台路由器根据本机链路状态数据库,计算到达每个⽬的网段的最优路由,写入路由表
      1. ospf对比rip的优势
  15. 没有最⼤跳数限制
  16. ⽤cost衡量路径质量
  17. 不发送完整路由表,只发送增量信息
  18. 协议不会产⽣⾃环
      1. ospf分区域管理
  19. 分区的原因
    1. 加快收敛速度
    2. 把⽹络故障隔离在区域内部
  20. 路由器⻆⾊
    1. IR:内部路由器,所有接⼝都处于同⼀个区域
    2. ABR:区域边界路由器,连接不同区域的路由器
    3. ASBR:⾃治系统边界路由器,连接外部⾃治系统的路由器
  21. 区域类型
    1. ⻣⼲区域:只能有⼀个,并且⻣⼲区域必须是连续的
    2. ⾮⻣⼲区域:必须连接到⻣⼲区域,可以起到防环的作⽤
    3. 特殊区域
      1. 配置命令
  22. ospf [进程编号(默认1号)] router-id x.x.x.x
  23. 进⼊区域1:area 0.0.0.1 / area 1
  24. 宣告⽹段 (精确宣告):network x.x.x.x(⽹段地址) 反掩码(对全0对应处要求保持⼀致,对全1处⽆要求)
  25. 配置静默接⼝:silent-interface 'interface id'
  26. 查看ospf邻居关系:diplay ospf peer
  27. 查看ospf路由:diplay ospf routing
  28. default-route-advertise [ [ always | permit-calculate-other ] | cost cost | type type |route-policy route policy-name [ match-any ] ]
    1. VLAN(Virtual Local Area Network)
      1. 定义
  29. 虚拟局域⽹,⽤来在⼆层⽹络中隔离⼴播域(三层直接靠路由器隔离)
  30. 不同vlan的设备在⼆层⽹络中⽆法互相通讯,也就是说,vlan是⼀个⼆层隔离技术,只能在⼆层做隔离
      1. vlan的转发过程
  31. 数据帧进⼊交换机,会被打上vlan tag;vlan tag中的vlan id就是收到帧的接⼝的所属vlan;⼀旦数据帧被打上vlan tag,就变成了802.1Q格式的帧
  32. 交换机检查数据帧的⽬的MAC地址,进⾏判断;如果⽬的MAC的接⼝允许tag中的vlan id 通过,则数据帧可以转发;否则,丢弃该帧
  33. 数据帧从出接⼝发往PC前,会剥离vlan tag,使之还原为标准的以太⽹帧的格式802.1Q,在源MAC地址和Type之间携带vlan tag的帧格式,计算机不识别
      1. vlan⼯作原理
  34. 交换机端⼝类型
    1. Access
      1. ⼀个access端⼝必须也只能加⼊到⼀个vlan;从access收到的帧,会打上该端⼝所属vlan的tag;从access端⼝发出的帧会剥离tag
      2. 基于对标签处理的特征,⼀般⽤来连接pc或路由器
      3. H3C交换机默认所有端⼝都是access类型,属于vlan1;华为是hybrid
    2. Trunk
      1. 可以允许多个vlan的数据通过;从trunk端⼝发出的帧保留vlan tag,如果剥离的话将⽆法处理,但是缺省vlan除外;trunk端⼝收到未打tag的帧,会重新打上缺省vlan的tag
      2. 因为其不剥离标签的特性,发出的帧计算机不能识别,所以⼀般⽤来连接交换机
    3. Hybrid
      1. 可以允许多个vlan的数据通过;可以⼿动配置从Hybrid端⼝发出的帧,哪个vlan保留tag,哪个vlan剥离tag;Hybrid收到未打tag的帧,会᯿新打上缺省vlan的tag
      2. 典型的利⽤场景:两台pc通过交换机连接服务器,要求两台pc不能互通
      3. 基于其对标签可以⼿动处理的特征,既可以⽤于连接PC/路由器,也可以连接交换机
  35. PVID
    1. 定义:表示某个端⼝的缺省vlan
    2. 特征
      1. Access端⼝所属的vlan就是pvid,不⽤配置,默认是vlan1
      2. Trunk端⼝需要⼿动配置pvid,默认是vlan1
      3. Hybrid端⼝需要⼿动配置pvid,默认是vlan1
  36. vlan类型
    1. 基于端⼝的vlan:端⼝固定属于某个vlan,⽐较常⽤
    2. 基于MAC地址的vlan:不管这个MAC地址接在哪个接⼝,vlan归属不变。前提是端⼝类型需要配置为Hybrid,这种vlan使⽤情况相对⽐较少
    3. 基于协议的vlan:此处的协议是三层协议绑定到vlan,同⼀协议的报⽂⽆论从哪个端⼝接受,vlan归属不变,⼏乎没有使⽤
    4. 基于IP⼦⽹vlan:在云计算环境中会有使⽤,IP⽹段绑定到vlan,同⼀个IP⼦⽹到设备,⽆论连接在哪个端⼝,vlan归属不变,前提是端⼝类型需要配置为Hybrid
    5. vlan归属优先级:MAC地址gt;IP⼦⽹gt;协议gt;端⼝
  37. vlan间路由:vlan只⽤来隔离⼆层,并不是⽤来做访问控制
    1. 定义:指导设备对不同vlan间进⾏三层数据转发
    2. 实现⽅式
      1. 单臂路由
        1. 交换机上划分多个vlan
        2. 路由器单线连接到交换机
      2. 三层交换
        1. ⽅法⼀:把⼀个物理接⼝从⼆层⼝改成三层⼝后再配ip,但是该⽅法不推荐
        2. ⽅法⼆:把⼀个物理⼝加⼊vlan,然后把ip配在vlan上,好处是稳定,不容易挂
        3. 三层交换的好处在于二层和三成转发一次完成,效率比单臂路由高很多
    3. L2TP VPN
      1. L2TP VPN概述
  38. 在VPN出现之前,⼀般是使⽤PSTN拨号接⼊内⽹,这种传统的拨号⽅式费⽤极⾼,如果打电话按⼀分钟0.2元,⼀⼩时就是12元,⽽且⽹速只有56k,更不⽤说⻓途费⽤,成本极⾼
  39. L2TP现在已经很少使⽤,因为其效率偏低,封装流程复杂;需要专⻔的客户端拨号软件才能连接
  40. 为了解决以上问题,使⽤L2TP构建Access VPN
      1. L2TP介绍
  41. 隧道传送的是ppp帧
  42. 具备ppp的传输特性,可以⽀持身份验证和地址的动态分配
  43. 点对⽹络特性,也就是点到多点,只需要⼀个隧道就可以连接多个分⽀
      1. L2TP⼯作原理
  44. 由不同的⽤户,通过不同的session id标识会话,由LNS识别是哪⼀个远程⽤户发过来的数据
  45. L2TP VPN是⼀个C/S结构的VPN,在总部⼀端创建⼀台LNS(验证)服务器,提供远程接⼊服务,所有的远程⽤户都是客户端
      1. 组⽹模式
  46. 独⽴LAC拓扑结构
    1. 默认情况下是不拨号的,LAC不会和LNS建⽴隧道。由PC发送PPPoE请求到LAC,LAC发送请求到LNS请求建⽴L2TP隧道,PC再向LAC申请⼀个session id。当PC断开,LAC会将其session id释放,如果隧道中还有会话,则不会释放隧道。当隧道中没有会话,才会断开隧道
    2. 隧道的建⽴⽅是运营商的⼀个VPN设备
  47. 客户LAC拓扑结构
    1. ⽤户⾃⼰的PC或路由器直接充当LAC,类似于Site-Site VPN,不需要依赖额外的LAC设备
      1. L2TP封装

重新封装三次,⼀个以太⽹的MTO最多不能超过1500字节,留下的能承载数据的空间就变⼩了

      1. L2TP协议操作
  1. 建⽴控制连接
    1. PPP验证阶段触发隧道建⽴
    2. LAC⽤任意UDP端⼝向LNS的UDP端⼝1701发起连接
  2. 建⽴会话
    1. 会话和PPP连接⼀⼀对应
    2. ⼀个隧道中可以承载多个会话
  3. 转发PPP帧
    1. 会话建⽴后,即可转发PPP帧
    2. ⽤Tunnel ID和Session ID区分不同隧道和不同会话的数据,也就是说可以在同⼀个接⼝上创建多个隧道,每个隧道会有⾃⼰的Tunnel ID
  4. 隧道状态维护
    1. LAC和LNS状态会通过hello包进⾏保护
  5. 关闭会话与关闭控制连接
    1. 如果只是某个客户端把VPN断掉,结束的是VPN
    2. 当隧道⾥的会话全部断掉,结束的才是隧道
    3. IPSec VPN
      1. IPSec VPN定义
  6. IPSec是⼀个安全保护机制,VPN只是其附带的⼀个功能,保护的是IP协议
  7. IPSec VPN是利⽤IPSec隧道实现的三层VPN
  8. IPSec也存在着配置复杂,不⽀持组播等缺点,这⾥可以采⽤GRE over IPSec的⽅式规避不⽀持组播的特点
      1. IPSec的体系结构
  9. ⼯作模式
    1. 传输模式:实现端到端保护。如果只是希望IPSec提供安全保护,但是不建⽴VPN隧道
    2. 隧道模式:实现站点到站点保护。在保护数据的同时还会进⾏VPN隧道建⽴
  10. 安全协议
    1. AH:头部校验
      1. 只能做签名校验,但是不能加密,也就是只能防篡改和防伪造,但不能防窃听
      2. 不能穿透NAT。把整个数据包做签名校验,经过NAT需要修改原IP,对端收到数据后做校验计算出的hash值不⼀致,认为是被篡改,丢弃该数据包,所以不能穿透NAT
      3. IP协议号51
    2. ESP:封装安全载荷
      1. 既能够做签名校验,也能加密
      2. 校验部分不包含外层的公⽹头部,只对原始数据包做验证,NAT篡改头部没有影响,所以是能够穿透NAT的
      3. IP协议号50
  11. 密钥管理
    1. ⼿动配置静态密钥
    2. 通过IKE⾃动协商密钥
      1. IPSec SA
  12. 定义
    1. IPSec安全联盟
    2. ⼀个SA定义了⼀套对某些数据流进⾏保护的⽅案,对不同的分⽀机构要使⽤不同的保护⽅案,定义使⽤什么保护协议、什么算法、使⽤什么密钥
  13. 来源
    1. ⼿动建⽴,静态配置
    2. 通过IKE⾃动协商,现在基本采取这种⽅式
  14. IKE
    1. 定义:⽹络密钥交换协议
    2. 功能:保护密钥传输和密钥的⾃动协商
      1. IPSec⼯作流程
  15. 出站流程
    1. 数据包到达出接⼝后,查找SPD策略(记录对哪个站点调⽤哪个IPSec SA),需要丢弃则丢弃,需要提供安全服务时,进⾏查找IPSec SA,如果找到,执⾏安全服务,封装好后转发数据包;如果没有找到,再去查找IKE SA,如果有找到,在IKE SA的保护下创建IPSec SA,然后执⾏安全服务进⾏转发,如果没有找到IKE SA,则先创建IKE SA,再创建IPSec SA,最后对数据包进⾏转发
    2. 如果要产⽣IPSec SA,前提是必须有IKE SA,关系到IPSec隧道建⽴流程
  16. ⼊站流程
    1. 数据包到达⼊接⼝,查看⽬的地址是否本地,如果不是就进⾏转发,如果是就进⼊IPSec解封装流程,看该数据包是否被IPSec保护,如果没有被保护,提交给上层处理,如果被保护了,查找对应的原地址所对应的SA,如果没有找到则直接丢弃,如果找到了,根据该SA定义的保护⽅案解开IPSec封装,获得原始IP包。
  17. IPSec隧道建⽴流程第⼀阶段
    1. IKE SA协商,使⽤⾮对称算法,协商出保护第⼆阶段的保护⽅案
    2. 如果IPSec SA是⼿动建⽴,则没有第⼀阶段
  18. IPSec隧道建⽴流程第⼆阶段
    1. IPSec SA协商,使⽤对称算法,在IKE SA保护下,协商出保护数据传输的⽅案
    2. 使⽤⾮对称保护对称,使⽤对称保护数据,体现了⼀个反复加密的思想,既保证了安全性,⼜不会牺牲效率
  19. 第⼀阶段协商模式
    1. 主模式
      1. 双⽅要进⾏6次握⼿,因为最后的第五次和第六次是通过默认的⾮对称加密保护,两端的身份信息被包含在第五次和第六次握⼿中,已经通过加密处理,所以更加安全可靠
      2. 缺点是由于配置IPSec时需要明确知道对⽅的IP地址是多少,才能知道使⽤哪个SA,所以双⽅必须具备固定的公⽹IP
      3. ⽆法穿透NAT,因为是使⽤公⽹IP标识身份,穿透NAT会修改IP
    2. 野蛮模式
      1. 三次握⼿,只有第三次是被加密,身份信息在第⼀次和第⼆次握⼿中传输,不加密
      2. 可以通过主机名标识对⽅身份,⽀持某⼀⽅公⽹IP不固定,但必须由IP地址不固定的⼀⽅主动发起协商
      3. ⽀持NAT穿透
  20. 第⼆阶段协商模式
    1. 快速模式
      1. 出站IPSec SA,作封装之后转发
      2. ⼊站IPSec SA,对接收到的IPSec的包做解封装
  21. NAT穿透
    1. 因为ESP/AH只是三层封装,没有四层头部,所以⽆法被NAT转换端⼝
    2. NAT穿透是在ESP头部前再封装⼀个UDP4500端⼝的四层头部
  22. IPSec VPN端⼝
    1. UDP500 未使⽤NAT穿透
    2. UDP4500 使⽤了NAT穿透
      1. IPSec配置
  23. 数据包不管是要⾛VPN还是正常上⽹,最终都要从公⽹⼝发送,所以路由器需要⼀个机制判断是要封装还是要正常当成上⽹的数据包来处理
  24. 感兴趣流:为了抓取需要被IPSec保护的数据包
  25. 什么叫流:⼀组五元组全部相同的数据包,从同⼀个地⽅来,到同⼀个地⽅去,做同⼀件事
  26. 配置ACL:Source IP Des IP
  27. 配置默认路由0.0.0.0/0----S1/0,最终会把IPSec策略下发在公⽹⼝,下发在哪个接⼝,封装公⽹头部的时候封装的就是哪个接⼝的IP
  28. 完整流程
    1. ⼀个数据包进⼊路由器,路由器查看⽬的IP匹配路由表
    2. 路由表没有匹配的明细路由,所以⾛默认路由,按照默认路由把数据包导向公⽹⼝
    3. 触发公⽹⼝下发的⼀个IPSec策略,检查数据包的原末IP和端⼝信息,⽐对感兴趣流,如果匹配,判断为这个数据包需要做VPN封装
    4. 按照IPSec SA⾥⾯定义的协议、算法等加上ESP头部,并且做加密签名验证
    5. 加上新Des和Sour IP,完成IPSec数据包封装,再查路由表,匹配到默认路由,发送出去
    6. 到达对端路由器,检查新头部原末IP在本地有没有⼊站SA,如果有,调⽤SA的密钥进⾏解密,如果没有则丢弃
    7. 对签名做校验,确认后拆掉ESP头部,查看内部私⽹路由,转发给相应PC
    8. 两端的PC是感知不到加密解密的过程的
    9. NAT的优先级⼤于IPSec,可以配置⾼级acl,⾸先deny掉需要加密传输两端的原末IP,然后permit源IP,⽬的IP不写表示匹配所有IP,由IPSec来permit需要加密的原末IP
      1. 配置命令
  29. 主模式
    1. 【第⼀阶段】配置感兴趣流
      1. acl ad 3000
      2. rule permit ip sou 192.168.1.0 0.0.0.255 des 192.168.2.0 0.0.0.255
    2. 创建IKE SA⽅案,指定IKE的协商算法和密钥协商算法,默认采⽤预共享密钥协商
      1. ike proposal 1
      2. authentication-method pre-share
      3. display ike proposal
      4. encryption-algorithm
      5. authentication-algorithm
    3. 创建预共享密钥
      1. ike keychain (建议⽤对⽅的身份来标识)sh
      2. 对100.2.2.3对站点设置⼀个ike的协商密钥是123456:pre-shared-key [hostname | address] 100.2.2.3 key simple 123456
    4. 创建IKE 模版
      1. ike profifile sh
      2. 改模式exchange-mode(默认是主模式)
      3. 指定对端站点,匹配远程的id身份:match remote identify address 100.2.2.3
      4. 调⽤1号提议:proposal 1
      5. 调⽤key chain:keychain sh
      6. 查看第⼀阶段的ike sa:display ike sa
    5. 【第⼆阶段】创建ipsec转换集
      1. ipsec transform-set sh
      2. 配置保护协议:protocol esp
      3. 配置⼯作模式:encapsulation-mode tunnel
      4. 指定验证算法:esp authentication-algorithm md5
      5. 指定加密算法:esp encrytion-algorithm des-cbc
    6. 创建IPSec策略
      1. 在ike保护下⾃动协商:ipsec policy sh 1 isakmp
      2. 绑定安全acl:security acl 3000
      3. 指定远程地址:remote-address 100.2.2.3
      4. 调⽤转换集:transform-set sh
      5. 调⽤ike模版:ike profifile sh
      6. 进⼊公⽹⼝下发ipsec策略:ipsec apply policy sh
      7. 查看第⼆阶段的ipsec sa:display ipsec sa
  30. 野蛮模式
    1. IP地址固定的⼀⽅不⽤⼿动配置感兴趣流,会⾃动根据对⽅的协商请求⽣成感兴趣流
    2. 配置IKE名称
      1. ike identity fqdn bj
    3. 创建IKE提议
      1. ike proposal 1
    4. 创建密钥串
      1. ike keychain fz
    5. 分别制定密钥
      1. pre-shared-key hostname sh key simple 123
      2. pre-shared-key hostname wh key simple 456
    6. 创建IKE模版1
      1. ike profifile shexchange-mode aggressive
      2. match remote identity fqdn sh
      3. proposal 1
      4. keychain fz
    7. 创建IKE模版2
      1. ike profifile wh
      2. exchange-mode aggressive
      3. match remote identity fqdn wh
      4. proposal 1
      5. keychain fz
    8. 【第⼆阶段】创建IPSec转换集
      1. ipsec transform-set fz
      2. esp authentication-algorithm md5
      3. esp encrytion-algorithm des-cbc
    9. 创建IPSec策略
      1. 同时对接两个分公司,⼀个公⽹⼝只能调⽤⼀个IPSec策略,所以先创建两个IPSec策略模版,再在创建策略的时候,分别绑定两个模版
      2. ipsec policy-template sh 1
      3. transform-set fz
      4. ike-profifile sh
      5. ipsec policy-template wh 1
      6. transform-set fz
      7. ike-profifile wh
    10. 创建IPSec策略
      1. ipsec policy fz 1 isakmp template sh
      2. ipsec policy fz 2 isakmp template wh
    11. 进⼊公⽹接⼝下发IPSec策略
      1. ipsec apply policy fz
    12. IPSec VPN 嵌套
      1. GRE over IPSec
  31. IPSec最大的优点就是安全,但他仍然是一个点到点的隧道,不支持组播
  32. 先封装GRE,再封装IPSec
  33. 通过Tunnel口建邻居,可以跑协议
  34. 原理
    1. 隧道口会专门使用环回口指定目的和源,与ACL要保持一致,才能保证被ACL抓取
    2. IPSec面对的不再是原始的私网包,而是经过GRE封装的固定头部,所以感兴趣流只需要写一条
  35. 具体流程
    1. 一个私网数据包,进入路由器查表,有到对端路由器的明细路由,指向Tunnel口
    2. 进入Tunnel口,开始GRE封装,得到新的IP头部,查路由表,没有明细路由,按默认路由走到公网口
    3. 公网口下发IPSec策略,匹配感兴趣流,封装IPSec头部
    4. IPSec下发在哪个接口,封装的目的和源IP就是哪个接口
    5. 再次匹配默认路由,从公网口发出数据包
    6. 对端收到数据包后,拆掉IPSec头部
    7. 查看GRE封装,把数据包交给环回口
    8. 查表匹配最后的私网头部,转发给对应的PC
  36. 方案论证与实现
    1. 网络拓扑设计
      1. 设计思路
  37. 路由器internet模拟公网,LNS模拟LNS服务器,LAC和LAC1模拟LAC服务器
  38. L2TP的组网模式选择客户LAC拓扑结构,IPSec第一阶段协商模式选择主模式
  39. 利用交换机构建局域网,PC利用vlan三层路由实现交换
  40. 启用环回口作为ospf的router-id
  41. 全网通过ospf实现互通,由于这里ospf区域管理不是重点,所有设备划分进area0区域
  42. 最终实现PC能够通过l2tp over ipsec VPN,ping通LNS总部内网192.168.2.1/32
      1. 拓扑图

      1. 基础参数设计
  1. PC端
    1. PC7
      1. IP:90.1.1.1/24
      2. Gateway:90.1.1.254
    2. PC8
      1. IP:80.1.1.1/24
      2. Gateway:80.1.1.254
    3. PC9
      1. IP:100.1.1.1/24
      2. Gateway:100.1.1.254
    4. PC10
      1. IP:110.1.1.1/24
      2. Gateway:110.1.1.254
  2. 交换机
    1. SW1
      1. Loopback1:192.168.6.1/32
      2. G0/1:port access vlan10
      3. Vlan-interface10 IP:90.1.1.254/24
      4. G0/2:port access vlan30
      5. Vlan-interface30 IP:60.1.1.254/24
      6. G0/3:port access vlan20
      7. Vlan-interface20 IP:80.1.1.254/24
      8. 启用ospf协议,宣告网段:
        1. 60.1.1.0 0.0.0.255
        2. 80.1.1.0 0.0.0.255
        3. 90.1.1.0 0.0.0.255
        4. 192.168.6.1 0.0.0.0
    2. SW2
      1. Loopback1:192.168.7.1/32
      2. G0/1:port access vlan40
      3. Vlan-interface40 IP:100.1.1.254/24
      4. G0/2:port access vlan50
      5. Vlan-interface50 IP:70.1.1.254/24
      6. G0/3:port access vlan60
      7. Vlan-interface60 IP:110.1.1.254/24
      8. 启用ospf协议,宣告网段:
        1. 70.1.1.0 0.0.0.255
        2. 100.1.1.0 0.0.0.255
        3. 110.1.1.0 0.0.0.255
        4. 192.168.7.1 0.0.0.0
  3. LAC端
    1. LAC
      1. Loopback1:192.168.4.1/32
      2. G0/0
        1. IP:20.1.1.1/24
        2. ipsec apply policy l2tp
      3. G0/1
        1. IP:60.1.1.1/24
      4. 启用ospf协议,宣告网段:
        1. 20.1.1.0 0.0.0.255
        2. 60.1.1.0 0.0.0.255
        3. 192.168.4.1 0.0.0.0
      5. 下发协议默认路由:default-toute-advertise always cost 0
      6. 静态路由:ip route-static 0.0.0.0 0 20.1.1.2
    2. LAC1
      1. Loopback1:192.168.5.1/32
      2. G0/0
        1. IP:40.1.1.1/24
        2. ipsec apply policy l2tp
      3. G0/1
        1. IP:70.1.1.1/24
      4. 启用ospf协议,宣告网段:
        1. 40.1.1.0 0.0.0.255
        2. 70.1.1.0 0.0.0.255
        3. 192.168.5.1 0.0.0.0
      5. 下发协议默认路由:default-toute-advertise always cost 0
      6. 静态路由:ip route-static 0.0.0.0 0 40.1.1.2
  4. 公网
    1. Internet:
      1. Loopback1:192.168.3.1/32
      2. G0/0:20.1.1.2/24
      3. G0/1:30.1.1.1/24
      4. G0/2:40.1.1.2/24
      5. G5/0:50.1.1.1/24
      6. 启用ospf协议,宣告网段:
        1. 20.1.1.0 0.0.0.255
        2. 30.1.1.0 0.0.0.255
        3. 40.1.1.0 0.0.0.255
        4. 50.1.1.0 0.0.0.255
        5. 192.168.3.1 0.0.0.0
  5. LNS
    1. LNS
      1. Loopback1:192.168.2.1/32
      2. G0/0
        1. IP:30.1.1.2/24
        2. ipsec apply policy l2tp
      3. G0/1
        1. IP:50.1.1.2/24
        2. ipsec apply policy l2tp1
      4. 启用ospf协议,宣告网段:
        1. 30.1.1.0 0.0.0.255
        2. 50.1.1.0 0.0.0.255
        3. 192.168.2.1 0.0.0.0
    2. L2tp over IPSec配置
      1. LNS的配置

# 配置本地用户1,设置密码为123

lt;LNSgt; system-view

[LNS] local-user 1 class network

[LNS-luser-network-1] password simple 123

[LNS-luser-network-1] service-type ppp

[LNS-luser-network-1] quit

# 配置ISP域system对PPP用户采用本地验证

[LNS] domain system

[LNS-isp-system] authentication ppp local

[LNS-isp-system] quit

# 开启L2TP

[LNS] l2tp enable

# 创建LNS模式的L2TP组1,配置tunnel本端名称为lns,对端名为lac,指定接收呼叫的虚拟模板接口为VT1

[LNS] l2tp-group 1 mode lns

[LNS-l2tp1] tunnel name lns

[LNS-l2tp1] undo tunnel authentication

[LNS-l2tp1] allow l2tp virtual-template 1 remote lac

[LNS-l2tp1] quit

# 创建LNS模式的L2TP组2,配置tunnel本端名称为lns,对端名为lac1,指定接收呼叫的虚拟模板接口为VT2

[LNS] l2tp-group 2 mode lns

[LNS-l2tp2] tunnel name lns

[LNS-l2tp2] undo tunnel authentication

[LNS-l2tp2] allow l2tp virtual-template 2 remote lac1

[LNS-l2tp2] quit

# 配置虚模板Virtual-Template1配置接口的IP地址为192.168.0.1/24,PPP认证方式为PAP,并指定为PPP用户分配的IP地址为192.168.0.2。

[LNS] interface virtual-template 1

[LNS-Virtual-Template1] ip address 192.168.0.1 24

[LNS-Virtual-Template1] ppp authentication-mode pap domain system

[LNS-Virtual-Template1] remote address 192.168.0.2

[LNS-Virtual-Template1] quit

# 配置虚模板Virtual-Template2配置接口的IP地址为192.168.1.1/24,PPP认证方式为PAP,并指定为PPP用户分配的IP地址为192.168.1.2。

[LNS] interface virtual-template 2

[LNS-Virtual-Template2] ip address 192.168.1.1 24

[LNS-Virtual-Template2] ppp authentication-mode pap domain system

[LNS-Virtual-Template2] remote address 192.168.0.2

[LNS-Virtual-Template2] quit

剩余内容已隐藏,请支付后下载全文,论文总字数:30287字

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图