远程访问VPN配置与验证实验:构建安全的远程连接

远程访问VPN配置与验证实验:构建安全的远程连接

【实验目的】

  1. 理解远程访问 VPN的含义。
  2. 掌握远程访问 VPN的含义。
  3. 掌握VPN Client软件的使用。
  4. 验证配置。

【实验拓扑】

实验拓扑如下图所示。

实验拓扑

设备参数表如下表所示。

设备参数表

设备

接口

IP地址

子网掩码

默认网关

R1

s0/1/0

69.1.0.1

255.255.255.0

N/A

g0/0/0

192.168.1.1

255.255.255.0

N/A

Internet

s0/1/0

69.1.0.2

255.255.255.0

N/A

S0/1/0

 

201.106.208.1

255.255.255.0

N/A

R2

s0/1/0

201.106.208.2

255.255.255.0

N/A

g0/0/0

192.168.2.1

255.255.255.0

N/A

PC1

g0/0/0

192.168.1.100

255.255.255.0

192.168.1.1

PC2

g0/0/0

192.168.2.100

255.255.255.0

192.168.2.1

【实验内容】

1.IP地址与路由配置

//R1

enable

conf t

hostname R1

interface g0/0/0

ip address 192.168.1.1 255.255.255.0

no shutdown

exit

interface s0/1/0

ip address 69.1.0.1 255.255.255.0

no shutdown

exit

//Internet

enable
conf t
hostname Internet
interface s0/1/0
ip address 69.1.0.2 255.255.255.0
no shutdown
interface s0/1/1
ip add 201.106.208.1 255.255.255.0
no shutdown
exit

//R2

enable

conf t

hostname R2

interface s0/1/0

ip address 201.106.208.2 255.255.255.0

no shutdown

exit

interface g0/0/0

ip add 192.168.2.1 255.255.255.0

no shutdown

exit

2.IP地址与路由配置

在路由器R1、R2上配置IP地址,测试各直连链路的连通性,并配置如下路由:

//R1

ip route 0.0.0.0 0.0.0.0 s0/1/0

//R2

ip route 0.0.0.0 0.0.0.0 s0/1/0

外网出口路由器通常会使用NAT,R1的模拟配置如下:

interface s0/1/0

ip nat outside

int g0/0/0

ip nat inside

exit

access-list 10 permit 192.168.1.0 0.0.0.255

ip nat inside source list 10 interface s0/1/0 overload

测试从R1能否ping通R2的公网接口。在PC上配置IP地址和网关,测试能否ping通VPN网关路由器R2(201.106.208.2)。

 

3.在路由器R2上配置远程访问VPN

(1)R2的配置VPN的脚本

//R2
crypto isakmp enable
// 启用ISAKMP,用于安全密钥交换和建立VPN隧道
crypto isakmp policy 10
// 设置ISAKMP策略编号为10
encryption 3des
// 使用3DES算法进行数据加密
authentication pre-share
// 使用预共享密钥进行身份验证
hash sha
// 使用SHA算法进行数据完整性校验
group 2
// 设定Diffie-Hellman群组为2,用于密钥交换
exit

// 以下是设置推送到客户端的组策略:

ip local pool REMOTE-POOL 192.168.3.1 192.168.3.250
// 配置本地IP地址池,用于为远程客户端分配IP地址范围
ip access-list extended EXVPN
// 创建扩展访问列表EXVPN
permit ip 192.168.2.0 0.0.0.255 any
// 允许192.168.2.0/24网段与任意目的地进行通信
permit ip 192.168.3.0 0.0.0.255 any
// 允许192.168.3.0/24网段与任意目的地进行通信
exit

crypto isakmp client configuration group VPN-REMOTE-ACCESS
// 配置VPN客户端组VPN-REMOTE-ACCESS
key MYVPNKEY
// 设置预共享密钥为MYVPNKEY
pool REMOTE-POOL
// 指定分配给VPN客户端的IP地址池为REMOTE-POOL
save-password
// 允许客户端保存密码
acl EZVPN
// 创建访问控制列表EZVPN
exit

