1.Easy 虚拟专用网需要解决的问题
10年积累的成都网站制作、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有莫力达免费网站建设让你可以放心的选择与我们合作。
阶段1----建立管理连接
阶段2----建立数据连接
2.使用XAUTH做用户验证
(1) XAUTH
IPsec 协议最初的设计并未考虑用户验证问题,所以IETF (internet Engineering Task Force , 因特网工程任务部) 引入了一个RFC的草案
---XAUTH, 它是一个虚拟专用网网管的增强特性,提供用户名和密码的方式来验证用户身份。
由于这个过程是在俩个连接建立之间完成的,所以被称为“阶段1.5”。
用户验证自然就会涉及用户名和密码的存储方式,通常情况下有两种:
(2)AAA的定义
AAA是Authentication(验证),Authorization(授权),Accounting(统计)的缩写,它提供了在网络设备上配置访问控制的基本框架
验证: 用户是谁?
对用户的合法性进行验证,包括用户名,密码等信息的验证
授权:用户可以做什么?
在用户通过验证后,为用户指定其能够使用的服务等权限
统计:用户做过什么?
在用户验证,授权成功后,记录用户的操作等信息,以便用于记账
实现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