【思科】IPsec VPN 实验配置(动态地址接入)

【思科】IPsec VPN 实验配置(动态地址接入)

  • 注意
  • 实验需求
  • 配置思路
  • 配置命令
    • 拓扑
    • R1
      • 基础配置
      • 配置第一阶段 IKE SA
      • 配置第二阶段 IPsec SA
    • ISP_R2
      • 基础配置
    • R3
      • 基础配置
      • 配置第一阶段 IKE SA
      • 配置第二阶段 IPsec SA
    • PC
      • PC1
      • PC2
  • 检查
    • 建立成功
      • 查看命令
      • 清除IKE / IPsec SA命令
  • 配置文档

在这里插入图片描述

注意

因为本篇文章,就是IPsec的实验配置的话,它们两端的IP地址是固定
那么就用第一阶段的主模式(Main Mode)
和第二阶段的快速模式(Quick Mode)就好啦
因为对端是动态地址接入,就是它的地址不固定,这个时候就需要用到动态安全策略啦

为什么要用动态安全策略?
因为,对端就是R3,可以是通过PPPoE拨号来获取到IP地址,这个时候的话,它是有一个租期的,那到了时间,R3的公网地址就会改变,而我R1的话,是可以按照动态安全策略来进行动态调整,就不会像地址固定那样的被动

还有,对于R1来说,对端R3的IP地址并不知道,这个时候就不能从R1这端主动发起建立IPsec VPN隧道的请求,得让R3来进行请求。

而且,R1的话,它的远端对等体IP地址就是 0.0.0.0 ,这样子只需要我的预共享密钥一致,就能够匹配成功,这样子也可以实现动态调整。 并且,R1这边是不用去设置ACL的,等到它建立起IPsec VPN隧道的时候,在IPsec SA的信息中,就携带着需要保护的流量,可以往下翻翻看啦

实验需求

R1为企业总部网关,R3为企业分部网关,分部与总部通过公网建立通信。分部子网为202.101.23.0/24,总部子网为202.101.12.0/24。

企业希望对分部子网与总部子网之间相互访问的流量进行安全保护。分部与总部通过公网建立通信,可以在分部网关与总部网关之间建立一个IPSec隧道来实施安全保护。
在这里插入图片描述

配置思路

  1. 基础配置,实现全网互通(命名 + IP地址 + 静态路由)保证两端路由可达

  2. 第一阶段 IKE SA
    ① 设置IKE的策略,里面包含开启预共享密钥的认证、加密算法、DH组等内容
    ② 配置预共享密钥和远端对等体地址
    对于R1的远端对等体地址,我们要设置为 0.0.0.0

  3. 第二阶段 IPsec SA
    R1:(固定地址)
    因为不知道R3的IP地址,就不用去配置ACL和对等体IP地址
    ① 转换集
    ② 创建动态安全策略dynamic-map,调用转换集
    ③ 配置安全策略组map,封装动态的安全策略,并在接口上调用
    R3:(动态地址接入)
    和固定地址的一样,因为已知对端R1的IP地址
    ① 转换集
    ② ACL : 匹配保护的流量,即定义需要IPSec保护的数据流
    ③ 配置安全策略组map,并引用ACL、IPSec转换集和对等体IP地址,确定对何种数据流采取何种保护方法

  4. 在接口上应用安全策略组map,使接口具有IPSec的保护功能

IPsec VPN 本质:阶段一保护阶段二 阶段二保护数据

配置命令

拓扑

在这里插入图片描述

R1

基础配置

配置R1的基础配置,再用默认路由实现公网可达

R1(config)#int e0/0
R1(config-if)#no shutdown 
R1(config-if)#ip address 202.101.12.1 255.255.255.0
R1(config-if)#exR1(config)#int e0/1
R1(config-if)#no shutdown 
R1(config-if)#ip address 192.168.10.254 255.255.255.0
R1(config-if)#exR1(config)#ip route 0.0.0.0 0.0.0.0 202.101.12.2        ##配置默认路由指向ISP运营商,实现公网可达R1(config)#int e0/0
R1(config-if)#crypto map mymap
R1(config-if)#ex

