路由器基础(十二):IPSEC VPN配置

一、IPSec  VPN基本知识

        完整的IPSec协议由加密、摘要、对称密钥交换、安全协议四个部分组成。

        两台路由器要建立IPSecVPN连接,就需要保证各自采用加密、摘要、对称密钥 交换、安全协议的参数一致。但是IPSec协议并没有确保这些参数一致的手段同时,IPSec没有规定身份认证,无法判断通信双方的真实性,这就有可能出现 假冒现象.

        因此,在两台IPSec路由器交换数据之前就要建立一种约定,这种约定称为SA  (Security Association, 安全关联),它是单向的,在两个使用IPSec的实体(主机或路由器)间建立逻辑连接,定义了实体间如何使用安全服务(如加密)  进行通信。SA 包含安全参数索引 (Security Parameter Index,SPI)、IP目的地 址、安全协议 (AH 或者ESP) 三个部分。

二、构建IKE SA (第一阶段) 

        协商创建一个通信信道 (IKE  SA),并对该信道进行验证,为双方进一步的IKE通信 提供机密性、消息完整性及消息源验证服务,即构建一条安全的通道。

        IKE第一阶段的协商可以采用两种模式:主模式 (Main  Mode) 和野蛮模式(Aggressive  Mode),对于IP地址不是固定的情况(如ADSL 拨号上网,内置SIM 卡拨号运营商网络上网),并且双方都希望采用预共享密钥验证方法来创建IKE SA, 就需要采用野蛮模式。主模式一般采用IP址方式标识对端设备,两端都是固定IP  地址的情况。

        主模式在IKE协商的时候要经过三个阶段: SA交换、密钥交换、ID 交换和验证;

        野蛮模式只有两个阶段: SA交换和密钥生成、ID交换和验证。

        主模式一般采用IP地址方式标识对端设备;野蛮模式可以采用IP地址方式或者域 名方式标识对端设备。相对而言,主模式更安全,而野蛮模式协商速度更快,VPN  的两个或多个设备都要设置成相同的模式VPN 才能建立成功。

第一阶段分为以下几步:

(1)参数协商。

该阶段协商以下参数:

        1)加密算法。可以选择DES 3DESAES等。

        2)摘要 (hash)  算法。可以选择MD5SHA1

        3)身份认证方法。可以选择预置共享密钥 (pre-share)认证或Kerberos方式认证。

        4)Diffie-Hellman密钥交换 (Diffie-Hellman key exchange,DH)算法一种确保   共享密钥安全穿越不安全网络的方法,该阶段可以选择DH1(768bit 长的密钥)、DH2(1024bit 长的密钥)、DH5 (1536bit 长的密钥)、DH14(2048bit 长的密钥)、DH15(3072bit 长的密钥)、DH16(4096bit 长的密钥)。

        5)生存时间 (life    time)选择值应小于86400秒,超过生存时间后,原有的SA 会被删除。

上述参数集合就称为IKE策略 (IKE Policy),而IKE SA就是要在通信双方之间找到相同的Policy。

(2)交换密钥。

(3)双方身份认证。

(4)构建安全的IKE通道。

三、构建IPSec SA  (第二阶段)

        第二阶段采用快速模式,利用第一阶段协商出来的共同的秘钥来进行加密,使 用已建立的IKE SA,协商IPSec参数,为数据传输建立IPSec SA

构建IPSec SA的步骤如下:

(1)参数协商。

该阶段协商以下参数:

        1)加密算法。可以选择DES3DES

        2)Hash  算法。可以选择MD5SHA1

        3)生存时间 (life   time)

        4)安全协议。可以选择AHESP

        5)封装模式。可以选择传输模式或隧道模式。

上述参数称为变换集 (Transform     Set)

(2)创建、配置加密映射集并应用,构建IPSec SA。

        第二阶段如果响应超时,则重新进行第一阶段的IKE SA协商。

四、IP sec VPN 配置 

        基于IPSecVPN 隧道 配置通常用于企业分支与企业总部之间。如图所示,某企业的总部  与分支机构之间需要通过IPSecVPN 建立连接。其中RouterA企业分支机 构的网关, RouterB为企业总部的网关,分支与总部通过公网建立基于IPSec的安全通信。假设分支子网为10.1.1.0/24,总部子网为10.1.2.0/24。

 1、配置采用IKE协商方式建立IPSec 隧道步骤

 (1)配置接口的IP地址和到对端的静态路由,保证两端路由可达。

(2)配置ACL,  以定义需要IPSec保护的数据流。

(3)配置IPSec安全提议,定义IPSec的保护方法。

(4)配置IKE对等体,确定对等体间IKE协商时的参数。

