思科vpn配置笔记

VPN

1、VPN(Virtual Private Network)

VPN即Virtual Private Network,翻译为虚拟专用网络。它是一种通过公共网络(如互联网)建立的加密连接,用于在不安全的网络上创建一个私密的网络环境。通过VPN,用户可以在网络中建立一条安全的通道,将数据加密传输,实现隐私保护和匿名上网。

2、工作原理

加密通信:

VPN通过使用加密协议,将用户的数据加密成不可读的密文。这样即使在数据传输过程中被截获,黑客也无法解读其中的内容。

数据隧道:

VPN在公共网络上创建一个安全的隧道,将用户的数据通过这个隧道进行传输。隧道中的数据是加密的,只有经过认证的接收方才能解密并获取原始数据。

IP地址隐藏:

VPN还可以隐藏用户的真实IP地址,代之以VPN服务器提供的虚拟IP地址。这样用户的真实身份和位置信息就得到了保护,保护隐私。

pki 技术:

PKI(Public Key Infrastructure,公钥基础设施)是一个利用公钥理论和技术来实现并提供信息安全服务的具有通用性的安全基础设施

PKI 系统以数字证书的形式分发和使用公钥。数字证书是用户的身份和用户所持有的公钥的结合。

基于数字证书的 PKI 系统,能够为网络通信和网络交易提供各种安全服务。

一个 PKI 体系由终端PKI 实体、CA、RA 和证书/CRL 发布点四类实体共同组成。

1.终端PKI 实体

终端 PKI 实体是PKI 服务的最终使用者,可以是个人、组织、设备(如路由器、交换机)或计算机中运行的进程,后文简称为PKI 实体。

  1. CA(Certificate Authority,证书颁发机构)

CA 是一个用于签发并管理数字证书的可信PKI 实体。其作用包括:签发证书、规定证书的有效期和发布CRL。

  1. RA(Registration Authority,证书注册机构)

RA 是受CA 委托来完成PKI 实体注册的机构,它接收用户的注册申请,审查用户的申请资格,并决定是否同意CA 给其签发数字证书,用于减轻CA 的负担。建议在部署PKI 系统时,RA 与CA安装在不同的设备上,减少CA 与外界的直接交互,以保护CA 的私钥。

  1. 证书/CRL 发布点

CRL(证书撤销列表)是一种包含已被吊销数字证书信息的文件。证书/CRL 发布点用于对用户证书和CRL 进行存储和管理,并提供查询功能。通常,证书/CRL 发布点位于一个目录服务器上,该服务器可以采用LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)协议、HTTP 等协议工作。其中,较为常用的是LDAP 协议,它提供了一种访问发布点的方式。LDAP 服务器负责将CA/RA 服务器传输过来的数字证书或CRL 进行存储,并提供目录浏览服务。用户通过访问LDAP 服务器获取自己和其他用户的数字证书或者CRL。

3. 安全三要素:

1)机密性

2)完整性

3)身份验证

4、加密技术:

1)对称加密:加密与解密使用相同的密钥

密钥是通信双方协商生成,生成过程是明文通信!

密钥容易泄露!

速度快!

对称加密算法:DES、3DES、AES

2)非对称加密算法:使用公私钥加密数据

公私钥成对生成,互为加解密关系!

公私钥不能互相推算!

双方交换公钥

使用对方的公钥加密实现机密性

使用自己的私钥进行签名,实现身份验证

速度慢,安全性高

常见算法:RSA、DH

5.完整性算法/hash值算法:

MD5

SHA

6.类型:

1)远程访问VPN:(Remote Access VPN)

一般用在个人到安全连接企业内部!

一般出差员工/在家办公,安全连接内网时使用!

一般公司部署VPN服务器,员工在外拨号连接VPN即可!

常见RA-VPN协议:PPTP VPN、L2TP VPN、SSTP VPN

EZvpn/easyvpn、SSL VPN

2)点到点VPN

一般用在企业对企业安全连接!

一般需要在两个企业总出口设备之间建立VPN通道!

常见的点到点VPN:IPsecVPN

7.IPsecVPN:

1)属于点到点VPN,可以在2家企业之间建立VPN隧道!

2)VPN隧道优点:

1.身份认证:IPSec可以验证通信双方的身份,确保只有合法的用户才能访问被保护的资源。

2.数据完整性:IPSec使用一种称为哈希函数的算法,对数据进行散列运算,以检查数据是否被篡改。如果数据传输过程中发生任何变化,接收方将发现数据不完整并且拒绝处理数据。

3.数据机密性:IPSec使用加密算法对传输的数据进行加密以保护数据不被未授权的人员获取。

4.反重放攻击保护:IPSec在通信建立时,请求发送方发送一个唯一的标识符,每次通信时该标识符都会改变。这个标识符能够保护数据不被重复使用,从而避免了攻击者利用数据重用的缺点。

5.防止拒绝服务攻击:IPSec可以根据安全策略对流量进行限制,拦截来自未授权的流量,减少对被保护的资源的攻击。

3)VPN隧道技术:

1)传输模式:只加密上层数据,不加密私有IP包头,速度快

2)隧道模式:加密整个私有IP包,包括IP包头,更安全,速度慢

4)VPN隧道技术:重新封装技术+加密认证技术

5)IPsecVPN分为2大阶段:

第一阶段:管理连接

目的:通信双方设备通过非对称加密算法 加密对称加密算法所使用的对称密钥!

命令:

conf t ( IKE)

crypto isakmp policy 1 (传输集/策略集)

encryption des/3des/aes 对称加密算法

