經過博文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地址
訪問公司內部、公網的服務器測試訪問!
訪問成功!
———————— 本文至此結束,感謝閱讀 ————————