通过博文CIsco路由器实现IPSec 虚拟专用网原理及配置详解可以实现两个局域网之间建立虚拟专用网,但是在现实环境中,较为常用的还是Easy 虚拟专用网。它主要解决的就是出差员工通过虚拟专用网访问内网的问题。在路由器上实现Easy 虚拟专用网时,会涉及以下的基本概念:XAUTH、组策略、动态Crypto Map等概念!

博文大纲:
一、Easy 虚拟专用网需要解决的问题;
二、在路由器上实现Easy 虚拟专用网需要配置什么?
1.使用XAUTH做用户验证;
2.组策略;
3.动态 Crypto Map;
三、在Cisco路由器上配置Easy 虚拟专用网案例;

一、Easy 虚拟专用网需要解决的问题

通过CIsco路由器实现IPSec 虚拟专用网原理及配置详解了解到实现IPSec 虚拟专用网时,需要经历两个重要的阶段。

1.阶段1——建立管理连接

  • 协商采用何种方式建立管理连接;
  • 通过DH算法共享密钥信息;
  • 对等体彼此进行身份验证;

2.阶段2-建立数据连接

  • 定义对等体间保护何种流量;
  • 定义用来保护数据的安全协议;
  • 定义传输模式;

按照上述过程建立IPSec 虚拟专用网没有问题,但是如果使用上面的方法建立Easy 虚拟专用网就会出现很多问题。比如:

  • 远程访问虚拟专用网一般来说,这时一端为硬件设备,如路由器、防火墙等;另一端则为客户端设备,如笔记本电脑等。这时客户端一侧的安全性就会存在一定的问题。大家试想一下,公司网关级的设备与PC的安全管理级别肯定是不同的,更何况很多员工是通过互联网访问公司的资源,会带来很大的安全隐患。而建立IPSec 虚拟专用网加密的传输的根本就是事先配置在设备上的预共享密钥,一旦密钥泄露,整个IPSec 虚拟专用网就没有任何意义;
  • 建立IPSec 虚拟专用网时,双方都有固定的IP地址,这样我们才能配置ACL、对等体。很显然如果按照配置IPSec 虚拟专用网的思路来建立Easy 虚拟专用网是不可能的!

二、在路由器上实现Easy 虚拟专用网需要配置什么?

1.使用XAUTH做用户验证

(1)XAUTH

XAUTH是一个虚拟专用网网关的增强特性,提供用户名和密码的方式来验证用户身份。由于这个过程是在两个连接建立之间完成的,所以也被称为“阶段1.5”

提及用户验证自然就会涉及用户名和密码的存储方式,通常有两种情况:

  • 存储在虚拟专用网网关设备的内部数据库中;
  • 存储在第三方设备上,比如一台AAA服务器;

虽然增加了用户名和密码的验证过程,但如果远程访问虚拟专用网用户的笔记本电脑丢失,一些非法用户也可以通过这台笔记本电脑来获取公司内部的资料。解决这种问题的办法有:

  • 用户使用令牌卡,是每次输入用户名/口令都是不同的;
  • 虚拟专用网的管理员强制客户端不得在本地存储用户名/口令,用户每次登陆必须手动输入;

实际环境中一般都是采用第二种验证方式!

(2)AAA的定义

AAA是Authentication(验证)、Authorization(授权)和Accounting(统计)的缩写,它提供了在网络设备上配置访问控制的基本框架。

实现AAA服务器只要使用RADIUS协议和TACACS+协议:

  • RADIUS协议:是一个全开放的标准协议,任何厂商和用户可以灵活的修改RADIUS;
  • TACACS+协议:是Cisco设计的私有协议;

2.组策略

配置Easy 虚拟专用网一个关键的问题就是,由于与虚拟专用网连接的客户端由很多,所以Peer的IP地址就不会固定,Crypto ACL也不会唯一。最好的解决方法就是让虚拟专用网“主动推送”这些策略给客户端。但是很多情况下客户端的这些策略都是相同的,因此在Easy 虚拟专用网中引入组的概念,将具有相同策略的客户端划分到一个组中,在虚拟专用网网关上一次性地为一组客户端配置策略,这样在配置过程和管理过程中都将大大节省工作量。

组策略包含以下内容:

(1)地址池