配置第一阶段 IKE SA

协商出IKE SA ,对第二阶段IPsecSA的协商过程做保护

## 创建IKE的策略,优先级为10
R1(config)#crypto isakmp policy 10 
R1(config-isakmp)#encryption 3des                  ## 用3des加密
R1(config-isakmp)#authentication pre-share         ## 身份认证用预共享密钥
R1(config-isakmp)#hash md5                         ## 配置完整性校验方式为 md5
R1(config-isakmp)#group 5                          ## 设置 DH 组 5
R1(config-isakmp)#ex## 配置与共享密钥为 520,对方的密钥也要是一致才能匹配成功,才能协商IKE SA
## 因为对端R3 是动态地址接入,并不知道对端IP地址,就用0.0.0.0 来指定
R1(config)#crypto isakmp key 520 address 0.0.0.0  

配置第二阶段 IPsec SA

在阶段1建立的IKE SA的保护下完成IPSec SA的协商

## 创建转换集 myset(名字) 
## 封装协议(esp-md5完整性校验 3des 加密 )
R1(config)#crypto ipsec transform-set myset esp-3des esp-sha256-hmac   
R1(cfg-crypto-trans)#mode tunnel          ## 传输方式用隧道传输
R1(cfg-crypto-trans)#exit ## 创建一个动态安全策略dymap,引用IPsec转换集
R1(config)#crypto dynamic-map dymap 10
R1(config-crypto-map)#set transform-set myset
R1(config-crypto-map)#ex## 因为动态的安全策略不能直接在接口上调用
## 我们就用常用的安全策略来封装这个动态策略dymap,然后再接口上调用
R1(config)#crypto map mymap 10 ipsec-isakmp dynamic dymap ## 在出接口上调用mymap
R1(config)#int e0/0
R1(config-if)#crypto map mymap               ##进入接口,调用其安全策略mymap
R1(config-if)#ex

ISP_R2

基础配置

ISP_R2(config)#int e0/0
ISP_R2(config-if)#no shutdown
ISP_R2(config-if)#ip address 202.101.12.2 255.255.255.0
ISP_R2(config-if)#exISP_R2(config)#int e0/1
ISP_R2(config-if)#no shutdown 
ISP_R2(config-if)#ip address 202.101.23.2 255.255.255.0
ISP_R2(config-if)#ex

R3

基础配置

配置R3的基础配置,再用默认路由实现公网可达

R3(config)#int e0/0
R3(config-if)#no shut
R3(config-if)#ip address 202.101.23.3 255.255.255.0
R3(config-if)#exR3(config)#int e0/1
R3(config-if)#no shut
R3(config-if)#ip address 192.168.20.254 255.255.255.0
R3(config-if)#exR3(config)#ip route 0.0.0.0 0.0.0.0 202.101.23.2        ##配置默认路由指向ISP运营商,实现公网可达

配置第一阶段 IKE SA

协商出IKE SA ,对第二阶段IPsecSA的协商过程做保护

## 创建IKE的策略,优先级为10
R3(config)#crypto isakmp policy 10                 ## 用策略来存放IKE的配置
R3(config-isakmp)#encryption 3des                  ## 用3des加密
R3(config-isakmp)#authentication pre-share         ## 身份认证用预共享密钥
R3(config-isakmp)#hash md5                         ## 配置完整性校验方式为 md5
R3(config-isakmp)#group 5                          ## 设置 DH 组 5
R3(config-isakmp)#ex## 配置预共享密钥为 520,对方的密钥也要是一致才能匹配成功,才能协商IKE SA
R3(config)#crypto isakmp key 520 address 202.101.12.1    

配置第二阶段 IPsec SA

在阶段1建立的IKE SA的保护下完成IPSec SA的协商