(5)配置安全策略,并引用ACLIPSec 安全提议和IKE对等体,确定对每种数据流采取的保护方法。

(6)在接口上应用安全策略组,使接口具IPSec的保护功能。

2、配置接口,确保IP网络是连通的 

(1)分别在RouterA RouterB  上配置接口的IP地址和到对端的静态路由,确保IP网络是连通的。

RouterA 上配置接口的IP地址,命令如下:

<Huawei>system-view

[Huawei]sysname      RouterA

[RouterA]interface     gigabitethernet      1/0/0

[RouterA-GigabitEthernet1/0/0]ip address 202.138.163.1  255.255.255.0 //配置接口的IP地址

[RouterA-GigabitEthernet1/0/0]quit

[RouterA]interface gigabitethernet 2/0/0

[RouterA-GigabitEthernet2/0/0]ip address 10.1.1.1255.255.255.0

[RouterA-GigabitEthernet2/0/0]quit

        在RouterA上配置到对端的静态路由,为了配置简洁,此处假设到对端的下一跳地址为202.138.163.2。因此添加去往外网和内网的静态路由即可。

[RouterA]ip       route-static       202.138.162.0  255.255.255.0  202.138.163.2

[RouterA]ip route-static 10.1.2.0  255.255.255.0  202.138.163.2

 <Huawei>system-view

[Huawei]sysname RouterB

[RouterB]interface gigabitethernet 1/0/0

[RouterB-GigabitEthernet1/0/0]ip address 202.138.162.1  255.255.255.0

[RouterB-GigabitEthernet1/0/0]quit

[RouterB]interface gigabitethernet 2/0/0

[RouterB-GigabitEthernet2/0/0]ip address 10.1.2.1255.255.255.0

[RouterB-GigabitEthernet2/0/0]quit

[RouterB]ip route-static 202.138.163.0 255.255.255.0 202.138.162.2 

[RouterB]ip route-static 10.1.1.0  255.255.255.0  202.138.162.2

同样在 RouterB上配置与RouterA相对应的配置:

3、配置ACL,  定义需要保护的数据流

在RouterA上配置ACL, 定义由子网10.1.1.0/24到子网10.1.2.0/24的数据流。

[RouterA]acl number 3100

[RouterA-acl-adv-3100]rule 5 permit ip source 10.1.1.00.0.0.255 destination 10.1.2.00.0.0.255

[RouterA-acl-adv-3100]quit

在RouterB上配置ACL, 定义由子网10.1.2.0/24到子网10.1.1.0/24的数据流。 

[RouterB]acl number 3100

[RouterB-acl-adv-3100]rule 5 permit ip source 10.1.2.0 0.0.0.255  destination 10.1.1.0 0.0.0.255

[RouterB-acl-adv-3100]quit

4、创建IPSec安全提议

RouterA上配置IPSec安全提议。

[RouterA]ipsec proposal tran1//创建名为tran1的安全提议

[RouterA-ipsec-proposal-tran1]esp authentication-algorithm sha2- 256//配置ESP的认证算法为SHA2-256

[RouterA-ipsec-proposal-tran1]esp encryption-algorithm aes-128//配置ESP的加密算法为AES-128

[RouterA-ipsec-proposal-tran1]quit

同样在RouterB上配置相关的IPSec安全提议。

[RouterB]ipsec proposal tran1

[RouterB-ipsec-proposal-tran1]esp authentication-algorithm sha2- 256

[RouterB-ipsec-proposal-tranl]esp encryption-algorithm aes-128

[RouterB-ipsec-proposal-tran1]quit

(4)配置IKE对等体

RouterA上配置IKE安全提议。

[RouterA]ike proposal 5

[RouterA-ike-proposal-5]encryption-algorithm aes-128

[RouterA-ike-proposal-5]authentication-algorithm sha2-256

[RouterA-ike-proposal-5]dh group14 //配置DH 算法参数

[RouterA-ike-proposal-5]quit

RouterA上配置IKE对等体,并根据默认配置,配置预共享密钥和对端ID。 [RouterA]ike peer spub

[RouterA-ike-peer-spub]undo version 2

[RouterA-ike-peer-spub]ike-proposal 5

[RouterA-ike-peer-spub]pre-shared-key  cipher  Huawei  //配置预共享密 钥为Huawei

[RouterA-ike-peer-spub]remote-address  202.138.162.1  //配置远端地址

[RouterA-ike-peer-spub]quit

RouterB 上配置IKE安全提议

[RouterB]ike proposal 5

[RouterB-ike-proposal-5]encryption-algorithm aes-128

[RouterB-ike-proposal-5]authentication-algorithm sha2-256

[RouterB-ike-proposal-5]dh group14

[RouterB-ike-proposal-5]quit