远程访问虚拟专用网的客户端之所以很难与虚拟专用网的网关建立连接,就是因为客户端没有固定的IP地址,在这种“动态”的情况下,最好的办法就是让使虚拟专用网设备像DHCP服务器一样为每个通过验证的客户端“推送”IP地址。这样,由于客户端的IP地址是虚拟专用网网关动态分配的,虚拟专用网设备自然也就知道该与哪个IP建立虚拟专用网连接。

示意图如下:

当客户端通过了之前的AAA身份验证之后哦,为了与虚拟专用网网关建立IPSec 连接,虚拟专用网网关会从自身或第三方认证服务器中的地址池推送IP地址给客户端。

(2)DNS和网关

和DHCP服务器一样,除了给客户端分配IP地址以外,还要分配网关和DNS,这样客户端就拥有了内网的IP、网关及DNS等必备的资源,真正成为内网的一员。

示意图如下:

客户端通过虚拟专用网隧道接入公司内网,就好像虚拟成公司内部的一台客户机一样,这样就可以应用一些公网上被禁的协议。比如共享。

(3)共享密钥

在远程访问虚拟专用网中,虚拟专用网网关需要与多组客户端“共享密钥”,因此在配置虚拟专用网时需要为每组客户端设置不同的共享密钥,客户端的密钥并不是虚拟专用网网关推送的,而是需要用户通过客户端软件配置在主机上,而这个过程一般是由公司的网络管理员来实现的,那么这个密钥自然是保存在客户端主机本地了,因此才有了**“阶段1.5”**的存在。

示意图如下:

(4)分离隧道

默认情况下,客户端与虚拟专用网网关建立隧道后,只能访问内网授权的资源,这是因为隧道会允许所有的流量,也就是说所有的流量必须经过隧道到达公司内网,自然也就不允许任何流量访问外网,而对于客户端而言,访问外网,再正常不过了,所以需要针对远程访问虚拟专用网配置ACL来分离隧道。

通过配置ACL,所有“permit”的流量都被加密传输,所有“deny”的流量都被明文传输,而加密的流量就是通过隧道访问公司内网的流量,明文的流量就是访问Internet的流量,将这个ACL应用到组策略中即可实现需求。

示意图如下:

客户端通过认证后,ACL将随其他组策略一同被推送到客户端主机,此时主机的网关将变成公网网关,查看主机的路由表会发现有一条明细路由指向虚拟专用网网关,这条明细的路由就是虚拟专用网客户端根据推送来的ACL生成的。

(5)分离DNS

当客户端主机通过远程访问虚拟专用网连接到公司内网,即使隧道分离后,客户端访问Internet的web服务器时,也需要使用公司内网的DNS解析,但这不是一个合理的过程,如果客户端每次访问百度,都要经过公司内网进行DNS解析,其实是没必要的,太浪费资源了,所以要实现客户端访问公司内网的web服务器时,使用公司内网的DNS解析,若访问百度,则使用外网的DNS,如果要实现不同的域名使用不同的DNS,就需要用到了分离DNS。

示意图如下:

3.动态 Crypto Map

因为我们无法实现在虚拟专用网设备的静态crypto map中指定客户端的地址(客户端的地址由虚拟专用网的DHCP服务分发,不是固定的),所以需要将静态crypto map中需要的参数被动态填充,使用动态crypto map 必须采用ISAKMP/IKE发起协商,而且在实现远程访问虚拟专用网的时候通常在虚拟专用网网关上同时配置静态和动态的crypto map,因为只有一台具有静态配置的设备可以发起IPSec的隧道,也正是如此,动态的crypto map很少被用于L2L(局域网to局域网)会话建立。

在实现远程访问虚拟局域网的时候,一般会先配置transform-set,因为指定传输集与peer的IP地址无关,可以将传输集直接应用到动态crypto map;由于在接口上只能配置一个crypto map,且虚拟专用网网关上必须有静态crypto map,所以需将动态crypto map 应用到静态的crypto map中,再将静态crypto map应用到接口上,这就是配置crypto map的一般思路。

示意图如下:

三、在Cisco路由器上配置Easy 虚拟专用网案例

(1)案例环境

(2)案例需求

(1)客户端通过Easy 虚拟专用网使用域名(www.yinuo.com) 正常访问内部网站;
(2)客户端使用域名(www.xiaojiang.com) 正常访问公网网站;
(3)按照拓补图中的IP地址进行配置,R1路由器需要配置一条默认路由到R2、R2只配置IP地址、并自行搭建相关的服务用于测试;
(4)客户端下载虚拟专用网软件 (仅用于Windows 7);

(3)案例实施

