博文大綱:
1、在路由器上實現Easy 虛擬專用網須要配置什麼?
2、配置實例web
前言:因爲「Virtual Private Network」(請看首字母,就知道是什麼咯)是敏\感詞彙,因此在博文中使用它的中文名字「虛擬專用網」來代替。算法
在以前寫過了Cisco路由器之IPSec 虛擬專用網;在Cisco的ASA防火牆上實現IPSec虛擬專用網。這兩篇博文都是用於實現總公司和分公司之間創建虛擬專用網的,那麼還有一種使用不少的狀況,就是出差人員想要訪問公司內網的資源呢?因爲出差人員只是單一的一個客戶端,因此和前兩篇博文不同,前兩篇博文搭建虛擬專用網,兩端設備都是路由器或防火牆,有固定的IP地址,因此呢,並不能實現出差人員訪問,這篇博文的目的,就是實現出差人員能夠訪問公司內網資源的,這個技術被稱之爲——Easy 虛擬專用網。數據庫
這篇博文將寫下如何在路由器上實現Easy 虛擬專用網。若是網關設備是Cisco ASA防火牆,配置可參考:Cisco ASA防火牆之Easy虛擬專用網windows
在原有的IPSec協議上,並無用戶驗證的功能,因此引入了一個RFC的草案——XAUTH。它是一個虛擬專用網網關的加強特性,提供用戶名和密碼的方式來驗證用戶身份。因爲這個過程是在兩個鏈接創建之間完成的,因此被戲稱爲「階段1.5」(關於兩個階段的介紹,能夠參考Cisco路由器之IPSec 虛擬專用網,有詳細的介紹)。服務器
談到用戶驗證天然就涉及到了用戶名和密碼的存儲方式,一般狀況下有兩種方式:網絡
要實現Easy 虛擬專用網,那麼必定要在虛擬專用網設備上配置一些策略,而後,當客戶端來鏈接虛擬專用網設備時,通過身份驗證後,主動將配置的策略推送給客戶端,以便成功創建鏈接,那麼這個提早被配置的策略就被稱之爲組策略。ide
組策略包含以下:
(1)地址池:可使虛擬專用網設備像DHCP服務器同樣爲每一個經過驗證的客戶端「推送」IP地址。這樣,因爲客戶端的IP地址是虛擬專用網網關動態分配的,虛擬專用網設備天然也就知道該與哪一個IP創建虛擬專用網鏈接。示意圖以下:
(2)DNS和網關:和DHCP服務器同樣,除了給客戶端分配IP地址之外,還要分配網關和DNS,這樣客戶端就擁有了內網的IP、網關及DNS等必備的資源,真正成爲內網的一員,以下所示:
測試
(3)交換共享密鑰:在遠程訪問虛擬專用網中,虛擬專用網網關須要與多組客戶端「共享密鑰」,所以在配置虛擬專用網時須要爲每組客戶端設置不一樣的共享密鑰,客戶端的密鑰並非虛擬專用網網關推送的,而是須要用戶經過客戶端軟件配置在主機上,而這個過程通常是由公司的網絡管理員來實現的,那麼這個密鑰天然是保存在客戶端主機本地了,所以纔有了「階段1.5」的存在,以下:網站
(4)分離隧道:默認狀況下,客戶端與虛擬專用網網關創建隧道後,只能訪問內網受權的資源,這是由於隧道會容許全部的流量,也就是說全部的流量必須通過隧道到達公司內網,天然也就不容許任何流量訪問外網,而對於客戶端而言,訪問外網,再正常不過了,因此須要針對遠程訪問虛擬專用網配置ACL來分離隧道,經過配置ACL,全部「permit」的流量都被加密傳輸,全部「deny」的流量都被明文傳輸,而加密的流量就是經過隧道訪問公司內網的流量,明文的流量就是訪問Internet的流量,將這個ACL應用到組策略中便可實現需求,以下:加密
(5)分離DNS:當客戶端主機經過遠程訪問虛擬專用網鏈接到公司內網,即便隧道分離後,客戶端訪問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)在公司網關路由器上配置虛擬專用網,客戶端(出差人員)能夠鏈接到虛擬專用網,並訪問內網提供的DNS服務及HTTP(www.lvjianzhao.com ) 服務(使用該域名訪問,內網中的DNS負責解析該域名),爲了簡化環境,因此集成到一臺服務器上了。
(2)客戶端鏈接到虛擬專用網後,還可使用Internet的DNS及HTTP服務,模擬www.baidu.com 網站服務,並使用Internet上的服務器提供的DNS服務解析該域名。
(3)自行配置正確的路由器接口及各個服務器的IP、網關、路由(服務器配置相應的網關,路由器R1只需配置接口IP及一條默認路由指向R2路由器便可,R2路由器除了接口IP之外什麼都不要配置,尤爲是路由表,不然可能測試不出來虛擬專用網的效果)。
(4)客戶端須要安裝Cisco提供的客戶端軟件進行鏈接。
三、配置前準備:
(1)下載客戶端使用的軟件,並安裝在客戶端,用來鏈接虛擬專用網(我這裏提供的是windows 7的client安裝包,若是客戶端是Windows 10,請參考博文:Windows 10 安裝虛擬專用網client端):。
(2)自行配置路由器接口IP地址及路由(這些基礎配置命令就不展現了,我以前的博文有寫到過,或者自行百度吧)。。
(3)自行配置各個服務器及客戶端的IP及網關。
(4)自行在相關服務器上搭建HTTP服務及DNS服務(這兩個服務不是這篇博客想要介紹的,我這裏簡單搭了一個,我以前的博文有搭相關服務的,能夠自行查看)。
四、開始配置:
當全部基礎配置(接口IP地址、路由、網關)配置完畢後,便可進行如下虛擬專用網的配置。
(1)公司網關R1路由器配置以下:
R1(config)#aaa new-model #啓用AAA #如下是爲遠程訪問虛擬專用網客戶端進行認證及受權。 # 「 test1-authen」是自定義的認證名稱,「local」表示本地認證方式, #也可使用「group radius」,路由器會轉發給指定的RADIUS服務器進行驗證, #這裏就使用「local」了,方便。 R1(config)#aaa authentication login test1-authen local #認證 R1(config)#aaa authorization network test1-author local #受權 #如下是配置用於客戶端鏈接的用戶名及密碼,「secret」表示加密該密碼。 #能夠配置多個用戶名和密碼,以供路由器與多組客戶端進行身份驗證。 R1(config)#username lvjianzhao secret 2019.com #如下是"配置虛擬專用網階段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至此配置完畢。 #接下來"配置階段1.5",就是須要在管理鏈接後創建成功後,推送給客戶端的配置了。 #如下是配置一個地址池,池中的地址是向客戶端分發的, #地址池的網段地址,不能夠和內網使用同一網段,不然將會影響最終通訊 R1(config)#ip local pool test-pool 192.168.1.200 192.168.1.210 #如下是定義一個命名的ACL,這個ACL是推送給客戶端使用的,只有ACL容許的源地址是能夠被客戶端訪問的。 R1(config)#ip access-list extended fenli-acl #這個ACL是容許192.168.0.0去往任何地址,當推送到客戶端時,就會反過來。 #變成了容許任何IP地址訪問192.168.0.0。由於這裏的源地址是站在路由器的角度的。 R1(config-ext-nacl)#permit ip 192.168.0.0 0.0.0.255 any #如下是建立用戶組 R1(config)#crypto isakmp client configuration group test-group R1(config-isakmp-group)#key pwd123 #用戶組的密鑰 R1(config-isakmp-group)#pool test-pool #應用剛纔建立的地址池 R1(config-isakmp-group)#dns 192.168.0.1 #爲客戶端指定DNS R1(config-isakmp-group)#acl fenli-acl #引用剛纔建立的ACL R1(config-isakmp-group)#split-dns lvjianzhao.com #指定須要分離出來的域名(內網的域名) R1(config-isakmp-group)#exit #階段1.5至此就配置完畢了。 #"配置階段2,也就是數據鏈接的相關配置" R1(config)#crypto ipsec transform-set test-set esp-3des esp-sha-hmac #配置傳輸集 R1(cfg-crypto-trans)#exit R1(config)#crypto dynamic-map test-dymap 1 #建立動態map,「1」是序號,用來定義優先級 R1(config-crypto-map)#set transform-set test-set #在動態crypto map中定義transform-set(傳輸集) R1(config-crypto-map)#exit #如下是配置應用到靜態crypto map中,因爲同一臺網關設備還會存在和分公司的虛擬專用網靜態map, #因此建議將這種方式的虛擬專用網配置的序號靠後一點,優先匹配與分公司之間的虛擬專用網靜態map,這裏定義爲1000 R1(config)#crypto map test-stamap 1000 ipsec-isakmp dynamic test-dymap #引用剛纔建立的動態map。 #如下配置是用於讓客戶端發起鏈接 R1(config)#crypto map test-stamap client authentication list test1-authen R1(config)#crypto map test-stamap isakmp authorization list test1-author R1(config)#crypto map test-stamap client configuration address respond #如下配置是應用到公司網關路由器的外網接口。 R1(config)#int f1/0 R1(config-if)#crypto map test-stamap
公司網關路由器上關於虛擬專用網的配置已經完成了,如今使用客戶端安裝專用軟件,鏈接虛擬專用網,並測試訪問便可。
(2)客戶端配置以下:
將我提供的壓縮包解壓後安裝虛擬專用網的客戶端軟件。
還須要再次解壓,選擇解壓到哪裏:
解壓後,會彈出下面的安裝嚮導,以下,選擇安裝語言:
基本上就是無腦下一步了,本身看吧!
選擇安裝路徑:
等待安裝完成便可!
安裝完成後,能夠經過如下來找到client軟件:
單擊打開client:
添加一個鏈接:
填寫具體信息:
鏈接虛擬專用網:
彈出如下對話框後,填寫在網關設備上建立的用戶及密碼:
鏈接成功後,能夠查看咱們客戶端的網絡適配器有什麼變化。
使用客戶端分別訪問www.lvjianzhao.com 及 www.baidu.com 便可驗證公司內網及Internet上的http服務和DNS服務
至此,效果實現,客戶端既能夠訪問公司內網的服務,也能夠訪問Internet的服務,OK,齊活。
———————— 本文至此結束,感謝閱讀 ————————