164 lines
7.8 KiB
Typst
164 lines
7.8 KiB
Typst
#import "labtemplate.typ": *
|
||
#show: nudtlabpaper.with(title: "VPN实例配置",
|
||
author: "程景愉",
|
||
id: "202302723005",
|
||
training_type: "无军籍",
|
||
grade: "2023",
|
||
major: "网络工程",
|
||
department: "计算机学院",
|
||
advisor: "张军",
|
||
jobtitle: "工程师",
|
||
lab: "306-707",
|
||
date: "2025.09.28",
|
||
header_str: "《网络工程》实验报告",
|
||
)
|
||
#set page(header: [
|
||
#set par(spacing: 6pt)
|
||
#align(center)[#text(size: 11pt)[《网络工程》实验报告]]
|
||
#v(-0.3em)
|
||
#line(length: 100%, stroke: (thickness: 1pt))
|
||
],)
|
||
|
||
#show heading: it => box(width: 100%)[
|
||
#v(0.50em)
|
||
#set text(font: hei)
|
||
#it.body
|
||
]
|
||
|
||
#outline(title: "目录",depth: 3, indent: 1em)
|
||
#outline(
|
||
title: [图目录],
|
||
target: figure.where(kind: image),
|
||
)
|
||
|
||
#show heading: it => box(width: 100%)[
|
||
#v(0.50em)
|
||
#set text(font: hei)
|
||
#counter(heading).display()
|
||
// #h(0.5em)
|
||
#it.body
|
||
]
|
||
#set enum(indent: 0.5em,body-indent: 0.5em,)
|
||
#pagebreak()
|
||
|
||
= 实验目的
|
||
1. 了解VPN的基本概念及应用场景;
|
||
2. 掌握VPN在隔离数据流、构建虚拟网络中的关键作用;
|
||
3. 熟悉VPN的配置方法与工作机制。
|
||
通过本实验,我将学习VPN的基本原理及其在实现多租户隔离、提升网络灵活性方面的重要应用。同时,通过实践掌握VPN实例的创建、接口绑定及路由表配置等操作,深入理解VPN实例在数据转发和隔离中的实现机制,并了解其与根实例的区别及优点。实验将进一步验证VPN实例在多接口场景下的流量隔离效果,帮助我建立对虚拟网络技术的系统性认识,为日后设计复杂网络拓扑和实现网络隔离奠定基础。
|
||
|
||
= 实验原理
|
||
== VPN
|
||
#para[
|
||
虚拟专用网络(VPN,Virtual Private Network)是一种通过公共网络(如Internet)建立安全连接的技术,用于实现远程用户接入、分支机构互联、数据加密传输等应用场景。VPN技术通过加密隧道、身份认证、数据加密等手段,保障数据传输的安全性和隐私性,提高网络通信的可靠性和保密性。常见的VPN类型包括IPSec VPN、SSL VPN、PPTP VPN等,广泛应用于企业网络、远程办公、移动通信等领域。
|
||
]
|
||
== VRF
|
||
=== 概述
|
||
#para[
|
||
虚拟路由转发(VRF,Virtual Routing and Forwarding)技术通过在同一台三层设备上创建多张独立的路由表,实现数据流的隔离和独立转发。VRF广泛应用于MPLS VPN、防火墙等需要隔离的场景。在VRF环境中,每个实例拥有独立的接口、路由表和路由协议进程等,使流量彻底隔离。没有VPN实例时,设备的所有接口都属于同一个根实例;而创建VPN实例后,可以将特定接口绑定到该实例,使其服务于特定业务,从而实现多租户数据的独立管理。在华为设备上VRF又称为VPN实例。
|
||
]
|
||
=== 工作原理
|
||
1. 创建实例:在物理设备中创建VPN实例,用于定义独立的转发域;
|
||
2. 接口绑定:将三层接口(如物理接口、子接口或VLANIF接口)分配给实例,使其成为实例的一部分;
|
||
3. 路由表建立:基于实例绑定的接口和配置的路由协议建立独立的路由表,并按照这些路由表转发数据,从而实现实例间的数据隔离。
|
||
#pagebreak()
|
||
= 实验环境
|
||
== 实验背景
|
||
#para[
|
||
本实验模拟企业网络场景。利用VPN实例技术实现公司内员工所用电脑 client1 不可访问管理client4和client2;公司内管理员所用电脑client2不可访问管理client3和client1。
|
||
]
|
||
|
||
== 实验设备
|
||
#align(center)[#table(
|
||
columns: (auto, auto,auto),
|
||
rows:(auto, auto,auto),
|
||
inset: 10pt,
|
||
align: horizon+center,
|
||
table.header(
|
||
[*设备名称*], [*设备型号*], [*设备数量*]
|
||
),
|
||
|
||
"路由器", "华为AR6120-S", "2",
|
||
"交换机", "华为S5735", "1",
|
||
"PC", "联想启天M410\nWindows 10", "4",
|
||
)]
|
||
#para[
|
||
另有网线若干,控制线3条。
|
||
]
|
||
|
||
= 实验步骤及结果
|
||
== 实验拓扑
|
||
#para[
|
||
按实验背景,绘制拓扑图如下:
|
||
]
|
||
#figure(image("拓扑图.png",format: "png",fit:"stretch",width: 100%),caption: "实验拓扑图")
|
||
#para[
|
||
要求将CLIENT1、CLIENT3和CLIENT2、CLIENT4分别划分到一个VPN实例中。
|
||
]
|
||
#pagebreak()
|
||
== 按照拓扑图接线
|
||
#para[
|
||
按照拓扑图接线。
|
||
]
|
||
#figure(image("正面.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "机柜正面接线图")
|
||
#figure(image("背面.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "机柜背面接线图")
|
||
#pagebreak()
|
||
== 配置基本网络
|
||
=== 配置PC和路由器以及交换机Vlanif的IP地址
|
||
#para[
|
||
配置IP如下表所示:
|
||
]
|
||
#figure(image("IP表.png",format: "png",fit:"stretch",width: 80%),caption: "IP地址表")
|
||
#para[
|
||
具体配置命令较为简单,此处不再赘述,以下为部分步骤截图:
|
||
]
|
||
#figure(image("step1.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "IP配置步骤示例(1)")
|
||
#figure(image("step2.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "IP配置步骤示例(2)")
|
||
#figure(image("step3.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "IP配置步骤示例(3)")
|
||
#figure(image("step4.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "IP配置步骤示例(4)")
|
||
|
||
=== 在LSW1上建立VPN实例
|
||
#para[
|
||
首先需要在LSW1上创建两个VPN实例,分别用于隔离Vlan 20和Vlan 200上的流量。
|
||
]
|
||
#figure(image("step8.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "激活Vlanif接口")
|
||
#figure(image("step9.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "创建VPN实例vpn_employee和vpn_admin")
|
||
#figure(image("step9.5.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "创建管理VPN实例 (vpn_admin)")
|
||
#pagebreak()
|
||
#para[
|
||
接下来需要将VLAN接口绑定到对应的VPN实例并配置IP。
|
||
]
|
||
#figure(image("step5.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "在Vlan 20上绑定VPN实例并设置IP地址")
|
||
#figure(image("step6.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "在Vlan 200上绑定VPN实例并设置IP地址")
|
||
#figure(image("step7.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "在Vlan 10上绑定VPN实例并设置IP地址")
|
||
#para[
|
||
最后只需要在LSW上配置路由并在路由器配置回程路由即可。
|
||
]
|
||
#figure(image("step11.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "在 LSW1 上为VPN实例配置路由")
|
||
#figure(image("step12.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "在 AR1 上配置回程路由,AR2 同理")
|
||
#pagebreak()
|
||
== 结果检验
|
||
#para[
|
||
在LSW1上查看VPN实例信息,确认配置成功:
|
||
]
|
||
#figure(image("step10.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "查看VPN实例信息")
|
||
#para[
|
||
在CLIENT1上分别ping CLIENT2, CLIENT3与CLIENT4,发现CLIENT1与CLIENT2, CLIENT4无法通信,CLIENT1与CLIENT3可以通信:
|
||
]
|
||
#figure(image("step13.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "CLIENT1分别ping VPN内外的主机")
|
||
#para[
|
||
说明VPN实例`vpn_employee`和`vpn_admin`的配置成功,实现了CLIENT1与CLIENT2等的数据隔离。
|
||
]
|
||
= 实验总结
|
||
#para[
|
||
本次实验通过配置VPN实例,实现了不同网络之间的数据隔禆,验证了VPN实例在网络隔离中的重要作用。通过实验,我掌握了VPN实例的创建、接口绑定、路由配置等操作方法,深入理解了VPN实例在数据转发和隔离中的实现机制。同时,通过实验验证了VPN实例在多接口场景下的流量隔离效果,为我今后设计复杂网络拓扑和实现网络隔离提供了重要参考。
|
||
]
|
||
#show heading: it => box(width: 100%)[
|
||
#v(0.50em)
|
||
#set text(font: hei)
|
||
// #counter(heading).display()
|
||
// #h(0.5em)
|
||
#it.body
|
||
]
|
||
#pagebreak()
|
||
#bibliography("ref.yml",full: true,title: "参考文献",style:"gb-7714-2015-numeric") |