aaa new-model
// 启用AAA(认证、授权、会计)模型
aaa authorization network VPN-REMOTE-ACCESS local
// 配置本地用户进行VPN-REMOTE-ACCESS网络授权
crypto map CLIENTMAP isakmp authorization list VPN-REMOTE-ACCESS
// 将ISAKMP授权列表设置为VPN-REMOTE-ACCESS
crypto map CLIENTMAP client configuration address respond
// 配置响应客户端请求时使用动态分配的地址
crypto isakmp keepalive 60
// 配置ISAKMP保持活动状态的时间间隔为60秒
crypto ipsec transform-set VPNTRANSFORM esp-3des esp-sha-hmac
// 创建IPsec转换集VPNTRANSFORM,指定加密算法和哈希算法
crypto dynamic-map DYNMAP 10
// 创建动态加密映射DYNMAP,优先级为10
set transform-set VPNTRANSFORM
// 将转换集设置为VPNTRANSFORM
reverse-route
// 允许根据IPsec流量自动添加逆向路由
exit

crypto map CLIENTMAP 65535 ipsec-isakmp dynamic DYNMAP
// 创建加密映射CLIENTMAP,并将其与ISAKMP和动态映射关联

aaa authentication login VPNUSERS local
// 配置本地用户进行VPN用户身份验证
username vpnuser secret cisco
// 创建用户名为vpnuser,密码为cisco的用户
crypto map CLIENTMAP client authentication list VPNUSERS
// 将客户端身份验证列表设置为VPNUSERS
crypto isakmp xauth timeout 20
// 配置ISAKMP的XAuth身份验证超时时间为20秒
interface s0/1/0
// 进入接口s0/1/0的配置模式
crypto map CLIENTMAP
// 将加密映射CLIENTMAP应用于接口
exit

4.实验验证

(1)PC进行VPN连接

//PC1

 

如果配置正确并连接成功,在客户机CMD中使用“ipconfig”命令可以看到获取了一个之前配置的地址池中的IP地址,结果如下:

 

通过ping对端局域网IP,验证两局域网之间是否可以进行通信。

 

(2)检查路由表

在VPN网关路由器上也多出了一条指向客户端的主机路由,路由表如下:

R2#show ip route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks

C 192.168.2.0/24 is directly connected, GigabitEthernet0/0/0

L 192.168.2.1/32 is directly connected, GigabitEthernet0/0/0

192.168.3.0/32 is subnetted, 2 subnets

S 192.168.3.1/32 [1/0] via 69.1.0.1

S 192.168.3.2/32 [1/0] via 69.1.0.1

209.106.208.0/24 is variably subnetted, 2 subnets, 2 masks

C 209.106.208.0/24 is directly connected, Serial0/1/0

L 209.106.208.2/32 is directly connected, Serial0/1/0

S* 0.0.0.0/0 is directly connected, Serial0/1/0

R2#

【知识点】

  • VPN(Virtual Private Network)的概念和含义:了解VPN的作用和原理,以及在实验中实现远程访问的目的。
  • IP地址和子网掩码的配置:学习如何给网络设备配置IP地址和子网掩码,以便实现网络的连通性。
  • 路由配置和默认路由:了解如何配置路由表,包括设置默认路由,以确保网络流量能够正确转发。
  • 网络地址转换(NAT):学习如何配置NAT,实现内部网络和外部网络之间的通信。
  • 加密协议和策略配置:了解加密协议(如3DES)、认证方式和哈希算法的选择,以及如何配置加密策略。
  • AAA(Authentication, Authorization, and Accounting)的基本概念和配置:了解AAA的作用,并学习如何配置用户认证和授权。
  • 动态加密映射和映射到特定接口:学习如何创建动态加密映射并将其应用到特定的接口,以实现VPN的功能。

