李洪
隨著世界交流的日益增多,企業(yè)不斷發(fā)展,分支機(jī)構(gòu)也分布到世界各地。為了加強(qiáng)管理和企業(yè)內(nèi)部聯(lián)系,越來(lái)越多的企業(yè)認(rèn)識(shí)到建立內(nèi)部網(wǎng)的重要性,并且開(kāi)始組建企業(yè)內(nèi)部網(wǎng),有些甚至是跨國(guó)跨州的企業(yè)內(nèi)部網(wǎng)。
目前這些企業(yè)內(nèi)部網(wǎng)大多是靠租借電信部門(mén)的模擬或數(shù)字專線來(lái)組建的,因而費(fèi)用高昂,沒(méi)有一定的經(jīng)濟(jì)實(shí)力是難以承擔(dān)的,這是許多企業(yè)所面臨的一個(gè)問(wèn)題。
隨著Internet的迅速發(fā)展,TCP/IP組網(wǎng)技術(shù)在世界各地流行起來(lái),許多企業(yè)轉(zhuǎn)而使用TCP/IP技術(shù)來(lái)組建企業(yè)網(wǎng)。由于Internet網(wǎng)絡(luò)已經(jīng)非常龐大,幾乎延伸到世界各個(gè)角落,為企業(yè)組建內(nèi)部網(wǎng)帶來(lái)了極大的方便。起初,人們只是簡(jiǎn)單地通過(guò)設(shè)立一個(gè)防火墻(Firewall)與Internet相連的方式來(lái)組建企業(yè)內(nèi)部網(wǎng)。這種做法在組網(wǎng)方式、域名、IP地址分配上仍感到不便。為此,采用虛擬專用網(wǎng)(VPN)來(lái)組建企業(yè)網(wǎng)的技術(shù)被提出。VPN技術(shù)主要有基于路由器的虛擬專用網(wǎng)組網(wǎng)技術(shù)和基于Microsoft NT的端到端VPN解決方案兩種。由于目前VPN的國(guó)際標(biāo)準(zhǔn)還未成熟,無(wú)論ATM論壇還是IETF組織對(duì)VPN都只有參考草案,因此各廠家的VPN組網(wǎng)方案,相互之間不能互通。在基于路由器的VPN方案中,以Cisco提出的IP Tunnelinng(IP隧道)和IP Layer(Layer 2 Forwarding第二層投遞)技術(shù)最為完整;基于端到端技術(shù)的VPN方案中,以Microsoft和Ascend公司在PPP(Point toPoint Protocol,點(diǎn)到點(diǎn)協(xié)議)基礎(chǔ)上開(kāi)發(fā)的Tunnel(隧道)協(xié)議——PPTP(Point to Point TunnelingProtocol,點(diǎn)到點(diǎn)隧道協(xié)議)較為典型。本文以這3家公司的產(chǎn)品為例。
1 Cisco的VPN解決方案
Cisco提出了一套完整的VPN解決方案,即IPTunneling和VPDN。通過(guò)這套方案,用戶或企業(yè)可通過(guò)電話網(wǎng)、N-ISDN或?qū)S镁路方式接入Internet來(lái)組建自己的VPN企業(yè)網(wǎng)。其中IP Tunneling是提供給具有專線接入方式的用戶或企業(yè)組建VPN的解決方案;VPDN(Virtual Private Dialup Network,虛擬專用撥號(hào)網(wǎng)絡(luò))是提供給撥號(hào)(電話或ISDN)接入的用戶或企業(yè)組建VPN的解決方案。
1.1 IP Tunneling的VPN解決方案
當(dāng)公司分支機(jī)構(gòu)和公司總部均通過(guò)各自的路由器直接連接到Internet網(wǎng)上時(shí),可以采用IP Tunneling技術(shù)來(lái)組建基于Internet的企業(yè)內(nèi)部網(wǎng)絡(luò)。
IP Tunneling技術(shù)是把企業(yè)內(nèi)部網(wǎng)的任意信息包封裝在Cisco GRE(Generic Route Encapsulation)封包格式內(nèi),通過(guò)IP協(xié)議透明地穿過(guò)Internet,子網(wǎng)與子網(wǎng)(即端點(diǎn)路由器到端點(diǎn)路由器)互連。IP Tunneling技術(shù)所支持的被封裝的協(xié)議為多協(xié)議形式,即其包封可以支持AppleTalk、Banyan VINES、CLNP、DECnet、IP或IPX等等。單就一個(gè)通道而言,它是一個(gè)點(diǎn)對(duì)點(diǎn)的連接,但Cisco把一個(gè)通道的端點(diǎn)視為路由器上的虛接口,因而在連接公司總部的路由器上可以有多個(gè)通道到下面的多個(gè)公司分支機(jī)構(gòu)。
IP Tunneling的實(shí)現(xiàn)過(guò)程如圖1所示。來(lái)自各個(gè)分支機(jī)構(gòu)的數(shù)據(jù)包在各個(gè)分支機(jī)構(gòu)接入路由器上被封裝在GRE格式中,被IP數(shù)據(jù)包運(yùn)載穿過(guò)Internet網(wǎng)絡(luò),到達(dá)連接公司總部的路由器,該路由器負(fù)責(zé)解除GRE的封裝,并把解包后的IP數(shù)據(jù)包送到公司內(nèi)部網(wǎng)絡(luò)進(jìn)行處理。反之亦然。通過(guò)封裝協(xié)議,公司內(nèi)部網(wǎng)絡(luò)完全與公網(wǎng)Internet分隔開(kāi)來(lái),盡管物理上是連在一起的。
這種組網(wǎng)方式的特點(diǎn)是非常靈活,且易于擴(kuò)充。在建網(wǎng)初期,可以只設(shè)一個(gè)企業(yè)網(wǎng)的中心路由器,所有分支機(jī)構(gòu)直接用IP Tunneling的方式接入中心路由器,并由中心路由器負(fù)責(zé)與公網(wǎng)Internet的互連(即充當(dāng)網(wǎng)關(guān)Gateway);當(dāng)網(wǎng)絡(luò)規(guī)模擴(kuò)大以后,可以建立多個(gè)企業(yè)網(wǎng)中心,這些網(wǎng)絡(luò)的實(shí)現(xiàn)都是靠邏輯虛連接完成的,所以其建設(shè)時(shí)間較短,成本較低,因而建立龐大的跨國(guó)企業(yè)內(nèi)部網(wǎng)將不是什么困難的事情了。
1.2 VPDN解決方案
對(duì)于一些通過(guò)撥號(hào)方式連接到Internet的公司分支機(jī)構(gòu),可以采用VPDN技術(shù)接入企業(yè)內(nèi)部網(wǎng)絡(luò)。
實(shí)現(xiàn)VPDN對(duì)用戶來(lái)說(shuō)是透明的,用戶端不需增加投資,只需在Internet撥號(hào)訪問(wèn)服務(wù)器(NAS)和連接公司總部的路由器上作配置即可,見(jiàn)圖2。
采用VPDN技術(shù)進(jìn)行VPN組網(wǎng)時(shí),其用戶應(yīng)該使用一種有結(jié)構(gòu)層次的用戶名形式,如XXM@MISSERVER的形式,以便Internet的訪問(wèn)服務(wù)器能根據(jù)用戶名的域名來(lái)進(jìn)行處理。
當(dāng)撥號(hào)用戶發(fā)出一個(gè)呼叫到Internet的訪問(wèn)服務(wù)器(NAS)時(shí),它發(fā)出PPP的連接請(qǐng)求。NAS接收此呼叫后,就在撥號(hào)用戶和NAS之間建立了一條PPP的鏈路。接下來(lái)NAS可以使用CHAP(Challenge Handshakes Authentication Password)或PAP(PasswordAuthenticaton Protocol)的協(xié)商協(xié)議對(duì)終端系統(tǒng)/用戶進(jìn)行身份驗(yàn)證,只有NAS發(fā)現(xiàn)用戶名中有一個(gè)域名指明該用戶屬于某一個(gè)VPDN的服務(wù)時(shí),它才會(huì)啟動(dòng)VPDN功能,否則NAS將視為一個(gè)普通的Internet用戶。因此,NAS對(duì)撥號(hào)的用戶名檢驗(yàn)是部分的而非全部。
當(dāng)上述步驟執(zhí)行后,Internet上具有VPDN功能的撥號(hào)服務(wù)器(NAS)會(huì)檢查有沒(méi)有到公司總部路由器的L2F連接。L2F是第二層轉(zhuǎn)發(fā)協(xié)議,它在第二層上建立一個(gè)隧道,把上層的信息透過(guò)Internet進(jìn)行傳輸。當(dāng)撥號(hào)用戶第一次撥入時(shí),NAS會(huì)啟動(dòng)一個(gè)到VPN中心路由器的L2F Tunnel協(xié)商。
如果VPN中心路由器接收這個(gè)呼叫連接,它會(huì)返回一個(gè)CHAP AUTHEN_OK的信號(hào),經(jīng)NAS轉(zhuǎn)發(fā)給撥號(hào)用戶一方,建立一個(gè)端到端的連接,并為PPP創(chuàng)建一個(gè)虛擬接口,用于直接撥入的連接。借助這一個(gè)虛擬接口,鏈路層的幀就可通過(guò)隧道透明傳輸。以后就是撥號(hào)用戶和VPN中心路由器之間的雙向PPP信息交換過(guò)程,即從撥號(hào)用戶發(fā)出的幀被NAS接收到以后,被封裝在L2F中,通過(guò)IP隧道被轉(zhuǎn)發(fā)到VPN中心路由器。
采用VPDN后,Internet的訪問(wèn)服務(wù)器和網(wǎng)絡(luò)對(duì)用戶而言是透明的,撥號(hào)用戶的地址分配和身份驗(yàn)證均是由VPN中心路由器側(cè)來(lái)進(jìn)行的,并且NAS和VPN中心路由器雙方均可以對(duì)撥號(hào)用戶進(jìn)行計(jì)費(fèi)和驗(yàn)證。
當(dāng)撥號(hào)用戶與VPN中心路由器建立連接之后,VPDN就為用戶在本端與VPN中心路由器之間建立一條IP隧道,在該隧道上運(yùn)載的是L2F包;而對(duì)非VPN內(nèi)的用戶,由于在撥號(hào)進(jìn)入NAS時(shí)不能啟動(dòng)VPDN功能,也就不能進(jìn)入VPN中心路由器,所以也不能進(jìn)入所定義的企業(yè)VPN網(wǎng)絡(luò)了。
2 Microsoft和Ascend提出的端到端VPN解決方案
盡管Cisco提出的VPN解決方案很吸引人, 但由于它是Cisco公司專有的,當(dāng)網(wǎng)絡(luò)中有非Cisco公司的路由器時(shí),顯然不能互通。為了解決這個(gè)問(wèn)題,Microsoft和Ascend公司在PPP協(xié)議基礎(chǔ)上開(kāi)發(fā)了PPTP協(xié)議(Point to Point Tunneling Protocol)。
PPTP協(xié)議是在PPP基礎(chǔ)上開(kāi)發(fā)的、基于GRE封裝的協(xié)議,增加了流控制機(jī)制。
PPTP協(xié)議是一個(gè)真正的端到端技術(shù),它可建立用戶到服務(wù)器的直接端到端隧道連接,對(duì)于接入路由器NAS和Internet網(wǎng)絡(luò)來(lái)說(shuō),這些都是透明的。建立一個(gè)PPTP的連接過(guò)程如下:
不管用戶是通過(guò)專線或撥號(hào)網(wǎng)接入Internet網(wǎng)絡(luò),用戶端都可以與VPN中心服務(wù)器建立IP連接;然后通過(guò)用戶端的一個(gè)PPTP虛擬接口“撥號(hào)”到VPN中心服務(wù)器建立PPTP連接。PPTP的內(nèi)層協(xié)議可以支持IP/IPX/CLNP等多種協(xié)議。換言之,通過(guò)PPTP協(xié)議的隔離作用,用戶端和VPN中心服務(wù)器端可以建立端到端的VPN網(wǎng)絡(luò)。如圖3所示。
2.1 VPN與公用Internet網(wǎng)的互通
VPN網(wǎng)絡(luò)是一個(gè)專用于企業(yè)內(nèi)部信息交流的網(wǎng)絡(luò),一般情況下外部用戶沒(méi)有權(quán)利訪問(wèn)企業(yè)的重要信息,但為了擴(kuò)大企業(yè)的影響,必要時(shí)企業(yè)要開(kāi)放VPN上的部分非機(jī)密信息,如企業(yè)簡(jiǎn)介等,這樣就使得VPN與Internet的互通顯得很有必要了。
企業(yè)VPN與Internet的互通有兩種方法:一種是采用NAT(Network Address Translate,地址轉(zhuǎn)換);另一種是在相關(guān)服務(wù)器上使用兩套IP地址。
2.2 NAT地址轉(zhuǎn)換方法
一般來(lái)說(shuō),企業(yè)VPN內(nèi)部采用自己的內(nèi)部IP地址,如172.16.x.x,與公網(wǎng)IP地址區(qū)分開(kāi)來(lái)。因此,當(dāng)擁有公用IP地址的Internet用戶或主機(jī)想訪問(wèn)這些VPN內(nèi)部服務(wù)器時(shí),一般需要NAT地址轉(zhuǎn)換,這個(gè)功能由VPN中心的接入路由器來(lái)實(shí)現(xiàn),如圖4所示。同樣地,通過(guò)NAT地址轉(zhuǎn)換,企業(yè)內(nèi)部的用戶也可以訪問(wèn)公用Internet網(wǎng),獲得Internet上的各種服務(wù),比如:WWW、E-mail、FTP等。所以說(shuō),通過(guò)NAT功能,VPN內(nèi)部網(wǎng)絡(luò)可以與lnternet網(wǎng)絡(luò)實(shí)現(xiàn)互通。
另外,NAT地址轉(zhuǎn)換功能也支持過(guò)濾器功能,可以在NAT上設(shè)置一些過(guò)濾選項(xiàng)來(lái)達(dá)到防火墻的目的。
2.3 使用兩套IP地址的方法
為了節(jié)省NAT地址轉(zhuǎn)換造成的額外開(kāi)銷,我們可以在需要與Internet互通的VPN內(nèi)部服務(wù)器上設(shè)置兩個(gè)IP地址,一個(gè)是VPN內(nèi)部的私有地址,另一個(gè)是公網(wǎng)合法的IP地址,如圖5所示。同時(shí),在VPN中心的接入路由器上作一些訪問(wèn)控制,使得當(dāng)Internet的用戶或主機(jī)訪問(wèn)VPN內(nèi)部服務(wù)器時(shí),可以直接與VPN內(nèi)部服務(wù)器建立連接,而不必經(jīng)過(guò)繁瑣的地址轉(zhuǎn)換過(guò)程。對(duì)于VPN內(nèi)部用戶,由于他們只擁有內(nèi)部地址,當(dāng)他們?cè)L問(wèn)Internet時(shí),仍然需通過(guò)NAT地址轉(zhuǎn)換過(guò)程。通過(guò)NAT過(guò)程,也可對(duì)他們?cè)L問(wèn)公網(wǎng)實(shí)施限制。
摘自 北極星電技術(shù)網(wǎng)