1.内部网关路由器R1的配置:

R1(config)#aaa new-model                           //启用AAA
R1(config)#aaa authentication login lv-authen local             //认证
R1(config)#aaa authorization network lv-author local          //授权
//“ lv-authen”是自定义的认证名称,“lv-author”是自定义的授权名称
//“local”表示本地认证方式,也可以使用“group radius”,路由器会转发给指定的RADIUS服务器进行验证
//实验环境,为了简单起见就使用local方式
R1(config)#username lv secret zhenjiang
//配置用于客户端连接的用户名及密码,“secret”表示加密该密码
//也可以配置多个用户名和密码,以供路由器与多组客户端进行身份验证
R1(config)#crypto isakmp policy 10
R1(config-isakmp)#encryption 3des
R1(config-isakmp)#hash sha
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#group 2            //不可以使用DH密钥组号1
R1(config-isakmp)#exit  阶段1配置完毕!R1(config)#ip local pool lv-pool 192.168.2.10 192.168.2.50
//地址池的网段地址,池中的地址是向客户端分发的,不可以和内网使用同一网段,否则将会影响最终通信
R1(config)#ip access-list extended lv-acl
//创建一个命名的ACL
R1(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 any
//这个ACL是允许192.168.1.0去往任何地址,当推送到客户端时,就会反过来。
//变成了允许任何IP地址访问192.168.1.0。因为这里的源地址是站在路由器的角度的。
R1(config)#crypto isakmp client configuration group lv-group
//创建用户组,组名为lv-group
R1(config-isakmp-group)#key lv-key           //用户组密钥为lv-key
R1(config-isakmp-group)#pool lv-pool         //调用刚才定义的地址池
R1(config-isakmp-group)#dns 192.168.1.100
//为客户端指定内部的DNS服务器
R1(config-isakmp-group)#acl lv-acl       //调用刚才定义的ACL
R1(config-isakmp-group)#split-dns yinuo.com
//指定需要分离出来的域名(内网服务器的域名)阶段1.5配置完毕!R1(config)#crypto ipsec transform-set lv-set esp-3des esp-sha-hmac
//指定传输集的加密、验证方式。不可以使用AH算法进行验证
R1(cfg-crypto-trans)#exit
R1(config)#crypto dynamic-map lv-dymap 1
//创建动态map,“1”表示序列号,用于定义优先级
R1(config-crypto-map)#set transform-set lv-set
//调用刚才定义的传输集
R1(config-crypto-map)#exit阶段2配置完毕!R1(config)#crypto map lv-stamap 1000 ipsec-isakmp dynamic lv-dymap
//创建一个静态map,序列号尽量靠后,优先匹配IPSec 虚拟专用网的专用静态map
//并且调用刚才定义的动态map
R1(config)#crypto map lv-stamap client authentication list lv-authen
R1(config)#crypto map lv-stamap isakmp authorization list lv-author
//调用刚才定义的AAA方式的认证和授权
R1(config)#crypto map lv-stamap client configuration address respond
//用于客户端首先发起连接,响应客户端的请求
R1(config)#int f2/0
R1(config-if)#crypto map lv-stamap
//将定义的静态map应用到公司网关路由器的外网接口

2.客户端安装虚拟专用网的客户端软件




接下来无脑下一步即可!安装完成之后





连接成功后,查看生成的虚拟专用网的IP地址


访问公司内部、公网的服务器测试访问!


访问成功!

———————— 本文至此结束,感谢阅读 ————————

Cisco路由器实现远程访问虚拟专用网——Easy虚拟专用网(解决出差员工访问内网的问题)相关推荐

  1. Linux下双线双ip访问内网服务器之另类解决办法

    一直被双线访问内网服务器的路由问题困扰,也在网上找了不少资料,但有些方法比较复杂,对我这种懒人来说实在懒得去看去测试.最接近的方法是iptables+iproute2,但我比较杯具的木有测试成功... ...

  2. 如何实现外网访问内网ip?公网端口映射或内网映射来解决

    本地搭建服务器应用,在局域网内可以访问,但在外网不能访问.如何实现外网访问内网ip?主要有两种方案:路由器端口映射和快解析内网映射.根据自己本地网络环境,结合是否有公网IP,是否有路由权限,设置让外网 ...

  3. 【远程访问】Linux搭建SVN服务器,并内网穿透实现公网远程访问

    文章目录 前言 1. Ubuntu安装SVN服务 2. 修改配置文件 2.1 修改svnserve.conf文件 2.2 修改passwd文件 2.3 修改authz文件 3. 启动svn服务 4. ...

  4. AR路由器通过web及代码实现公网用户使用公网地址访问内网服务器,同时内网用户实现通过公网地址访问内外那个服务器

    ** AR 实现 公网用户使用公网地址访问内网服务器,同时内网用户实现通过公网地址访问内外那个服务器 ** 1.web实现 配置前提:设备已实现,基本的上网业务,需要映射服务器,实现内外网的访问. ( ...

  5. Cisco NAT --- 从内网用公网IP地址访问内网服务器

    好吧,我承认这个标题挺难读 , 从一会儿内网一会儿公网一会儿又内网的. 但是这确实一个很实在的问题.如果你用的是ASA或其他防火墙,可以直接 跳过,这东西对防火墙来说实现起来太容易.我们的目标还是思科 ...

  6. 【路由篇】03. 远程设置并访问内网中二层路由的小米路由器

    [简介]当小米路由器在内网中当作二层路由时,我们希望能远程管理内网中的小米路由器,并能访问小米路由器的硬盘.   网络环境 我们在上一篇文章中,我们解决了内网电脑通过小米路由器Web口访问硬盘的问题, ...

  7. 快速实现内网穿透已成功(神卓互联搭建外网访问内网应用)巧妙绕过路由器

    内网穿透在实际生活中,我们经常会在内网里部署服务让外网访问内网应用,比如Apache,Tomcat,数据库,微信小程序的开发以及企业的一些管理软件(OA.CRM.ERP),还有远程桌面等等的外网都是无 ...

  8. 通过路由器端口转发实现外网访问内网主机

    背景 实验室主机在内网,想要在宿舍或者在外面也可以通过公网远程访问,不想通过付费软件. 条件 实验室内网的一个路由器,自己有管理权限.有两台电脑,内网主机A,主机B(内外网均可). 注:下面国过程1~ ...

  9. H3C 路由器内网用户通过域名访问内网服务器的配置方法

    备注:按照第一种方案解决了问题. // 注意dns-map 配置中对应的地址是公网地址而不是服务器的内网地址 以下红色字体为外网域名,公网IP,对应的端口号. [Gateway] nat dns-ma ...

最新文章

  1. matlab多维数组、结构体数组
  2. iOS安全之ipa 包重签名的3种方法
  3. 【数据分析】2020年创业公司到底过得怎么样?数据分析来为你揭晓
  4. 计算机硬盘应该什么格式化,怎么把电脑硬盘全部格式化?计算机硬盘格式,需要使用diskgenius分区工具删除所有分区...
  5. qt android程序联网死机,Qt for Android(九) ——APP 崩溃卡死拉起保活实战
  6. Android Audio Play Out Channel
  7. 老李推荐: 第3章2节《MonkeyRunner源码剖析》脚本编写示例: MonkeyDevice API使用示例 1...
  8. graphpad如何加标注_如何以YOLOv3训练自己的数据集 以小蕃茄为例
  9. MyEclipse could not redeploy(不能重新部署)的解决办法
  10. 怎么把c盘的软件移到d盘?
  11. 菏泽智伴机器人_智伴机器人招商
  12. Android 批量修改文件名称
  13. 破解支付宝行为/滑动/投篮验证码,淘宝行为验证码同理
  14. 2、ESP8266入门(AT模式)——烧录固件
  15. 引入video.js并使用
  16. Fiddler抓包工具是最强大最好用的 Web 调试工具之一
  17. 数据库学习笔记四收缩数据库
  18. Gitee如何免费部署静态网站?
  19. 面向对象:13、内部类
  20. SAP中成本对比 (透明表RESB 存储 生产订单的组件)

热门文章

  1. MQ消息队列-面试题
  2. presume_presume是什么意思_presume的翻译_音标_读音_用法_例句_爱词霸在线词典
  3. apk在模拟器中能运行而手机中运行不了
  4. 灰度图、RGB图的区别
  5. 2007年中国电脑病毒疫情及互联网安全报告(全文)
  6. android开发游记:仿支付宝余额数字累加滚动效果的实现
  7. html5树json,jstree -- 使用JSON 数据组装成树
  8. float之文字环绕问题
  9. vite启动后提示“Network: use `--host` to expose“,且无法通过网络IP访问服务
  10. 数据结构与算法二:时间/空间复杂度(complexity)