RouterB上配置IKE对等体,并根据默认配置,配置预共享密钥和对端ID。

[RouterB]ike peer spua

[RouterB-ike-peer-spua]undo version 2

[RouterB-ike-peer-spua]ike-proposal 5

[RouterB-ike-peer-spua]pre-shared-key cipher huawei

[RouterB-ike-peer-spua]remote-address 202.138.163.1

[RouterB-ike-peer-spua]quit

 6、创建安全策略

RouterA上配置IKE动态协商方式安全策略。

[RouterA]ipsec policymap110 isakmp

[RouterA-ipsec-policy-isakmp-map1-10]ike-peer spub

[RouterA-ipsec-policy-isakmp-map1-10]proposal tran1

[RouterA-ipsec-policy-isakmp-map1-10]security acl 3100

[RouterA-ipsec-policy-isakmp-map1-10]quit

RouterB上配置IKE动态协商方式安全策略。

[RouterB]ipsec policy usel 10 isakmp

[RouterB-ipsec-policy-isakmp-use1-10]ike-peer spua

[RouterB-ipsec-policy-isakmp-usel-10]proposal tran1

[RouterB-ipsec-policy-isakmp-use1-10]security acl 3100

[RouterB-ipsec-policy-isakmp-use1-10]quit

此时分别在RouterARouterB上执行display ipsec policy, 将显示所配置的信息。

RouterA的接口上引用安全策略组。

[RouterA]interface gigabitethernet 1/0/0

[RouterA-GigabitEthernet1/0/0]ipsec policy map1

[RouterA-GigabitEthernet1/0/0]quit

RouterB的接口上引用安全策略组。

[RouterB]interface gigabitethernet 1/0/0

[RouterB-GigabitEthernet1/0/0]ipsec policy use1

[RouterB-GigabitEthernet1/0/0]quit

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

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

相关文章

Java 多线程的三大特性

在JAVA中&#xff0c;线程有原子性、可见性和有序性三大特性。 1.原子性 1.1 定义 对于涉及共享变量的操作&#xff0c;若该操作从其执行线程以外的任意线程来看都是不可分割的&#xff0c;那么我们就说该操作具有原子性。它包含以下两层含义&#xff1a; 访问&#xff08;读、…

【漏洞复现】Django_debug page_XSS漏洞(CVE-2017-12794)

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞分析3、漏洞验证 说明内容漏洞编号CVE-2017-12794漏洞名称Django_debug page_XSS漏洞漏洞评级影响范…

与AI对话的艺术:如何优化Prompt以获得更好的响应反馈

前言 在当今数字化时代&#xff0c;人工智能系统已经成为我们生活的一部分。我们可以在智能助手、聊天机器人、搜索引擎等各种场合与AI进行对话。然而&#xff0c;要获得有益的回应&#xff0c;我们需要学会与AI进行有效的沟通&#xff0c;这就涉及到如何编写好的Prompt。 与…

开启AWS的ubuntu服务器的root用户登录权限

设置root用户密码 输入以下命令修改root用户密码 sudo passwd root输入以下命令切换到root用户 su root仅允许root用户用密码登录 输入以下命令编辑ssh配置文件 vi /etc/ssh/sshd_config新增以下配置允许root用户登录 PermitRootLogin yes把PasswordAuthentication修改为…

golang相关代码注意点

1. ticker的使用 如果使用 c : time.Tick(1 * time.Nanosecond) 的情况&#xff0c;注意ticker是一个length1的chan。因此如果tick的间隔时间过短&#xff0c;例如图中所示&#xff0c;则会在获取chan之后&#xff0c;chan又被写入下一个触发的element。如果代码只是想触发一…

计算机网络第4章-IPv4

IPv4数据报格式 IPv4数据报格式如下图所示 其中&#xff0c;有如下的关键字段需要特别注意&#xff1a; 版本&#xff08;号&#xff09;&#xff1a; 版本字段共4比特&#xff0c;规定了数据报的IP协议版本。通过查看版本号吗&#xff0c;路由器能确定如何解释IP数据报的剩…

Python爬虫实战-批量爬取下载网易云音乐

大家好&#xff0c;我是python222小锋老师。前段时间卷了一套 Python3零基础7天入门实战https://blog.csdn.net/caoli201314/article/details/1328828131小时掌握Python操作Mysql数据库之pymysql模块技术https://blog.csdn.net/caoli201314/article/details/133199207一天掌握p…

react受控组件与非受控组件

React中的组件可以分为受控组件和非受控组件&#xff1a; 受控组件&#xff1a;受控组件是指组件的值受到React组件状态的控制。通常在组件中&#xff0c;我们会通过state来存储组件的值&#xff0c;然后再将state的值传递给组件的props&#xff0c;从而实现组件的双向数据绑定…