## 创建转换集 myset(名字) 
## 封装协议(esp-md5完整性校验 3des 加密 )
R1(config)#crypto ipsec transform-set myset esp-3des esp-sha256-hmac   
R1(cfg-crypto-trans)#mode tunnel          ## 传输方式用隧道传输
R1(cfg-crypto-trans)#exit ## 协商感兴趣流量,也就是需要保护的流量
R3(config)#access-list 100 permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255      ## 将配置的内容都引用在安全策略mymap里面 ,使用ike自动协商
R3(config)#crypto map mymap 10 ipsec-isakmp          
R3(config-crypto-map)#match address 100         ## 匹配ACL 100
R3(config-crypto-map)#set peer 202.101.12.1     ## 设置对端对等体地址
R3(config-crypto-map)#set transform-set myset   ## 绑定转换集 myset
R3(config-crypto-map)#ex## 在出接口上调用
R3(config)#int e0/0
R3(config-if)#crypto map mymap               ##进入接口,调用其安全策略mymap
R3(config-if)#ex

PC

因为我是在EVE中来操作思科模拟器,所以我就用路由器来模拟PC电脑,就需要关闭路由功能

PC1

PC1(config)#no ip routing                            ## 关闭路由功能
PC1(config)#ip default-gateway 192.168.10.254        ## 配置网关PC1(config)#int e0/0
PC1(config-if)#no shutdown                 
PC1(config-if)#ip address 192.168.10.1 255.255.255.0  
PC1(config-if)#ex

PC2

PC2(config)#no ip routing                            ## 关闭路由功能
PC2(config)#ip default-gateway 192.168.20.254        ## 配置网关PC2(config)#int e0/0
PC2(config-if)#no shutdown
PC2(config-if)#ip address 192.168.20.1 255.255.255.0
PC2(config-if)#ex

检查

因为R3是动态地址分配,这个时候R1是不清楚R3的具体IP地址的,所以PC1 是不能拿来触发IPsec VPN隧道的,如下图所示,PC1 ping 不通PC2的 IP地址

那这个时候,我们就要用R3主动去Ping R1,因为R3是知道R1的准确的IP地址,所以,必须得要用动态获取地址的一端主动发起通信过程,才能成功坚持IPsec VPN

在这里插入图片描述

建立成功

里面主模式交换六个报文,成功协商IKE SA
而快速模式的三个报文,就成功的协商IPsec SA
这两个出来就成功建立了 IPsec VPN,对流量实施了加密啦~
在这里插入图片描述

查看命令

① 查看IKE SA的基本信息

R1#show crypto isakmp sa在这里插入图片描述

② 查看IPsec SA的基本信息

R1# show crypto ipsec sa

从图中我们就可以知道:
远端的IP地址: 202.101.23.3

需要保护的流量(ACL):
本地:192.168.10.0/24 → 远端: 192.168.20.0/24

在这里插入图片描述

清除IKE / IPsec SA命令

为什么要清楚掉IKE / IPsec呢?
因为,这个IPsec VPN它是按照第一次配置的代码来执行的,当我们想改一下传输模式或者加密方式等等,就需要先清除掉之前的SA信息,就是IPsec SA和IKE SA,这样子才能去完成修改,切记哦

清除 IKE SA的命令:

R1#clear crypto isakmp
在这里插入图片描述
清除 IPsec VPN的命令:

R1#clear crypto sa
在这里插入图片描述

配置文档

R1

hostname R1int e0/0
no shut
ip address 202.101.12.1 255.255.255.0
exint e0/1
no shut
ip address 192.168.10.254 255.255.255.0
exip route 0.0.0.0 0.0.0.0 202.101.12.2        crypto isakmp policy 10 
encryption 3des 
authentication pre-share 
hash md5 
group 5
excrypto isakmp key 520 address 202.101.23.3  crypto ipsec transform-set myset esp-3des esp-sha256-hmac 
mode tunnel 
excrypto dynamic-map dymap 10
set transform-set myset
excrypto map mymap 10 ipsec-isakmp dynamic dymap int e0/0
crypto map mymap
ex

