一、基础知识

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. Intelligence Beyond the Edge: Inference on Intermittent Embedded Systems

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文. Abstract 能量收集技术为未来的物联网应用提供了一个很有前景的平台.然而,由于这些 ...

  2. 用Python的Pandas和Matplotlib绘制股票KDJ指标线

    我最近出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中给出了MACD,KDJ ...

  3. python3中异常处理方法 try-except-else-finally

    个人感觉逻辑上类似if else条件判断 但这是对语法错误以及抛出异常的处理 异常处理 try/except 异常捕捉可以使用 try/except 语句. 以下例子中,让用户输入一个合法的整数,但是 ...

  4. 微信小程序如何快速开通流量主

    1.先开发小程序,小程序需要有亮点,毕竟新颖(这样别人才更好去点击查看) 2.条件是独立访客(UV)不低于1000,1000人说多不多,说少也不少,因为小程序是没有链接的,是不可以进行一个流量刷取的, ...

  5. 深度优先搜索(DFS)解题总结

    定义 深度优先搜索算法(Depth-First-Search),是搜索算法的一种.它沿着树的深度遍历树的节点,尽可能深的搜索树的分支. 例如下图,其深度优先遍历顺序为 1->2->4-&g ...

  6. 如何把一个一般的git库变成“裸库”?

    语法: git clone --bare 「src」 「dest」 e.g. cd ~/Workspace/SourceRepo/ git clone --bare ./ ../Git/bareRep ...

  7. Hadoop Windows IDEA

    java jdk1.8都可以了 注意jdk的路径要拷贝到一个没有空格的路径改掉JAVA_HOME系统环境变量 在etc/hadoop/hadoop_env.cmd里有设置%JAVA_HOME%了不用管 ...

  8. Linux 基础指令2

    管道符| 先执行第一个命令后执行第二个 eg:查看文件中间几行: head -n1 文件名| tail -n2 :先查看文件前n1行,然后在n1行中的后n2行 tail -n1 文件名| head - ...

  9. 微服务实战SpringCloud之Spring Cloud Feign替代HTTP Client

    简介 在项目中我们有时候需要调用第三方的API,微服务架构中这种情况则更是无法避免--各个微服务之间通信.比如一般的项目中,有时候我们会使用 HTTP Client 发送 HTTP 请求来进行调用,而 ...

  10. 会话技术之 Session

    会话技术之 Session 不多废话,先来一个 HelloWorld. Session 有 get 肯定要先有 set . @Override protected void service(HttpS ...