【收获】

  • 对VPN的理解和实现能力的提升:通过实验,能够加深对VPN的概念、原理和配置的理解,掌握远程访问VPN的方法和步骤。
  • 网络配置和路由的实践经验:通过配置IP地址、子网掩码、路由表等,加强对网络设备和网络连通性的理解,并获得相关的实践经验。
  • 安全性和加密相关知识的学习:通过配置加密协议、认证方式和哈希算法等,了解网络安全的重要性,并学习如何保护数据传输的安全性。
  • AAA的应用和用户认证授权的实践:通过配置AAA相关设置,学习如何实现用户认证和授权,加深对网络安全管理的认识。
  • 实验操作和故障排除的技能提升:通过实验配置和验证的过程,提升网络设备的操作技能,同时在遇到问题时,学习故障排除的方法和技巧。
  • 这些知识点和收获将有助于学习者深入理解网络连接和安全性的概念,提升对网络设备配置和故障排除的技能,并为未来在网络领域的学习和工作奠定坚实的基础。

每一次实验都是你追寻知识的航程,每一步都会让你更接近网络技术的巅峰。继续前进,你将获得属于你的辉煌。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/32747.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AutoGPT 英文版安装过程

自从2022年11月chatGPT的发布3.0GPT大模型,在中国掀起一股AI学习热潮,国内百度2023年4月份发布文心一言,把AI推上另一个高潮,最直接的是问答,我输入一句话,AI帮生成一段文字或一个视频,但是国内…

逻辑回归算法实现

