您好,登錄后才能下訂單哦!
一、虛擬專用網(wǎng)的定義
虛擬專用網(wǎng)就是在兩個網(wǎng)絡(luò)實體之間建立的一種受保護(hù)的連接,這兩個實體可以通過點到點的鏈路直接相連,但通常情況下他們會相隔較遠(yuǎn)的距離。
對于定義中提到的“受保護(hù)”一詞,可以從以下幾個方面理解:
- 通過使用加密技術(shù)防止數(shù)據(jù)被竊聽。
- 通過數(shù)據(jù)完整性驗證防止數(shù)據(jù)被破壞、篡改。
- 通過認(rèn)證機(jī)制實現(xiàn)通信方身份確認(rèn),來防止通信數(shù)據(jù)被截獲和回放。
- 此外,虛擬專用網(wǎng)技術(shù)還定義了以下功能:
- 何種流量需要被保護(hù)。
- 數(shù)據(jù)被保護(hù)的機(jī)制。
- 數(shù)據(jù)的封裝過程。
實際生產(chǎn)環(huán)境中的虛擬專用網(wǎng)解決方案不一定包含上面所有功能,還要由具體的環(huán)境需求和實現(xiàn)方式?jīng)Q定,而且很多企業(yè)可能采用不止一種的虛擬專用網(wǎng)解決方案。
二、虛擬專用網(wǎng)的連接模式
虛擬專用網(wǎng)的連接模式有兩種:傳輸模式和隧道模式。
(1)傳輸模式:
在整個虛擬專用網(wǎng)的傳輸過程中,IP包頭并沒有被封裝進(jìn)去,這就意味著從源端的數(shù)據(jù)始終使用原有的IP地址進(jìn)行通信。而傳輸?shù)膶嶋H數(shù)據(jù)載荷被封裝在虛擬專用網(wǎng)報文中,對大多數(shù)虛擬專用網(wǎng)傳輸而言,虛擬專用網(wǎng)的報文封裝過程就是數(shù)據(jù)的加密過程,因此,第三者無法破解數(shù)據(jù)內(nèi)容,但卻可以清晰的知道通信雙方的地址信息。
由于傳輸模式封裝結(jié)構(gòu)相對簡單,因此傳輸效率較高,多用于通信雙方在同一個局域網(wǎng)內(nèi)的情況。
(2)隧道模式:
隧道模式下,虛擬專用網(wǎng)設(shè)備將整個三層數(shù)據(jù)報文封裝在虛擬專用網(wǎng)數(shù)據(jù)內(nèi),再為封裝后的數(shù)據(jù)報文添加新的IP包頭。由于在新IP包頭中封裝的是虛擬專用網(wǎng)設(shè)備的IP地址信息,所以當(dāng)?shù)谌呓孬@數(shù)據(jù)后,不但無法了解實際載荷數(shù)據(jù)的內(nèi)容,同時也無法知道實際通信雙方的地址信息。數(shù)據(jù)包封裝后如下:
由于隧道模式的虛擬專用網(wǎng)在安全性和靈活性方面具有很大的優(yōu)勢,在企業(yè)環(huán)境中應(yīng)用非常廣泛,如:總公司和分公司跨廣域網(wǎng)的通信、移動用戶在公網(wǎng)訪問公司內(nèi)部資源等。
三、虛擬專用網(wǎng)的類型
通常情況下,虛擬專用網(wǎng)的類型分為站點到站點虛擬專用網(wǎng)和遠(yuǎn)程訪問虛擬專用網(wǎng)。
(1)站點到站點虛擬專用網(wǎng):
站點到站點虛擬專用網(wǎng)就是通過隧道模式在虛擬專用網(wǎng)網(wǎng)關(guān)之間保護(hù)兩個或更多的站點之間的流量,站點間的流量通常是指局域網(wǎng)之間(L2L)的通信流量。L2L虛擬專用網(wǎng)多用于總公司與分公司、分公司之間在公網(wǎng)上傳輸重要的業(yè)務(wù)數(shù)據(jù),主要針對某個網(wǎng)段的流量可以使用虛擬專用網(wǎng)。
(2)遠(yuǎn)程訪問虛擬專用網(wǎng):
遠(yuǎn)程訪問虛擬專用網(wǎng)通常用于單用戶設(shè)備與虛擬專用網(wǎng)網(wǎng)關(guān)之間的通信連接,單用戶設(shè)備一般為一臺PC或小型辦公網(wǎng)絡(luò)等。遠(yuǎn)程訪問虛擬專用網(wǎng)對安全性的要求較高,更適用于隧道模式。
要想實現(xiàn)隧道模式的通信,就需要給遠(yuǎn)程訪問客戶端分配兩個IP地址:一個是它自己的網(wǎng)卡IP地址,另一個是內(nèi)網(wǎng)地址,也就是說,遠(yuǎn)程客戶端在虛擬專用網(wǎng)建立過程中同時充當(dāng)虛擬專用網(wǎng)網(wǎng)關(guān)(使用本身的IP地址)和終端用戶(使用內(nèi)網(wǎng)地址)。
虛擬專用網(wǎng)技術(shù)涉及到的概念及算法太多,這里不啰嗦了。
關(guān)于虛擬專用網(wǎng)技術(shù)涉及到的理論方面知識如下,感興趣的話可以自行查閱相關(guān)資料:
1、加密算法
- 對稱加密算法(DES、3DES、AES等)
- 非對稱加密算法(RSA、DSA、DH等,前兩種常用于驗證功能,
- DH被用來實現(xiàn)IPSec中的Internet密鑰交換(IKE)協(xié)議)
- 2、數(shù)據(jù)報文驗證
- 數(shù)據(jù)報文驗證包括的兩個方面:數(shù)據(jù)來源驗證(身份驗證)和報文完整性驗證。
- 虛擬專用網(wǎng)技術(shù)對數(shù)據(jù)進(jìn)行來源驗證通常借助散列算法HMAC實現(xiàn)的。
- HMAC常用的兩種算法(MD5和SHA)。
四、IPSec 虛擬專用網(wǎng)的基本概念
IPSec技術(shù)實現(xiàn)虛擬專用網(wǎng)是目前最為廣泛的一種應(yīng)用,為了可以在工作中快速的定位問題所在,所以了解IPSec的建立過程尤為重要。
1、IPSec連接過程:
IPSec的連接過程如下:
1、流量觸發(fā)IPSec;
2、建立管理連接;
3、建立數(shù)據(jù)連接。
(1)流量觸發(fā)IPSec
簡而言之,言而簡之就是通過ACL來明確哪些流量需要被“保護(hù)”。詳細(xì)來說,就是IPSec建立過程是由對等體之間發(fā)送的流量觸發(fā)的。一旦有虛擬專用網(wǎng)的流量經(jīng)過虛擬專用網(wǎng)網(wǎng)關(guān),連接過程便開始建立了,當(dāng)然,手動配置也可以實現(xiàn)這一過程。在配置設(shè)備實現(xiàn)此步驟前,需要明確哪些流量需要被“保護(hù)”。
(2)建立管理連接
IPSec使用ISAKMP/IKE階段1來構(gòu)建一個安全的管理連接。這里需要注意的是,這個管理連接只是一個準(zhǔn)備工作,它不被用來傳輸實際的數(shù)據(jù)。在配置設(shè)備實現(xiàn)此步驟前,需要明確設(shè)備如何實現(xiàn)驗證,使用何種加密及認(rèn)證算法,使用哪種DH組等問題。
(3)建立數(shù)據(jù)連接
IPSec基于安全的管理連接協(xié)商建立安全的數(shù)據(jù)連接,而ISAKMP/IKE階段2就是來完成這個任務(wù)的,數(shù)據(jù)連接用于傳輸真正的用戶數(shù)據(jù)。在配置設(shè)備實現(xiàn)此步驟前,需要明確使用何種安全協(xié)議,針對具體的安全協(xié)議應(yīng)使用加密或驗證算法,以及數(shù)據(jù)傳輸?shù)哪J剑ㄋ淼滥J交騻鬏斈J剑┑葐栴}。
經(jīng)過IPSec建立的三部曲后,虛擬專用網(wǎng)流量就可以按照協(xié)商的結(jié)果被加密/解密了。但是虛擬專用網(wǎng)并不是一次性的,無論是管理連接還是數(shù)據(jù)連接都有一個生存周期與之關(guān)聯(lián),一旦到期連接會被中止,如果需要繼續(xù)傳輸虛擬專用網(wǎng)數(shù)據(jù),連接需要重新被構(gòu)建,這種設(shè)計主要是處于安全考慮。
IPSec 虛擬專用網(wǎng)屬于安全技術(shù),并非所有的Cisco設(shè)備都支持該功能,需要IOS名稱中的功能集中涵蓋K8或K9,如下:
五、ISAKMP/IKE階段1及階段2的建立過程
1、ISAKMP/IKE階段1
(1)階段1(是雙向的)的相關(guān)概念:
階段1的交換過程有兩個模式:主模式和積極模式。積極模式比主模式快,主模式比積極模式安全,我下面的配置是基于主模式進(jìn)行的。
無論虛擬專用網(wǎng)的類型是站點到站點還是遠(yuǎn)程訪問,都需要完成三個任務(wù):
- 協(xié)商采用何種方式建立管理連接。
- 通過DH算法共享密鑰信息。
- 對等體彼此進(jìn)行身份驗證。
在主模式中,這三個任務(wù)是通過六個數(shù)據(jù)報文完成的:前兩個數(shù)據(jù)包用于協(xié)商對等體間的管理連接使用何種安全策略(交換ISAKMP/IKE傳輸集);中間兩個數(shù)據(jù)包通過DH算法產(chǎn)生并交換加密算法和HMAC功能所需的密鑰;最后兩個數(shù)據(jù)包使用預(yù)共享密鑰等方式執(zhí)行對等體間的身份驗證。需要注意的是,前四個報文是明文傳輸?shù)?,后面兩個報文才是密文傳輸,前四個數(shù)據(jù)包通過各種算法最終產(chǎn)生的密鑰用于第5、和第6個數(shù)據(jù)包及后續(xù)數(shù)據(jù)的加密。
(2)ISAKMP/IKE階段1建立過程:
1)交換ISAKMP/IKE傳輸集
ISAKMP/IKE傳輸集就是一組用來保護(hù)管理連接的安全策略,也有人將它稱之為IKE策略或ISAKMP策略。
ISAKMP/IKE傳輸集主要包括以下幾個方面:
2)通過DH算法實現(xiàn)密鑰交換
上一步只是協(xié)商管理連接的安全策略,而共享密鑰的產(chǎn)生與交換就要通過DH算法來實現(xiàn)。
3)實現(xiàn)設(shè)備間的身份驗證
設(shè)備身份驗證時最常用的方法就是預(yù)共享密鑰,即在對等體之間通過帶外的方式共享密鑰,并存儲在設(shè)備的本地。設(shè)備驗證的過程可以通過加密算法或HMAC功能兩種方法實現(xiàn),而加密算法很少用于身份驗證,多數(shù)情況都會通過HMAC功能實現(xiàn)。
2、ISAKMP/IKE階段2
(1)階段2(是單向的)的相關(guān)概念:
ISAKMP/IKE階段2主要是在兩個IPSec對等體間建立數(shù)據(jù)連接,其主要完成以下任務(wù):
- 定義對等體間需要保護(hù)何種流量(通過ACL來匹配)。
- 定義用來保護(hù)數(shù)據(jù)的安全協(xié)議。
- 定義傳輸模式。
- 定義數(shù)據(jù)連接的生存周期及密鑰刷新的方式。
(2)ISAKMP/IKE階段1建立過程:
1)安全關(guān)聯(lián)
IPSec需要在兩個對等體之間建立一條邏輯連接,這就要使用一個被稱為安全關(guān)聯(lián)的信令協(xié)議,這是因為IPSec需要無連接的IP協(xié)議在安全運行之前就要稱為面向連接的協(xié)議。SA的連接是在源點和終點之間的單向連接,如果需要雙向連接,就需要兩個SA連接,每個方向一個。
SA連接由三個要素定義:
- 安全參數(shù)索引(SPI):用于唯一標(biāo)識每條SA連接。
- 安全協(xié)議的類型:IPSec定義了兩種安全協(xié)議,即AH(認(rèn)證頭協(xié)議)和ESP(封裝安全載荷協(xié)議)。
- 目的IP地址。
ISAKMP/IKE階段2具有上面這種特性,也就是說ISAKMP/IKE的數(shù)據(jù)連接實際是通過兩個單向連接建立的。而兩個連接采用的加密或認(rèn)證方式都是相同的,這就使ISAKMP/IKE階段2這個特征不易被發(fā)現(xiàn)。
2)ISAKMP/IKE階段2的傳輸集:
數(shù)據(jù)連接的傳輸集定義了數(shù)據(jù)連接是如何被保護(hù)的。與管理連接的傳輸集類似,對等體設(shè)備可以保存一個或多個傳輸集,但其內(nèi)容完全不同。
數(shù)據(jù)連接的傳輸集內(nèi)容如下:
- 安全協(xié)議: AH 協(xié)議、ESP協(xié)議。
- 連接模式:隧道模式,傳輸模式。
- 加密方式:對于ESP而言,有DES、3DES、AES-128、AES-192、AES-256或不使用加密算法。
- 驗證方式:MD5或SHA-1。
上述相關(guān)加密/驗證方式自己查閱其他資料吧,說起來太多了。關(guān)于連接模式就是文章開頭說的那兩種。
3)ISAKMP/IKE階段2的安全協(xié)議
IPSec的數(shù)據(jù)連接可以通過安全協(xié)議實現(xiàn)對數(shù)據(jù)連接的保護(hù):AH協(xié)議和ESP協(xié)議。可以通過其中一個協(xié)議來實現(xiàn)數(shù)據(jù)的加密和驗證,如使用ESP協(xié)議;也可以使用兩個協(xié)議一起來實現(xiàn)。AH使用IP協(xié)議號51,ESP使用IP協(xié)議號50。
AH協(xié)議提供以下安全功能:
- 數(shù)據(jù)完整性;
- 數(shù)據(jù)驗證;
- 保護(hù)數(shù)據(jù)回放功能。
AH協(xié)議保護(hù)整個數(shù)據(jù)報文,但易變的字段除外,如IP包頭中的TTL值等。
AH協(xié)議只是實現(xiàn)驗證功能,而并未提供任何形式的數(shù)據(jù)加密;而且正因為其對于整個IP數(shù)據(jù)報文實現(xiàn)驗證功能,所以它與NAT或PAT不能一起使用。
ESP在RFC 2402中有明確的定義,它與AH的區(qū)別如下:
因此,如果有第三者對IP包頭內(nèi)容進(jìn)行更改,ESP是無法檢測到的。而NAT也會修改外層的IP信息,所以ESP可以和NAT共用,所以,AH無論如何也不能和NAT共用,而ESP卻可以,再配置NAT-T技術(shù),ESP甚至還可以和PAT共用(ESP默認(rèn)情況下不能穿越PAT設(shè)備,因為PAT會修改傳輸層頭部的端口信息,而傳輸層的頭部在ESP的封裝中是被加密的,所以PAT無法修改端口信息。而NAT-T技術(shù)就是通過額外增加一個傳輸層頭部讓PAT可以工作)。
六、IPSec 虛擬專用網(wǎng)的配置實現(xiàn)
環(huán)境如下:
環(huán)境分析:
1、總公司內(nèi)網(wǎng)使用192.168.1.0/24網(wǎng)段地址,分公司使用192.168.2.0/24網(wǎng)段地址。R2路由器為公網(wǎng)上的路由器。R1及R3分別為總公司及分公司的網(wǎng)關(guān)服務(wù)器,所以一定會存在默認(rèn)路由指向公網(wǎng)的路由器。
2、總公司的內(nèi)網(wǎng)及分公司的內(nèi)網(wǎng)之間要建立虛擬專用網(wǎng),但如果不配置別的東西,是會影響內(nèi)網(wǎng)訪問Internet的,一般都是既可以建立虛擬專用網(wǎng),也可以訪問Internet,所以這個問題也要解決。
需求如下:
1、要求實現(xiàn)總公司192.168.1.0/24和分公司的192.168.2.0/24網(wǎng)段通過虛擬專用網(wǎng)實現(xiàn)互通,并且不要影響這兩個網(wǎng)段訪問公網(wǎng),也就是R2路由器(訪問公網(wǎng)路由器,通過端口復(fù)用的PAT技術(shù)實現(xiàn),不要在R2路由器上配置任何路由)。
開始配置:
1、自行配置相關(guān)的接口地址,并且開啟接口,這里不詳細(xì)寫出來了,配置接口IP地址格式如下:
路由器配置接口IP地址:
R1#conf t
R1(config)#in f0/0
R1(config-if)#ip add 200.0.0.1 255.255.255.0
R1(config-if)#no sh
GNS3模擬器中PC機(jī)配置IP地址
PC1> ip 192.168.1.1 192.168.1.254 #配置IP及網(wǎng)關(guān)
2、配置R1路由器:
R1(config)#ip route 0.0.0.0 0.0.0.0 200.0.0.2 #配置默認(rèn)路由
#'以下是配置ISAKMP策略(也就是管理連接的配置)'
R1(config)#crypto isakmp policy 1 #策略序列號為“1”,范圍是1~10000,數(shù)值越小,優(yōu)先級越高
R1(config-isakmp)#encryption aes #配置加密算法
R1(config-isakmp)#hash sha #hash命令指定驗證過程中采用的散列算法
R1(config-isakmp)#authentication pre-share #聲明設(shè)備認(rèn)證方式為“預(yù)先共享密鑰”
R1(config-isakmp)#group 2 #采用DH算法的強(qiáng)度為group2
R1(config-isakmp)#lifetime 10000 #可選,管理連接生存周期,默認(rèn)為86400s(24小時)
R1(config-isakmp)#exit
R1(config)#crypto isakmp key 6 2019.com address 201.0.0.2 #配置“預(yù)先共享密鑰”
#'下面是數(shù)據(jù)連接配置'
R1(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 #定義虛擬專用網(wǎng)保護(hù)的流量
R1(config)#crypto ipsec transform-set test-set ah-sha-hmac esp-aes #數(shù)據(jù)連接協(xié)商參數(shù),“test-set”是自定義的名稱
R1(cfg-crypto-trans)#mode tunnel #可選,配置為隧道模式,默認(rèn)就是隧道模式
R1(cfg-crypto-trans)#exit
R1(config)#crypto map test-map 1 ipsec-isakmp #將數(shù)據(jù)連接相關(guān)配置設(shè)定為MAP,“test-map”是自定義的名字
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
R1(config-crypto-map)#set peer 201.0.0.2 #虛擬專用網(wǎng)對端地址
R1(config-crypto-map)#set transform-set test-set #將數(shù)據(jù)連接關(guān)聯(lián)剛才創(chuàng)建的傳輸集
R1(config-crypto-map)#match address 101 #匹配的ACL
R1(config-crypto-map)#int f0/0 #進(jìn)入外部接口
R1(config-if)#crypto map test-map #應(yīng)用在外網(wǎng)接口
#'下面是要解決內(nèi)部主機(jī)訪問互聯(lián)網(wǎng)問題'
R1(config-if)#access-list 102 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 #拒絕虛擬專用網(wǎng)的流量
R1(config)#access-list 102 permit ip any any #放行其他任何流量
R1(config)#ip nat inside source list 102 int f0/0 overload #采用端口復(fù)用的PAT方式,解決內(nèi)網(wǎng)訪問互聯(lián)網(wǎng)的問題
#'下面是進(jìn)入相關(guān)接口啟用NAT功能'。
R1(config)#int f0/0
R1(config-if)#ip nat outside
R1(config-if)#in f1/0
R1(config-if)#ip nat inside
注:由于當(dāng)有NAT和虛擬專用網(wǎng)流量時,優(yōu)先匹配NAT,后匹配虛擬專用網(wǎng),所以要在上面做PAT時,拒絕虛擬專用網(wǎng)的流量。
3、配置R3路由器:
由于R3和R1路由器的配置大同小異(甚至很多配置必須一樣,比如共享密鑰、采用的算法,否則無法建立虛擬專用網(wǎng)),以下就不注釋了
R3(config)#ip route 0.0.0.0 0.0.0.0 201.0.0.1
R3(config)#crypto isakmp policy 1
R3(config-isakmp)#encryption aes
R3(config-isakmp)#hash sha
R3(config-isakmp)#authentication pre-share
R3(config-isakmp)#group 2
R3(config-isakmp)#lifetime 10000
R3(config-isakmp)#exit
R3(config)#crypto isakmp key 6 2019.com address 200.0.0.1
R3(config)#access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
R3(config)#crypto ipsec transform-set test-set ah-sha-hmac esp-aes
R3(cfg-crypto-trans)#mode tunnel
R3(cfg-crypto-trans)#exit
R3(config)#crypto map test-map 1 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
R3(config-crypto-map)#set peer 200.0.0.1
R3(config-crypto-map)#set transform-set test-set
R3(config-crypto-map)#match address 101
R3(config-crypto-map)#int f0/0
R3(config-if)#crypto map test-map
R3(config-if)#
*Mar 1 00:51:55.511: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
R3(config-if)#$ 102 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
R3(config)#access-list 102 permit ip any any
R3(config)#ip nat inside source list 102 int f0/0 overload
R3(config)#int f0/0
R3(config-if)#ip nat outside
R3(config-if)#in f1/0
R3(config-if)#ip nat inside
配置至此,就可以實現(xiàn)PC1及PC2互通了(虛擬專用網(wǎng)的作用),并且兩臺PC機(jī)都可以ping通R2路由器,要知道,雖然R1和R3路由器有默認(rèn)路由指向R2路由器,但是R2路由器是沒有到192.168.1.0和2.0網(wǎng)段的路由的,這就是PAT的作用。可以自己進(jìn)行ping測試。
4、附帶一些查看配置的命令:
R1#show crypto isakmp policy #查看ISAKMP協(xié)商策略的配置結(jié)果
R1#show crypto isakmp sa #查看管理連接SA的狀態(tài)
R1#show crypto ipsec transform-set #查看IPSec傳輸集
R1#show crypto ipsec security-association lifetime #查看數(shù)據(jù)連接建立的生存周期
R1#show crypto ipsec sa #查看數(shù)據(jù)連接SA的細(xì)節(jié)信息
R1#show crypto map #查看crypto Map的信息,這個命令可以查看到crypto map的名稱、
//ACL、對等體的IP地址、應(yīng)用Crypto map的接口等。
由于涉及的技術(shù)、算法等一系列技術(shù)太多,所以進(jìn)行故障排錯可能沒那么簡單,可以使用“show run”命令,查看所有配置,對照兩臺路由器上有哪些配置是不匹配的,然后進(jìn)行重新配置。
一定要注意當(dāng)NAT和虛擬專用網(wǎng)流量同時存在時,會優(yōu)先匹配NAT,后匹配虛擬專用網(wǎng),所以要在做PAT映射時,通過擴(kuò)展ACL拒絕去往分公司內(nèi)網(wǎng)的虛擬專用網(wǎng)的流量,否則會直接進(jìn)行PAT,然后轉(zhuǎn)發(fā),最后會導(dǎo)致因為R1路由器沒有去往192.168.2.0/24的路由而丟棄數(shù)據(jù)包。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。