行为型模式-访问者模式

在访问者模式中&#xff0c;我们使用了一个访问者类&#xff0c;它改变了元素类的执行算法。通过这种方式&#xff0c;元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式&#xff0c;元素对象已接受访问者对象&#xff0c;这样访问者对象就…

【星海出品】VUE(三)

node版本查看 nvm list node -v* 16.20.0 (Currently using 64-bit executable) VUE版本查看 package.json 文件 "dependencies": {"vue": "^3.3.4"},VScode 安装 volar 插件有利于开发。 浏览器图标 ico VUE使用一种基于 HTML 的模板语法&#…

MySQL 8.0 主从复制重建流程(从主库数据文件备份恢复)

一、需求描述 MySQL主从复制2台数据库已经存在&#xff0c;因为差异太大的原因&#xff0c;所以需要将主库的数据文件备份在从库进行恢复&#xff0c;重新设置主从复制的关系。 二、准备工作 在开始之前我们需要有主库下面的文件 1.主库MySQL数据目录的备份压缩文件 202311…

MSF暴力破解SID和检测Oracle漏洞

暴力破解SID 当我们发现 Oracle 数据库的 1521 端口时,我们可能考虑使用爆破 SID(System Identifier)来进行进一步的探测和认证。在 Oracle 中,SID 是一个数据库的唯一标识符。当用户希望远程连接 Oracle 数据库时,需要了解以下几个要素:SID、用户名、密码以及服务器的 I…

深入理解WPF中的依赖注入和控制反转

在WPF开发中&#xff0c;依赖注入&#xff08;Dependency Injection&#xff09;和控制反转&#xff08;Inversion of Control&#xff09;是程序解耦的关键&#xff0c;在当今软件工程中占有举足轻重的地位&#xff0c;两者之间有着密不可分的联系。今天就以一个简单的小例子&…

flink job同时使用BroadcastProcessFunction和KeyedBroadcastProcessFunction例子

背景&#xff1a; 广播状态可以用于规则表或者配置表的实时更新&#xff0c;本文就是用一个欺诈检测的flink作业作为例子看一下BroadcastProcessFunction和KeyedBroadcastProcessFunction的使用 BroadcastProcessFunction和KeyedBroadcastProcessFunction的使用 1.首先看主流…

【华为OD题库-005】选修课-Java

题目 现有两门选修课&#xff0c;每门选修课都有一部分学生选修&#xff0c;每个学生都有选修课的成绩&#xff0c;需要你找出同时选修了两门选修课的学生,先按照班级进行划分&#xff0c;班级编号小的先输出&#xff0c;每个班级按照两门选修课成绩和的降序排序&#xff0c;成…

Linux背景介绍与环境搭建

本章内容 认识 Linux, 了解 Linux 的相关背景学会如何使用云服务器掌握使用远程终端工具 xshell 登陆 Linux 服务器 Linux 背景介绍 发展史 本门课程学习Linux系统编程&#xff0c;你可能要问Linux从哪里来&#xff1f;它是怎么发展的&#xff1f;在这里简要介绍Linux的发展…

3+单细胞+代谢+WGCNA+机器学习

今天给同学们分享一篇生信文章“Identification of new co-diagnostic genes for sepsis and metabolic syndrome using single-cell data analysis and machine learning algorithms”&#xff0c;这篇文章发表Front Genet.期刊上&#xff0c;影响因子为3.7。 结果解读&#x…

正则表达式中扩展表示法的理解

正则表达式可以拥有扩展表达式&#xff0c;大致形式是(?...) 理解&#xff1a; 以(?)的含义为例子 data a1b2ce34.5d_6fres re.findall(r[a-z](?\d), data) # [a, b, ce]# ([a-z](?\d) 表示的是匹配小写字符一个或多个&#xff0c;但是匹配之后需要满足后续有数字一个…

Elasticsearch:处理 Elasticsearch 中的字段名称不一致

在 Elasticsearch 中&#xff0c;经常会遇到类似数据的不同索引具有不同字段名称的情况。 例如&#xff0c;一个索引可能使用字段名 level 来表示日志级别&#xff0c;而另一个索引可能使用 log_level 来达到相同目的。 出现这种不一致的原因有多种&#xff0c;例如不同的团队使…

Leetcode-1 两数之和

暴力穷举 class Solution {public int[] twoSum(int[] nums, int target) {int[] num new int[2];for(int i0;i<nums.length-1;i){for(int ji1;j<nums.length;j){if(nums[i]nums[j]target){num[0]i;num[1]j;}}}return num;} }HashMap&#xff0c;记录下标和对应值&…