hash md5/sha 完整性算法

group 1/2/5 非对称加密算法

authentication pre-share 身份验证预共享密钥

lifetime 秒 (默认86400秒)

exit

crypto isakmp key 预共享密钥 address 对方的公网IP地址

第二阶段:数据连接

目的:通过对称加密算法加密实际所要传输的私网数据!

定义VPN触发流量:

access-list[lc1] 100 permit ip 192.168.1.0 0.0.0.255 172.16.0.0 0.0.255.255

从192.168网段到172.16的数据要走隧道

定义加密及认证方式:

conf t

crypto ipsec transform-set 传输模式名 esp-des/3des/aes esp/ah-md5/sha-hmac

sha-hmac:表示将第一阶段的共享密钥调用进来

例:

crypto ipsec teansform-set wentran esp-aes esp-sha-hmac

ESP:支持加密及认证(身份验证+完整性)

AH:只支持认证(身份验证+完整性)

创建MAP映射表:

conf t

crypto map map名 1 ipsec-isakmp(将阶段一映射过来)

match address acl表名

set transform-set 传输模式名(阶段二里面的)

set peer 对方的公网IP

exit

crypto map wenmap 1 ipsec-isakmp

match address 100

set transform-set wentran

set peer 200.1.1.2

exit

crypto map wenmap 2 ipsec-isakmp

match address 101

set transform-set wentran

set peer 150.1.1.2

exit

将map表应用到外网端口:

int f0/1(外网端口)

crypto map wenmap

exit

****注意:一个接口只能应用一个map表!!!!!

crypto map wenmap 1 ipsec-isakmp :这个1 表示该隧道标识,,因为只能用一张表,但是可能一个接口不只一条隧道,改成2就表示另一个隧道了,还可以用这个表

8. 查看命令:

show crypto isakmp sa 查看第一阶段状态

show crypto ipsec sa 查看第二阶段状态

show crypto isakmp policy 查看第一阶段的策略配置集

show crypto ipsec transform-set 查看第二阶段的传输模式

9.路由工作原理:

内网--to--外网: 路由--NAT--VPN--出去

10. 实战

拓扑下载: https://download.csdn.net/download/qq_48257021/88646567

配置ip和路由

互联网上的路由器不配置ip route,因为要配置vpn

北京和上海的路由器向互联网指一条默认路由:

bj : ip route 0.0.0.0 0.0.0.0

sh : ip route 0.0.0.0 0.0.0.0

  1. bj总部路由

bj(config)#crypto isakmp policy 1 创建一个阶段1的传输集表

bj(config-isakmp)#encryption aes 对称加密算法

bj(config-isakmp)#group 2 非对称加密算法

bj(config-isakmp)#hash sha 完整性算法

bj(config-isakmp)#authentication pre-share 身份验证与共享密钥

bj(config)#crypto isakmp key lcy123 address 200.1.1.2 对方公网ip地址

bj(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255

阶段二:定义加密和认证方式

bj(config)#crypto ipsec transform-set lcytran(传输模式名) esp-aes esp-sha-hmac

创建map映射表

bj(config)#crypto map lcymap 1 ipsec-isakmp(将阶段一的策略引用进来)

bj(config-crypto-map)#set peer 200.1.1.2

bj(config-crypto-map)#match address 100

bj(config-crypto-map)#set transform-set lcytran(将阶段二的传输模式名引用进来)

运用在接口:

bj(config-crypto-map)#int g0/0/0 外网出接口

bj(config-if)#crypto map lcymap

*Jan 3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

阶段一已经处于监听状态,随时等待建立连接

查看策略集

bj#show crypto isakmp policy

Global IKE policy

Protection suite of priority 1

encryption algorithm: AES - Advanced Encryption Standard (128 bit keys).

hash algorithm: Secure Hash Standard

authentication method: Pre-Shared Key

Diffie-Hellman group: #2 (1024 bit)

lifetime: 86400 seconds, no volume limit

查看对方状态

bj#show crypto isakmp sa

IPv4 Crypto ISAKMP SA

dst src state conn-id slot status

IPv6 Crypto ISAKMP SA

分公司路由

参考北京总部


[lc1]这里的acl起匹配的作用,不起过滤的作用,只有当它应用到接口上时起到过滤流量的作用,在这里是匹配能走vpn的流量

相关推荐
环能jvav大师2 分钟前
基于R语言的统计分析基础:使用SQL语句操作数据集
开发语言·数据库·sql·数据分析·r语言·sqlite
吱吱鼠叔5 分钟前
MATLAB方程求解:1.线性方程组
开发语言·matlab·php
Antonio91510 分钟前
【CMake】使用CMake在Visual Studio内构建多文件夹工程
开发语言·c++·visual studio
LyaJpunov24 分钟前
C++中move和forword的区别
开发语言·c++
程序猿练习生28 分钟前
C++速通LeetCode中等第9题-合并区间
开发语言·c++·leetcode
世俗ˊ33 分钟前
CSS入门笔记
前端·css·笔记
一名路过的小码农38 分钟前
C/C++动态库函数导出 windows
c语言·开发语言·c++
m0_6312704041 分钟前
标准c语言(一)
c语言·开发语言·算法
万河归海42841 分钟前
C语言——二分法搜索数组中特定元素并返回下标
c语言·开发语言·数据结构·经验分享·笔记·算法·visualstudio
Messiah___1 小时前
【论文阅读】Slim Fly: A Cost Effective Low-Diameter Network Topology 一种经济高效的小直径网络拓扑
开发语言·php