一、基础知识

VPN(Virtual Private Network)虚拟专有网络,即虚拟专网。VPN可以实现在不安全的网络上,安全的传输数据,好像专网!VPN只是一个技术,使用PKI技术,来保证数据的安全三要素(C、I、A)

1.1 VPN的类型

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

一般用在个人到安全连接企业内部!
一般出差员工/在家办公,安全连接内网时使用!(需要有单独的VPN服务器)
一般公司部署VPN服务器,员工在外拨号连接VPN即可!
常见RA-VPN协议:PPTP VPN、L2TP VPN、SSTP VPN、(过时了)

EZvpn/easyvpn(思科私有的)、SSL VPN (目前最流行的)

2)点到点VPN

一般用在企业对企业安全连接!
一般需要在两个企业总出口设备之间建立VPN通道!
常见的点到点VPN:IPsecVPN

1.2 IPsecVPN

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

2)VPN隧道优点:安全性!合并俩家企业内网!

3)VPN隧道技术:

  • 传输模式:只加密上层数据,不加密私有IP包头,速度快
  • 隧道模式:加密整个私有IP包,包括IP包头,更安全,速度慢

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

5)IPsecVPN分为2大阶段

第一阶段:管理连接

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

conf t 
crypto isakmp policy 1          ( IKE     传输集/策略集,可以多配置几个策略集)
  encryption des/3des/aes         (加密算法类型)
  hash md5/sha                        (完整性校验算法类型)
  group 1/2/5                              (使用D-H算法的版本?)
  authentication pre-share          (预共享密钥算法,身份验证方式)
  lifetime 秒 (默认86400秒)      (可以不配置,对称密钥有效时间,如果双方不一致,取min,最好一致)
  exit
crypto isakmp key 预共享密钥 address 对方的公网IP地址

第二阶段:数据连接

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

定义VPN触发流量:
access-list 100 permit ip 192.168.1.0 0.0.0.255 172.16.0.0 0.0.255.255

定义加密及认证方式:
conf t
crypto ipsec transform-set 传输模式名 esp-des/3des/aes esp/ah-md5/sha-hmac
例:
crypto ipsec teansform-set wencoll  esp-aes esp-sha-hmac

  • ESP:支持加密及认证(身份验证+完整性)
  • AH:只支持认证,没得加密(身份验证+完整性)

创建MAP映射表

conf t
crypto map map名 1 ipsec-isakmp         (1是隧道1)
  match address ACL表名               (阶段2里面的ACL表名)
  set transform-set 传输模式名
  set peer 对方的公网IP
  exit

eg:

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          (2是隧道2)
  match address 101
  set transform-set wentran
  set peer 150.1.1.2
  exit

将map表应用到外网端口

int f0/1(外网端口)
  crypto map wenmap
  exit
****注意:一个接口只能应用一个map表!!!!

查看命令:

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

show crypto isakmp policy          查看第一阶段的策略配置集
show crypto ipsec transform-set 查看第二阶段的传输模式

路由器的工作原理:内网--to--外网: 路由--NAT--VPN--出去

实验1:北京--上海--建立VPN隧道,并验证(这篇文章所做的
实验2:在实验1的基础上,要求2个公司能上网,但不影响VPN隧道(因为流量经过路由器时,先NAT再VPN,但是如果经过NAT转换的流量就无法匹配到VPN的需求了。于是需要在NAT的ACL表中豁免来源是192目标是172的流量)

acc 101 deny ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255
acc 101 permit any

实验3:在实验1和2的基础上,要求北京总部与广州新成立的分公司也建立VPN隧道(北京那里有俩隧道,NAT的ACL表里再加一条豁免)
可选:
实验4:在1-3的基础上,要求广州和上海之间不建立VPN隧道,但广州和上海可以互相安全的通信!(俩路由器都加一条VPN的ACL。)

远程访问VPN:(扩展知识点)
在公司需要搭建VPN服务器
VPN服务器需要对VPN客户端进行身份验证
VPN服务器需要给VPN客户端下发权限及IP地址

二、实验过程

要求在中间路由器R2没有设置路由转发表的前提下,北京——上海建立VPN隧道互通。

1)如实验拓扑图给PC主机配置静态IP、子网掩码、网关

2)给路由器配置接口IP与路由表项

