一、基础知识

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. 教育行业CRM项目开发

    项目开发流程 需求分析 存储所有的客户咨询信息    避免重复数据    客户多次跟踪记录    客户来源分析.成单率分析    每个销售只能修改自己的客户信息    报名流程开发        班级 ...

  2. 跟我一起学.NetCore之日志(Log)模型核心

    前言 鲁迅都说:没有日志的系统不能上线(鲁迅说:这句我没说过,但是在理)!日志对于一个系统而言,特别重要,不管是用于事务审计,还是用于系统排错,还是用于安全追踪.....都扮演了很重要的角色:之前有很 ...

  3. 树链剖分详解&题解 P6098 【[USACO19FEB]Cow Land G】

    看到各位大佬们已经把其他的东西讲的很明白了,我这个 juruo 就讲一讲最基本的树链剖分吧. 0.树剖是什么?能吃吗? 不能吃 树剖是树链剖分的简称,我们一般说的树剖其实指重链剖分.当然,还有一种长链 ...

  4. LCA详解

    LCA,即最近公共祖先,在图论中应用比较广泛. LCA的定义如下:给定一个有根树,若节点$z$同时是节点$x$和节点$y$的祖先,则称$z$是$x,y$的公共祖先:在$x,y$的所有公共祖先当中深度最 ...

  5. React的几种组件

    一.函数组件 该函数在React中是一个有效的组件,可以接收唯一带有数据的props(代表属性)对象,并返回一个React元素.函数式组件要特别注意,组件名称首字母一定要大写.这种方式也成为无状态组件 ...

  6. oeasy教您玩转linux010109clear清屏

     回忆上次内容 上次讲了灵魂三问 whatis whereis which 通过这三个问题,可以对命令基本了解,我们来试一下!!

  7. 记录一道有意思的js题目

    偶然机会,在codewars上面开始做题,遇到一道有意思的题目,记录一下: 题目是这样的: In this kata, you will write a function that returns t ...

  8. springboot入门遇到Whitelabel Error Page错误

    错误页面: 解决方法: 启动类要放在最外层,改成下面的

  9. Oracle Rman备份恢复和管理

    参考资料: Oracle之Rman入门指南 一步一步学Rman Rman简介 Rman-Recover manager恢复管理工具. Oracle集成了很多环境的一个数据库备份和恢复的工具. Rman ...

  10. Python日志功能与处理逻辑

    前言 在应用程序执行过程中,我们希望通过规范格式输出程序执行的详细信息,这时我们需要用到日志功能.在Python语言中,有个內建模块logging能够很好的实现日志功能.整体来说,logging配置可 ...