try to finish vpn report

This commit is contained in:
2025-10-23 01:00:39 +08:00
parent 4dee61182e
commit 4b15c1b0be

View File

@ -42,12 +42,10 @@
#pagebreak()
= 实验目的
#para[
1. 了解VPN的基本概念及应用场景
2. 掌握VPN在隔离数据流、构建虚拟网络中的关键作用
3. 熟悉VPN的配置方法与工作机制。
通过本实验我将学习VPN的基本原理及其在实现多租户隔离、提升网络灵活性方面的重要应用。同时通过实践掌握VPN实例的创建、接口绑定及路由表配置等操作深入理解VPN实例在数据转发和隔离中的实现机制并了解其与根实例的区别及优点。实验将进一步验证VPN实例在多接口场景下的流量隔离效果帮助我建立对虚拟网络技术的系统性认识为日后设计复杂网络拓扑和实现网络隔离奠定基础。
]
= 实验原理
== VPN
@ -57,16 +55,12 @@
== VRF
=== 概述
#para[
虚拟路由转发VRFVirtual Routing and Forwarding技术通过在同一台三层设备上创建多张独立的路由表实现数据流的隔离和独立转发。VRF广泛应用于MPLS VPN、防火墙等需要隔离的场景。在VRF环境中每个实例拥有独立的接口、路由表和路由协议进程等使流量彻底隔离。没有VPN实例时设备的所有接口都属于同一个根实例而创建VPN实例后可以将特定接口绑定到该实例使其服务于特定业务从而实现多租户数据的独立管理。
在华为设备上VRF又称为VPN实例。
虚拟路由转发VRFVirtual Routing and Forwarding技术通过在同一台三层设备上创建多张独立的路由表实现数据流的隔离和独立转发。VRF广泛应用于MPLS VPN、防火墙等需要隔离的场景。在VRF环境中每个实例拥有独立的接口、路由表和路由协议进程等使流量彻底隔离。没有VPN实例时设备的所有接口都属于同一个根实例而创建VPN实例后可以将特定接口绑定到该实例使其服务于特定业务从而实现多租户数据的独立管理。在华为设备上VRF又称为VPN实例。
]
=== 工作原理
#para[
1. 创建实例在物理设备中创建VPN实例用于定义独立的转发域
2. 接口绑定将三层接口如物理接口、子接口或VLANIF接口分配给实例使其成为实例的一部分
3. 路由表建立:基于实例绑定的接口和配置的路由协议建立独立的路由表,并按照这些路由表转发数据,从而实现实例间的数据隔离。
]
#pagebreak()
= 实验环境
== 实验背景
@ -75,7 +69,6 @@
]
== 实验设备
#para[
#align(center)[#table(
columns: (auto, auto,auto),
rows:(auto, auto,auto),
@ -88,6 +81,7 @@
"路由器", "华为AR6120-S", "3",
"PC", "联想启天M410\nWindows 10", "4",
)]
#para[
另有网线若干控制线3条。
]
@ -95,29 +89,32 @@
== 实验拓扑
#para[
按实验背景,绘制拓扑图如下:
]
#figure(image("实验拓扑.png",format: "png",fit:"stretch",width: 100%),caption: "实验拓扑图")
#para[
要求将红框内的PC1、PC3划分到一个VPN实例中。
]
#pagebreak()
== 按照拓扑图接线
#para[
按照拓扑图接线。
]
#figure(image("机柜正面连线.jpg",format: "jpg",fit:"stretch",width: 50%),caption: "机柜正面接线图")
#figure(image("机柜背面连线.jpg",format: "jpg",fit:"stretch",width: 50%),caption: "机柜背面接线图")
]
#pagebreak()
== 配置基本网络
=== 配置PC
#para[
- 配置PC1的IP地址为`192.168.10.1/24`,网关为`192.168.10.2`
- 配置PC2的IP地址为`192.168.20.1/24`,网关为`192.168.20.2`
- 配置PC3的IP地址为`192.168.30.1/24`,网关为`192.168.30.2`
- 配置PC4的IP地址为`192.168.40.1/24`,网关为`192.168.40.2`
#para[
步骤简单,展示图略。
]
=== 配置路由器IP地址
#para[
按照拓扑图配置路由器的IP地址。配置AR1的G0/0/0口IP地址为
]
1. 配置AR1路由器
- 接口 `GE 0/0/0` 连接到 `AR3`IP地址为 `192.168.60.2`
- 接口 `GE 0/0/1` 连接到 `PC3`IP地址为 `192.168.30.2`
@ -134,37 +131,46 @@
- 接口 `GE 0/0/2` 连接到 `AR2`IP地址为 `192.168.80.1`
- 接口 `GE 0/0/3` 连接到 `AR1`IP地址为 `192.168.60.1`
#figure(image("ar3ip.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "配置AR3的IP地址")
]
=== 配置RIP协议使互通
#para[
本次实验使用RIP协议配置路由器使得各个网络互通
]
#figure(image("ar1rip.png",format: "png",fit:"stretch",width: 60%),caption: "在AR1上配置RIP协议")
#figure(image("ar2rip.png",format: "png",fit:"stretch",width: 60%),caption: "在AR2上配置RIP协议")
#figure(image("ar3rip.jpg",format: "jpg",fit:"stretch",width: 60%),caption: "在AR3上配置RIP协议")
#para[
此时在PC4(`192.168.40.1/24`)上ping其他三台主机发现可以互通
#figure(image("配置vpn前_2.jpg",format: "jpg",fit:"stretch",width: 90%),caption: "PC2 ping其他主机")
]
#figure(image("配置vpn前_2.jpg",format: "jpg",fit:"stretch",width: 90%),caption: "PC2 ping其他主机")
== 配置VPN实例
=== 创建VPN实例
#para[
在AR1上创建VPN实例`wlxvpn`并为该实例设置RD值为`100:1`
#figure(image("ar3vpn.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "创建VPN实例并设置RD值")
并配置接口`GE 0/0/0``GE 0/0/2`绑定到该实例:
#figure(image("ar3binding.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "绑定接口")
如下图@qingkong绑定之后接口的配置会被清空需要重新设置接口的IP地址
#figure(image("ar3ip_2.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "重新设置接口IP地址")<qingkong>
]
#figure(image("ar3vpn.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "创建VPN实例并设置RD值")
#para[
并配置接口`GE 0/0/0``GE 0/0/2`绑定到该实例:
]
#figure(image("ar3binding.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "绑定接口")
#para[
如下图@qingkong绑定之后接口的配置会被清空需要重新设置接口的IP地址
]
#figure(image("ar3ip_2.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "重新设置接口IP地址")<qingkong>
=== 配置VPN实例的路由
#para[
`wlxvpn`的路由表中创建RIP进程进程号为100并且该进程与VPN实例`wlxvpn`进行绑定。设备在该RIP进程中所学习到的路由会加载到`wlxvpn`的路由表中。
#figure(image("ar3vpnrip.png",format: "png",fit:"stretch",width: 50%),caption: "配置RIP进程")
此时可以测试一下VPN的连通性
#figure(image("vpnpingPC1.png",format: "png",fit:"stretch",width: 80%),caption: "AR3 ping PC1")
]
#figure(image("ar3vpnrip.png",format: "png",fit:"stretch",width: 50%),caption: "配置RIP进程")
#para[
此时可以测试一下VPN的连通性
]
#figure(image("vpnpingPC1.png",format: "png",fit:"stretch",width: 80%),caption: "AR3 ping PC1")
== 结果检验
#para[
在PC1上分别ping PC2与PC3发现PC1与PC2无法通信PC1与PC3可以通信
]
#figure(image("配置vpn后.jpg",format: "jpg",fit:"stretch",width: 100%),caption: "PC1分别ping VPN内外的主机")
#para[
说明VPN实例`wlxvpn`的配置成功实现了PC1与PC2等的数据隔离。
]
= 实验总结