R3

hostname R3int e0/0
no shutdown
ip address 202.101.23.3 255.255.255.0
exint e0/1
no shutdown
ip address 192.168.20.254 255.255.255.0
exip route 0.0.0.0 0.0.0.0 202.101.23.2        crypto isakmp policy 10 
encryption 3des 
authentication pre-share 
hash md5 
group 5
excrypto isakmp key 520 address 202.101.12.1  crypto ipsec transform-set myset esp-3des esp-sha256-hmac 
mode tunnel 
exit access-list 100 permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255     crypto map mymap 10 ipsec-isakmp
match address 100
set peer 202.101.12.1
set transform-set myset
exint e0/0
crypto map mymap
ex

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C/C++ 基本数据类型的范围

一、常见的数据类型及其范围 数据类型Size(64位)范围int4Byteunsigned int4Bytelong4Byteunsigned long4Bytelong long8Byteunsigned long long8Byte 查询Size代码&#xff1a;sizeof(类型) 查询范围代码&#xff1a;numeric_limits<类型>::max和numeric_limits<类…

django大数据_草稿本01

文档 Learning_Spark/5.Spark Streaming/ReadMe.md at master LeslieZhoa/Learning_Spark # 在pyspark下运行 from pyspark.ml.feature import HashingTF,IDF,Tokenizer # 导入相关包# 创建一个dataframe&#xff0c;toDF为定义列名 sentenceData spark.createDataFrame([(0…

数据科学与大数据导论期末复习笔记(大数据)

来自于深圳技术大学&#xff0c;此笔记涵盖了期末老师画的重点知识&#xff0c;分享给大家。 等深分箱和等宽分箱的区别&#xff1a;等宽分箱基于数据的范围来划分箱子&#xff0c;每个箱子的宽度相等。等深分箱基于数据的观测值数量来划分箱子&#xff0c;每个箱子包含相同数量…

智慧校园大数据平台架构

平台架构 基础硬件层 基础硬件层是由一组低廉的PC或服务器组合构建而成。基础硬件层主要承载着数据的存储、运算、容错、调度和通信等任务,对基础应用层下达的指令进行执行和反馈。 数据集成 大数据特征表现在实时、交互、海量等方面,并且以半结构化、非结构化数据为主,价…

HarmonyOS应用开发者高级认证试题库(鸿蒙)

目录 考试链接&#xff1a; 流程&#xff1a; 选择&#xff1a; 判断 单选 多选 考试链接&#xff1a; 华为开发者学堂华为开发者学堂https://developer.huawei.com/consumer/cn/training/dev-certification/a617e0d3bc144624864a04edb951f6c4 流程&#xff1a; 先进行…

K8s(二)Pod资源——node调度策略、node亲和性、污点与容忍度

目录 node调度策略nodeName和nodeSelector 指定nodeName 指定nodeSelector node亲和性 node节点亲和性 硬亲和性 软亲和性 污点与容忍度 本文主要介绍了在pod中&#xff0c;与node相关的调度策略&#xff0c;亲和性&#xff0c;污点与容忍度等的内容 node调度策略node…

2024.1.17 网络编程 作业

思维导图 练习题 广播服务器端 #include <myhead.h>int main(int argc, char const *argv[]) {//创建套接字int sfd socket(AF_INET, SOCK_DGRAM, 0);//填充网络信息结构体struct sockaddr_in cin;cin.sin_family AF_INET;cin.sin_port htons(6789);cin.sin_addr.s_…

Rxjava链式调用解析

本文以下面代码为例逐步解析 Observable.just("数据源").map(new Function<String, Integer>() {Overridepublic Integer apply(String s) throws Exception {return 1;}}).filter(integer -> {return integer 1;}).subscribeOn(Schedulers.io()).observe…