Router(config)#ho R1
R1(config)#int f0/1
R1(config-if)#ip add 192.168.1.254 255.255.255.0
R1(config-if)#no sh R1(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
exit
R1(config)#int f0/0
R1(config-if)#ip add 100.1.1.1 255.255.255.0
R1(config-if)#no sh R1(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
exit
R1(config)#ip route 0.0.0.0 0.0.0.0 100.1.1.2
Router(config)#ho R2
R2(config)#int f0/0
R2(config-if)#ip add 100.1.1.2 255.255.255.0
R2(config-if)#no sh R2(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
exit
R2(config)#int f0/1
R2(config-if)#ip add 200.1.1.1 255.255.255.0
R2(config-if)#no sh R2(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up
exit
Router(config)#ho R3
R3(config)#int f0/1
R3(config-if)#ip add 200.1.1.2 255.255.255.0
R3(config-if)#no sh R3(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up
exit
R3(config)#int f0/0
R3(config-if)#ip add 172.16.1.254 255.255.255.0
R3(config-if)#no sh R3(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
exit
R3(config)#ip route 0.0.0.0 0.0.0.0 200.1.1.1

3)管理连接、创建连接、创建map映射表、将map表应用到外网端口

R1(config)#crypto isakmp policy 1
R1(config-isakmp)#encryption aes
R1(config-isakmp)#group 2
R1(config-isakmp)#hash sha
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#exit
R1(config)#crypto isakmp key coderge address 200.1.1.2
R1(config)#
R1(config)#acc 100 permit ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255
R1(config)#crypto ipsec transform-set getran esp-aes esp-sha-hmac
R1(config)#
R1(config)#
R1(config)#crypto map gemap 1 ip
R1(config)#crypto map gemap 1 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
R1(config-crypto-map)#set peer 200.1.1.2
R1(config-crypto-map)#match address 100
R1(config-crypto-map)#set transform-set getran
R1(config-crypto-map)#exit
R1(config)#
R1(config)#
R1(config)#int f0/0
R1(config-if)#crypto map gemap
*Jan 3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

可以通过命令查看当前连接未建立

继续配置另一端的路由器,Giao!!!

crypto isakmp policy 2
encryption aes
group 2
hash sha
authentication pre-share
exit
crypto isakmp key coderge address 100.1.1.1 acc 102 permit ip 172.16.1.0 0.0.0.255 192.168.1.0 0.0.0.255
crypto ipsec transform-set ge2tran esp-aes esp-sha-hmac crypto map ge2map 1 ipsec-isakmp
set peer 100.1.1.1
match address 102
set transform-set ge2tran
exit int f0/1
crypto map ge2map

现在就ping的通了、(试验成功!!!)

最后在R1查看一下状态

R1(config)#do sh crypto ipsec sa

interface: FastEthernet0/0
Crypto map tag: gemap, local addr 100.1.1.1 protected vrf: (none)
local ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (172.16.1.0/255.255.255.0/0/0)
current_peer 200.1.1.2 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 271, #pkts encrypt: 271, #pkts digest: 0
#pkts decaps: 240, #pkts decrypt: 240, #pkts verify: 0
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 1, #recv errors 0 local crypto endpt.: 100.1.1.1, remote crypto endpt.:200.1.1.2
path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0
current outbound spi: 0x720A552B(1913279787) inbound esp sas:
spi: 0x10D639AC(282474924)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2004, flow_id: FPGA:1, crypto map: gemap
sa timing: remaining key lifetime (k/sec): (4525504/3448)
IV size: 16 bytes
replay detection support: N
Status: ACTIVE inbound ah sas: inbound pcp sas: outbound esp sas:
spi: 0x720A552B(1913279787)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2005, flow_id: FPGA:1, crypto map: gemap
sa timing: remaining key lifetime (k/sec): (4525504/3448)
IV size: 16 bytes
replay detection support: N
Status: ACTIVE outbound ah sas: outbound pcp sas:

IPSecVPN介绍 & (Cisco Packet Tracer)IPSecVPN实验演示的更多相关文章

  1. IP组网实验(使用Cisco Packet Tracer路由器模拟软件)

    最近计网课讲到了以太网,第二个计网实验就是IP组网实验.这个实验主要使用了netsim这个路由器模拟软件.怎奈mac上没有,于是用Cisco Packet Tracer进行了一次模拟(其实就是实验中的 ...

  2. Cisco Packet Tracer NAT模拟实验

    Cisco Packet Tracer NAT模拟实验 by: 铁乐猫 date: 2020-09-22 cisco packet tracer : 7.2.2 NAT简介 NAT允许将私有IP地址映 ...

  3. 对比网络模拟器软件——Cisco Packet Tracer、华为eNSP、H3C Cloud Lab

    1.软件介绍 1.1 Cisco Packet Tracer Cisco Packet Tracer(以下简称PT)是一款由思科公司开发的,为网络课程的初学者提供辅助教学的实验模拟器.使用者可以在该模 ...

  4. Cisco Packet Tracer的使用(一)

    Cisco Packet Tracer 是由Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计.配置.排除网络故障提供了网络模拟环境.用户可以在软件的图形用户界面上直接使用拖曳方法 ...

  5. Linux中安装Cisco Packet Tracer

    Cisco Packet tracer是什么? Cisco Packet Tracer是一个强大的网络模拟工具,用于进行Cisco认证时的培训.它为我们 提供了各个路由器和网络设备的良好的接口视图,这 ...

  6. Cisco Packet Tracer做单臂路由的过程

    Cisco Packet Tracer版本:6.0.0.0045 单臂路由 VLAN规划 switch 0上配置:Switch>enSwitch(config)#vlan 2 #创建vlan2S ...

  7. Cisco Packet Tracer中通过集线器组网

    Cisco Packet Tracer中可以通过集线器将多台电脑完成通信. Cisco Packet Tracer 6.2.0 一.添加三台电脑设备 1.按照下图1.2步骤操作,2步骤执行三次,拖拽P ...

  8. Cisco Packet Tracer中两台电脑通信设置

    Cisco Packet Tracer是网络初学者仿真模拟网络环境的必备工具.今天我们来模拟下两台电脑之间的通信. Cisco Packet Tracer版本6.2.0 一.添加设备 1.这里添加一个 ...

  9. Cisco学习记录(一):Cisco Packet Tracer官网下载方法

    通过Cisco Packet Tracer学习计算机网络知识 本人大三狗一枚,一直以来都在学java, python, web开发的我,经过一番决定,毅然决然要开始深入学习计算机网络!通过Cisco ...

  10. Cisco Packet Tracer 7.2

    Cisco Packet Tracer 7.2.1已于2018年12月28日发布,版本号为7.2.1.0218,现在可在Cisco Netacad网站上下载. What's new in Cisco ...

随机推荐

  1. 个人项目(C语言)

    GitHub地址:https://github.com/dachai9/personal-project.git 1. WC 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数 ...

  2. 强化学习中的经验回放(The Experience Replay in Reinforcement Learning)

    一.Play it again: reactivation of waking experience and memory(Trends in Neurosciences 2010) SWR发放模式不 ...

  3. Dubbo直连方式改造

    目录 一.dubbo 服务化最佳实践 1. 分包 2. 粒度 3. 版本 二.改造 dubbo 项目 三.link-interface 1. pom.xml 2. 实体类 3. 公共接口 四.提供者 ...

  4. Java动态代理(三)——Cglib动态代理

    一.Cglib动态代理Cglib是一个优秀的动态代理框架,它的底层使用ASM在内存中动态的生成被代理类的子类,使用Cglib即使代理类没有实现任何接口也可以实现动态代理功能.而且,它的运行速度要远远快 ...

  5. Java多线程_生产者消费者模式2

    在我的上一条博客中,已经介绍到了多线程的经典案列——生产者消费者模式,但是在上篇中用的是传统的麻烦的非阻塞队列实现的.在这篇博客中我将介绍另一种方式就是:用阻塞队列完成生产者消费者模式,可以使用多种阻 ...

  6. JS获取时间(当前-过去-未来)

    /** * 获取时间格式为:1970-01-01 00:00 * @param {参数} params * 属性 类型 默认值 必填 说明 * date Date new Date() 否 Date对 ...

  7. 那些jdk中坑你没商量的方法

    前言:jdk作为我们每天必备的调用类库,里面大量提供了基础类供我们使用.可以说离开jdk,我们的java代码寸步难行,jdk带给我们的便利可谓是不胜枚举,但同时这些方法在使用起来也存在一些坑,如果不注 ...

  8. 分布式文件存储:FastDFS简单使用与原理分析

    引言 FastDFS 属于分布式存储范畴,分布式文件系统 FastDFS 非常适合中小型项目,在我接手维护公司图片服务的时候开始接触到它,本篇文章目的是总结一下 FastDFS 的知识点. 用了 2 ...

  9. python-opencv 图像捕捉多个不规则轮廓,与轮廓内接区域(圆/矩形)思路-持续更新编辑中(会附上详细的思路解释和图片)

    整体思路: 1.原图灰度化 2.灰度图截取mask区域 3.mask区域二值化 4.二值化图像运算(开运算) 5.原灰图轮廓提取 6.不规则轮廓校准(外接矩形/内接矩形) 注:代码依次头尾连接哦! 0 ...

  10. Mockito在JUnit测试中的使用

    Mockito是一种用于替代在测试中难以实现的成员,从而让testcase能顺利覆盖到目标代码的手段.下面例子将展示Mockito的使用. 完整代码下载:https://files.cnblogs.c ...