一、基础知识

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. Four Fundamental Operations(JS) --结对项目

    一.Github地址:https://github.com/BayardM/Four-Fundamental-Operations (本项目由鲍鱼铭3118004995 和 许铭楷3118005023 ...

  2. latex:数学式中的省略符号

    数学式中有很多省略符号,具体命令符号和用法如下 数学式中的省略符号 \cdots 水平位置与减号等高,例如$-\cdots +$,得到- … + \ddots 对角省略号,例如$A\ddots M$, ...

  3. muduo源码解析6-condtion类

    condition class condition:noncopyable { }; 作用: 实现了最简单condtion操作,包括init,destroy,wait,notify,notifyAll ...

  4. 第3关-input()函数

    第3关-input()函数 一.input()函数 import time print('亲爱的同学:') time.sleep(1) print('我们愉快地通知您,您已获准在霍格沃茨魔法学校就读. ...

  5. 2020年B2B外贸建站的终极教程

    本文目标:按照本建站教程的顺序操作,能够实现:基于全球份额最大的建站系统“wordpress”,从零搭建一个B2B外贸网站,且建站成本每年小于1000元(如果不计算自己投入的人力成本的话). 模板站点 ...

  6. 【转】LeakCanary

    LeakCanary:检测所有的内存泄漏 http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0509/2854.html 原文: L ...

  7. 使用Javax.mail 发送邮件

    使用Javax.mail 发送邮件 详细说明都在代码中: 引入依赖  <!--sun定义的一套接收.发送电子邮件的API-->    <dependency>      < ...

  8. Web最最基础2

    网页元素HTML 列表 (1)无序列表 <ul> <li>****</li> <li>***</li></ul> 更多样式:&l ...

  9. POJ-1273Drainage Ditches(网络流入门题,最大流)

    Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover patch. This ...

  10. C. News Distribution(并查集)

    In some social network, there are nn users communicating with each other in mm groups of friends. Le ...