element-ui表单验证同时用change与blur一起验证

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 当审批时不通过审批意见要必须输入&#xff0c; 1&#xff1a;如果用change验证的话删除所有内容时报错是massage的提示&#xff0c;但是在失去焦点的时候报错就成了英文&#xff0c;如下图&#xf…

SQL语句详解四-DQL(数据查询语言-多表查询一)

文章目录 表和表的关系一对一关系一对多、多对一关系多对多关系 表和表的关系 概述&#xff1a;数据库中表的关系有三种&#xff0c;一对一关系、一对多的关系、多对多的关系。 一对一关系 例如&#xff1a;一个人只能有一个身份证号&#xff0c;一个身份证号只属于一个人 示…

STM32F103标准外设库——RCC时钟(六)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;V…

PyQt5零基础入门(四)——信号与槽

信号与槽 前言信号与槽单对单直接连接使用lambda表达式 信号与槽多对多一个信号连接多个槽多个信号连接一个槽信号与信号连接 自定义信号 前言 PyQt5的信号与槽是一种对象之间的通信机制&#xff0c;允许一个QObject对象发出信号&#xff0c;与之相连接的槽函数将会自动执行。…

漏洞复现-科荣AIO UtilServlet任意命令执行漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

【MySQL】管理用户

DCL-管理用户 查询用户 use mysql; select * from user;创建用户 create user 用户名主机名 identified by 密码;修改用户密码 alter user 用户名主机名 identidied with mysql_native_password by 新密码;删除用户 drop user 用户名主机名;创建用户test&#xff0c;只能够…

地震预测系统项目实现

整个项目思路即在一组观测数据中&#xff0c;地震专家&#xff08;即用户&#xff09;输入观测窗口的最小数量和最大数量&#xff0c;进行预测峰值点 数据文件如图所示&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<fstream> #include<string> #include&…

CSS 设置背景图片

文章目录 设置背景颜色设置背景图片背景图片偏移量计算原点背景图片尺寸设置背景图片位置设置背景图片重复方式设置背景范围设置背景图片是否跟随元素移动测试背景图片 本文概念部分参考&#xff1a;CSS背景background设置 设置背景颜色 background-color 设置背景颜色 设置…

当我们谈上下文切换时我们在谈些什么

相信不少小伙伴面试时&#xff0c;都被问到过这样一个问题&#xff1a;进程和线程的区别是什么&#xff1f;大学老师会告诉我们&#xff1a;进程是资源分配的基本单位&#xff0c;线程是调度的基本单位。说到调度&#xff0c;就不得不提到CPU的上下文切换了。 何为CPU上下文切换…

香港服务器托管:你对服务器托管了解多少?

在当今数字化的时代&#xff0c;服务器托管已成为企业和网站运营的关键一环。对于许多企业来说&#xff0c;如何选择一个安全、稳定、高效的服务器托管方案&#xff0c;成为了确保业务连续性和数据安全的重要课题。那么&#xff0c;究竟什么是服务器托管&#xff0c;它又有哪些…

使用WAF防御网络上的隐蔽威胁之扫描器

在网络安全领域&#xff0c;扫描器是用于侦察和识别网络系统漏洞的工具。 它们可以帮助网络管理员识别安全漏洞&#xff0c;也可能被攻击者用来寻找攻击目标。 扫描器的基本概念 定义&#xff1a;扫描器是一种自动化工具&#xff0c;用于探测网络和服务器中的漏洞、开放端口、…

手机崩溃日志的查找与分析

手机崩溃日志的查找与分析 摘要 本文介绍了一款名为克魔助手的iOS应用日志查看工具&#xff0c;该工具可以方便地查看iPhone设备上应用和系统运行时的实时日志和崩溃日志。同时还提供了崩溃日志的分析查看模块&#xff0c;可以对苹果崩溃日志进行符号化、格式化和分析&#x…