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