经过博文CIsco路由器实现IPSec 虚拟专用网原理及配置详解能够实现两个局域网之间创建虚拟专用网,可是在现实环境中,较为经常使用的仍是Easy 虚拟专用网。它主要解决的就是出差员工经过虚拟专用网访问内网的问题。在路由器上实现Easy 虚拟专用网时,会涉及如下的基本概念:XAUTH、组策略、动态Crypto Map等概念!web
博文大纲:
1、Easy 虚拟专用网须要解决的问题;
2、在路由器上实现Easy 虚拟专用网须要配置什么?
1.使用XAUTH作用户验证;
2.组策略;
3.动态 Crypto Map;
3、在Cisco路由器上配置Easy 虚拟专用网案例;算法
经过CIsco路由器实现IPSec 虚拟专用网原理及配置详解了解到实现IPSec 虚拟专用网时,须要经历两个重要的阶段。数据库
按照上述过程创建IPSec 虚拟专用网没有问题,可是若是使用上面的方法创建Easy 虚拟专用网就会出现不少问题。好比:安全
- 远程访问虚拟专用网通常来讲,这时一端为硬件设备,如路由器、防火墙等;另外一端则为客户端设备,如笔记本电脑等。这时客户端一侧的安全性就会存在必定的问题。你们试想一下,公司网关级的设备与PC的安全管理级别确定是不一样的,更况且不少员工是经过互联网访问公司的资源,会带来很大的安全隐患。而创建IPSec 虚拟专用网加密的传输的根本就是事先配置在设备上的预共享密钥,一旦密钥泄露,整个IPSec 虚拟专用网就没有任何意义;
- 创建IPSec 虚拟专用网时,双方都有固定的IP地址,这样咱们才能配置ACL、对等体。很显然若是按照配置IPSec 虚拟专用网的思路来创建Easy 虚拟专用网是不可能的!
XAUTH是一个虚拟专用网网关的加强特性,提供用户名和密码的方式来验证用户身份。因为这个过程是在两个链接创建之间完成的,因此也被称为“阶段1.5”。服务器
说起用户验证天然就会涉及用户名和密码的存储方式,一般有两种状况:网络
虽然增长了用户名和密码的验证过程,但若是远程访问虚拟专用网用户的笔记本电脑丢失,一些非法用户也能够经过这台笔记本电脑来获取公司内部的资料。解决这种问题的办法有:框架
实际环境中通常都是采用第二种验证方式!ide
AAA是Authentication(验证)、Authorization(受权)和Accounting(统计)的缩写,它提供了在网络设备上配置访问控制的基本框架。测试
实现AAA服务器只要使用RADIUS协议和TACACS+协议:网站
配置Easy 虚拟专用网一个关键的问题就是,因为与虚拟专用网链接的客户端由不少,因此Peer的IP地址就不会固定,Crypto ACL也不会惟一。最好的解决方法就是让虚拟专用网“主动推送”这些策略给客户端。可是不少状况下客户端的这些策略都是相同的,所以在Easy 虚拟专用网中引入组的概念,将具备相同策略的客户端划分到一个组中,在虚拟专用网网关上一次性地为一组客户端配置策略,这样在配置过程和管理过程当中都将大大节省工做量。
组策略包含如下内容:
远程访问虚拟专用网的客户端之因此很难与虚拟专用网的网关创建链接,就是由于客户端没有固定的IP地址,在这种“动态”的状况下,最好的办法就是让使虚拟专用网设备像DHCP服务器同样为每一个经过验证的客户端“推送”IP地址。这样,因为客户端的IP地址是虚拟专用网网关动态分配的,虚拟专用网设备天然也就知道该与哪一个IP创建虚拟专用网链接。
示意图以下:
当客户端经过了以前的AAA身份验证以后哦,为了与虚拟专用网网关创建IPSec 链接,虚拟专用网网关会从自身或第三方认证服务器中的地址池推送IP地址给客户端。
和DHCP服务器同样,除了给客户端分配IP地址之外,还要分配网关和DNS,这样客户端就拥有了内网的IP、网关及DNS等必备的资源,真正成为内网的一员。
示意图以下:
客户端经过虚拟专用网隧道接入公司内网,就好像虚拟成公司内部的一台客户机同样,这样就能够应用一些公网上被禁的协议。好比共享。
在远程访问虚拟专用网中,虚拟专用网网关须要与多组客户端“共享密钥”,所以在配置虚拟专用网时须要为每组客户端设置不一样的共享密钥,客户端的密钥并非虚拟专用网网关推送的,而是须要用户经过客户端软件配置在主机上,而这个过程通常是由公司的网络管理员来实现的,那么这个密钥天然是保存在客户端主机本地了,所以才有了“阶段1.5”的存在。
示意图以下:
默认状况下,客户端与虚拟专用网网关创建隧道后,只能访问内网受权的资源,这是由于隧道会容许全部的流量,也就是说全部的流量必须通过隧道到达公司内网,天然也就不容许任何流量访问外网,而对于客户端而言,访问外网,再正常不过了,因此须要针对远程访问虚拟专用网配置ACL来分离隧道。
经过配置ACL,全部“permit”的流量都被加密传输,全部“deny”的流量都被明文传输,而加密的流量就是经过隧道访问公司内网的流量,明文的流量就是访问Internet的流量,将这个ACL应用到组策略中便可实现需求。
示意图以下:
客户端经过认证后,ACL将随其余组策略一同被推送到客户端主机,此时主机的网关将变成公网网关,查看主机的路由表会发现有一条明细路由指向虚拟专用网网关,这条明细的路由就是虚拟专用网客户端根据推送来的ACL生成的。
当客户端主机经过远程访问虚拟专用网链接到公司内网,即便隧道分离后,客户端访问Internet的web服务器时,也须要使用公司内网的DNS解析,但这不是一个合理的过程,若是客户端每次访问百度,都要通过公司内网进行DNS解析,实际上是不必的,太浪费资源了,因此要实现客户端访问公司内网的web服务器时,使用公司内网的DNS解析,若访问百度,则使用外网的DNS,若是要实现不一样的域名使用不一样的DNS,就须要用到了分离DNS。
示意图以下:
由于咱们没法实如今虚拟专用网设备的静态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的通常思路。
示意图以下:
(1)客户端经过Easy 虚拟专用网使用域名(www.yinuo.com) 正常访问内部网站;
(2)客户端使用域名(www.xiaojiang.com) 正常访问公网网站;
(3)按照拓补图中的IP地址进行配置,R1路由器须要配置一条默认路由到R二、R2只配置IP地址、并自行搭建相关的服务用于测试;
(4)客户端下载虚拟专用网软件 (仅用于Windows 7);
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应用到公司网关路由器的外网接口
接下来无脑下一步便可!安装完成以后
链接成功后,查看生成的虚拟专用网的IP地址
访问公司内部、公网的服务器测试访问!
访问成功!
———————— 本文至此结束,感谢阅读 ————————