您好,登錄后才能下訂單哦!
通過博文CIsco路由器實現IPSec 虛擬專用網原理及配置詳解可以實現兩個局域網之間建立虛擬專用網,但是在現實環境中,較為常用的還是Easy 虛擬專用網。它主要解決的就是出差員工通過虛擬專用網訪問內網的問題。在路由器上實現Easy 虛擬專用網時,會涉及以下的基本概念:XAUTH、組策略、動態Crypto Map等概念!
博文大綱:
一、Easy 虛擬專用網需要解決的問題;
二、在路由器上實現Easy 虛擬專用網需要配置什么?
1.使用XAUTH做用戶驗證;
2.組策略;
3.動態 Crypto Map;
三、在Cisco路由器上配置Easy 虛擬專用網案例;
通過CIsco路由器實現IPSec 虛擬專用網原理及配置詳解了解到實現IPSec 虛擬專用網時,需要經歷兩個重要的階段。
按照上述過程建立IPSec 虛擬專用網沒有問題,但是如果使用上面的方法建立Easy 虛擬專用網就會出現很多問題。比如:
- 遠程訪問虛擬專用網一般來說,這時一端為硬件設備,如路由器、防火墻等;另一端則為客戶端設備,如筆記本電腦等。這時客戶端一側的安全性就會存在一定的問題。大家試想一下,公司網關級的設備與PC的安全管理級別肯定是不同的,更何況很多員工是通過互聯網訪問公司的資源,會帶來很大的安全隱患。而建立IPSec 虛擬專用網加密的傳輸的根本就是事先配置在設備上的預共享密鑰,一旦密鑰泄露,整個IPSec 虛擬專用網就沒有任何意義;
- 建立IPSec 虛擬專用網時,雙方都有固定的IP地址,這樣我們才能配置ACL、對等體。很顯然如果按照配置IPSec 虛擬專用網的思路來建立Easy 虛擬專用網是不可能的!
XAUTH是一個虛擬專用網網關的增強特性,提供用戶名和密碼的方式來驗證用戶身份。由于這個過程是在兩個連接建立之間完成的,所以也被稱為“階段1.5”。
提及用戶驗證自然就會涉及用戶名和密碼的存儲方式,通常有兩種情況:
雖然增加了用戶名和密碼的驗證過程,但如果遠程訪問虛擬專用網用戶的筆記本電腦丟失,一些非法用戶也可以通過這臺筆記本電腦來獲取公司內部的資料。解決這種問題的辦法有:
實際環境中一般都是采用第二種驗證方式!
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路由器需要配置一條默認路由到R2、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應用到公司網關路由器的外網接口
這里使用windows 7系統進行測試!如果使用windows 10系統的朋友,安裝客戶端工具時,會相對麻煩一些,可以參考博文Windows 10系統安裝虛擬專用網客戶端工具
接下來無腦下一步即可!安裝完成之后
連接成功后,查看生成的虛擬專用網的IP地址
訪問公司內部、公網的服務器測試訪問!
訪問成功!
———————— 本文至此結束,感謝閱讀 ————————
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。