1.Easy 虚拟专用网须要解决的问题web
阶段1----创建管理链接算法
阶段2----创建数据链接数据库
2.使用XAUTH作用户验证安全
(1) XAUTH服务器
IPsec 协议最初的设计并未考虑用户验证问题,因此IETF (internet Engineering Task Force , 因特网工程任务部) 引入了一个RFC的草案 ---XAUTH, 它是一个虚拟专用网网管的加强特性,提供用户名和密码的方式来验证用户身份。 因为这个过程是在俩个链接创建之间完成的,因此被称为“阶段1.5”。 用户验证天然就会涉及用户名和密码的存储方式,一般状况下有两种:
(2)AAA的定义网络
AAA是Authentication(验证),Authorization(受权),Accounting(统计)的缩写,它提供了在网络设备上配置访问控制的基本框架框架
验证: 用户是谁?
对用户的合法性进行验证,包括用户名,密码等信息的验证ide
受权:用户能够作什么?
在用户经过验证后,为用户指定其可以使用的服务等权限加密
统计:用户作过什么?
在用户验证,受权成功后,记录用户的操做等信息,以便用于记帐设计
实现AAA服务器主要使用RADIUS协议和TACACS+协议
RADIUS(远程验证拨入用户服务)是一个全开放的标准协议,厂商或用户能够灵活地修改RADIUS
TACACS+(终端访问控制器访问控制系统)是Cisco设计的私有协议
Router(config)# aaa new-model
3.组策略
.地址池
远程访问虚拟专用网的客户端之因此很难与虚拟专用网的网关创建链接,就是由于客户端没有固定的IP地址,在这种“动态”的状况下,最好的办法就是让使虚拟专用网设备像DHCP服务器同样为每一个经过验证的客户端“推送”IP地址。这样,因为客户端的IP地址是虚拟专用网网关动态分配的,虚拟专用网设备天然也就知道该与哪一个IP创建虚拟专用网链接。
和DHCP服务器同样,除了给客户端分配IP地址之外,还要分配网关和DNS,这样客户端就拥有了内网的IP、网关及DNS等必备的资源,真正成为内网的一员
在远程访问虚拟专用网中,虚拟专用网网关须要与多组客户端“共享密钥”,所以在配置虚拟专用网时须要为每组客户端设置不一样的共享密钥,客户端的密钥并非虚拟专用网网关推送的,而是须要用户经过客户端软件配置在主机上,而这个过程通常是由公司的网络管理员来实现的,那么这个密钥天然是保存在客户端主机本地了,所以才有了“阶段1.5”的存在
默认状况下,客户端与虚拟专用网网关创建隧道后,只能访问内网受权的资源,这是由于隧道会容许全部的流量,也就是说全部的流量必须通过隧道到达公司,天然也就不容许任何流量访问,而对于客户端而言,因此须要针对远程访问虚拟专用网配置ACL来分离隧道
当客户端主机经过远程访问虚拟专用网链接到公司,即便隧道分离后,客户端访问Internet的web服务器时,也须要使用公司内网的DNS解析,但这不是一个合理的过程,若是客户端每次访问百度,都要通过公司内网进行DNS解析,实际上是不必的,太浪费资源了,因此要实现客户端访问公司的web服务器时,使用公司内网的DNS解析,若访问百度,则使用的DNS,若是要实现不一样的域名使用不一样的DNS,就须要用到了分离DNS
4.动态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。
5.配置案例
1.配置IP 而且除了R4 别的所有作默认路由
桥接一个主机是64位的,要用虚拟专用网的客户端程序
如R3配置
R3(config)#int f0/0 R3(config-if)#ip add 192.168.0.10 255.255.255.0 R3(config-if)#no shutdown R3(config)#ip route 0.0.0.0 0.0.0.0 192.168.0.1
R1配置:
aaa配置以下
R1(config)#aaa new-model R1(config)#aaa authentication login bdqn-authen local R1(config)#aaa authorization network bdqn-author local R1(config)#username bdqn secret cisco //建立用户 加密
阶段1配置以下
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 R1(config-isakmp)#exit
阶段1.5配置以下
R1(config)#ip local pool bdqn-pool 192.168.1.200 192.168.1.210 //建立地址池 R1(config)#ip access-list extended split-acl R1(config-ext-nacl)#permit ip 192.168.0.0 0.0.0.255 any R1(config-ext-nacl)#exit
建立组策略以下
R1(config)#crypto isakmp client configuration group test-group R1(config-isakmp-group)#key 123456 R1(config-isakmp-group)#pool bdqn-pool R1(config-isakmp-group)#dns 192.168.0.10 R1(config-isakmp-group)#acl split-acl R1(config-isakmp-group)#split-dns bdqn.com R1(config-isakmp-group)#exit
配置动态Map
R1(config)#crypto ipsec transform-set bdqn-set esp-3des esp-sha-hmac R1(cfg-crypto-trans)#exit R1(config)#crypto dynamic-map bdqn-dymap 1 R1(config-crypto-map)#set transform-set bdqn-set R1(config-crypto-map)#exit R1(config)#crypto map bdqn-stamap 1000 ipsec-isakmp dynamic bdqn-dymap R1(config)#crypto map bdqn-stamap client authentication list bdqn-authen R1(config)#crypto map bdqn-stamap isakmp authorization list bdqn-author R1(config)#crypto map bdqn-stamap client configuration address respond //用于让客户端先发起链接 R1(config)#int f0/1 R1(config-if)#crypto map bdqn-stamap //应用到外接口
安装虚拟专用网的客户端
第一和第二个框位描述信息随便填,
第三个框写R1外接口的iP
下面写组策略的用户名和密码,输入两遍密码
输入aaa的帐号密码
验证 用虚拟机ping
若是把R1换为防火墙
其余配置都同样
在防火墙上配置以下:
进入外接口:nameif outside
进入内接口:nameif inside
ciscoasa(config)# route outside 0 0 200.0.0.2 //防火墙走默认路由
ciscoasa(config)# username bdqn password 123456 ciscoasa(config)# crypto isakmp enable outside ciscoasa(config)# crypto isakmp policy 10 ciscoasa(config-isakmp-policy)# encryption 3des ciscoasa(config-isakmp-policy)# hash sha ciscoasa(config-isakmp-policy)# authentication pre-share ciscoasa(config-isakmp-policy)# group 2 ciscoasa(config-isakmp-policy)# exit ciscoasa(config)# ip local pool bdqn-pool 192.168.1.200-192.168.1.210 ciscoasa(config)# access-list split-acl permit ip 192.168.0.0 255.255.255.0 any ciscoasa(config)# group-policy test-group internal ciscoasa(config)# group-policy test-group attributes ciscoasa(config-group-policy)# split-tunnel-policy tunnelspecified ciscoasa(config-group-policy)# split-tunnel-network-list value split-acl ciscoasa(config-group-policy)# exit ciscoasa(config)# tunnel-group bdqn-group type ipsec-ra ciscoasa(config)# tunnel-group bdqn-group general-attributes ciscoasa(config-tunnel-general)# default-group-policy test-group ciscoasa(config-tunnel-general)# exit ciscoasa(config)# tunnel-group bdqn-group ipsec-attributes ciscoasa(config-tunnel-ipsec)# pre-shared-key bdqn-key ciscoasa(config-tunnel-ipsec)# exit ciscoasa(config)# crypto ipsec transform-set bdqn-set esp-3des esp-sha-hmac ciscoasa(config)# crypto dynamic-map bdqn-dymap 1 set transform-set bdqn-set ciscoasa(config)# crypto map bdqn-stamap 1000 ipsec-isakmp dynamic bdqn-dymap ciscoasa(config)# crypto map bdqn-stamap int outside