目录 1.关于逻辑回归的原理解析和准备工作 2.关于激活函数 3.关于数据集 4.编写LogisticsRegression类 5.逻辑回归测试 6.结果 1.关于逻辑回归的原理解析和准备工作 逻辑回归原理相关内容,请参考博主的另一篇文章:机器学习(二&#xff…

【Axure高保真原型】多选树穿梭框选择器

今天和大家分享多选树穿梭框的原型模板,左侧多选树选择子级选项后,可以在右侧看到对应的标签,取消选中也会删除对应标签。多选树可以通过选中或取消选中父级自动选中或取消选对应的子级,也可以选中或取消选子级自动反选父级。右侧…

SpringBoot源码分析(三):SpringBoot的事件分发机制

文章目录 通过源码明晰的几个问题Spring 中的事件Springboot 是怎么做到事件监听的另外两种注册的Listener 源码解析加载listenerSpringApplicationRunListenerEventPublishingRunListenerSimpleApplicationEventMulticaster判断 listener 是否可以接收事件Java 泛型获取 整体流…

Verilog基础之十一、移位寄存器实现

目录 一、前言 二、工程设计 ​2.1 工程代码 2.2 综合结果 2.3 仿真结果 一、前言 移位寄存器SRL在工程中属于使用频率较高个模块,可用于存储数据,实现串并转换;根据数据移动方向可分为左移寄存器,右移寄存器,左移…

测试岗入职第一天,老员工给我丢了这个文档!炒鸡好用!

不管新老测试员工应该都会对自己的测试工作进行一些总结,这个测试方法总结帮助了很多人,今天我再芬享一次,文末自取吧。 真的炒鸡好用!这份笔记可以说陪我度过了测试试用期,里面包括90%测试会遇到的问题&a…

ModaHub魔搭社区:向量数据库Milvus使用 MySQL 管理元数据教程

目录 使用 MySQL 管理元数据 常见问题 数据管理相关博客 使用 MySQL 管理元数据 Milvus 默认使用 SQLite 作为元数据后台管理服务,SQLite 内嵌于 Milvus 进程中,无需启动额外服务。但是在生产环境中,基于可靠性的考虑,我们强烈…

【Android Framework系列】第3章 Zygote进程相关

1 Zygote简介 Zygote是Android中最重要的一个进程,Zygote进程和Init进程、SystemServer进程是Android最重要的三大进程。Zygote是Android系统创建新进程的核心进程,负责启动Dalvik虚拟机,加载一些必要的系统资源和系统类,启动sys…

C#串口通信从入门到精通(26)——多个串口多个线程发送数据和接收数据

前言 我们在开发串口程序的过程中有时候会遇到多个串口,并且多个串口也需要在多个线程进行操作,本文就来讲解如何实现多个串口在多线程下的安全发送与接收。 1、操作界面与测试过程 我们首先使用虚拟串口助手虚拟COM1、COM2这一对串口;COM3、COM4这一对串口,然后使用代码…

Redis 原理

Redis 原理 动态字符串SDS Redis中保存的key时字符串,value往往是字符串或字符串集合,字符串是Redis中常见的数据结构 Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题,使用起来不方便 Redis构建了一种新型的字…

TypeScript 【类型推断】与【类型别名】的使用解读

什么是类型推断? 在 TypeScript 中, 如果声明变量时,没有明确的指定类型,那么 TypeScript 会依照类型推论(Type Inference)的规则推断出一个类型。 以下代码虽然没有明确指定类型,但是会在编译的…

应急响应:系统入侵排查指南

目录 系统基本信息排查 Windows系统排查 Linux系统排查 CPU信息 操作系统信息 载入模块排查 用户排查 Windows系统用户排查 排查所有账户 Linux用户排查 root账户排查 查看所有可登录账户 查看用户错误的登录信息 查看所有用户最后登录信息 排查空口令账户 启…

【Flutter】如何在 Flutter 中获取设备 ID

文章目录 一、 前言二、 设备 ID 的重要性1. 什么是设备 ID2. 设备 ID 的作用 三、 在 Flutter 中获取设备 ID1. 需要的工具和库2. 简单代码示例3. 完整可以运行的代码 四、 注意事项1. 权限问题2. 设备兼容性问题 五、 总结 一、 前言 在移动应用开发中,有时我们需…

面试官: 请你讲下AMS在Android起到什么作用……

心理分析:这道题在发生在大多数场景下。面对这道题 很多求职很茫然,不知道该如何说起。AMS本身比较复杂难以理解。工作多年也很难弄清AMS的作用,其实我们大可从以下几点入手组件启动、进程切换、Crash异常入手 求职者:AMS难以表述 我们就从最…

【机器学习】PCA案例的python实现

一、说明 虽然可以通过更改优化算法来加快机器学习算法的拟合速度,但加快算法速度的更常用方法是使用主成分分析 (PCA)。如果您的学习算法由于输入维度太高而太慢,那么使用 PCA 加速它可能是一个合理的选择。这可能是PCA最常见的应…

正则表达式-捕获组,命名捕获组,非捕获组

正则表达式的作用 测试目标字符串是否符合规则 返回true/false按照规则从目标字符串提取内容 返回匹配的数组 在线测试工具 regex101: build, test, and debug regexRegular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, …

【单片机】STM32F103C8T6 最小系统板原理图

STM32F103C8T6是一款基于ARM Cortex-M3内核的32位微控制器,由STMicroelectronics(ST)公司生产。它是STMicroelectronics的STM32系列微控制器中的一员,被广泛应用于嵌入式系统和电子设备中。 STM32F103C8T6单片机的主要特点和资源…

基于.Net6使用YoloV8的分割模型

前言 在目标检测一文中,我们学习了如何处理Onnx模型,并的到目标检测结果,在此基础上,本文实现基于.Net平台的实例分割任务。 执行YoloV8的分割任务后可以得到分割.pt模型。由于Python基本不用于工业软件的部署,最终还…

SpringBoot 如何使用 @RequestBody 进行数据校验

SpringBoot 如何使用 RequestBody 进行数据校验 在 Web 开发中,前台向后台发送数据是非常常见的场景。而在 SpringBoot 框架中,我们通常使用 RequestBody 注解来接收前台发送的 JSON 数据,并将其转化为 Java 对象。但是,接收到的…

Zookeeper集群的特点

一、Zookeeper集群的特点 Zookeeper:一个领导者 (Leader),多个跟随者 (Follower) 组成的集群集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台服务器全局数据一致:每个Server保存一份相同的数据副本,C…