其實(shí)解決防火墻和NAT問題的一個(gè)最簡單的辦法就是避免使用它們,對大多數(shù)機(jī)構(gòu)來說,這種方法太冒險(xiǎn),網(wǎng)絡(luò)安全沒有保證,而且要得到足夠多的可路由的IP地址或許是困難的,昂貴的。因此大多數(shù)希望利用IP進(jìn)行多媒體通訊的機(jī)構(gòu)將不可避免的面對防火墻或NAT的挑戰(zhàn)。事實(shí)上,大多數(shù)機(jī)構(gòu)都同時(shí)使用了防火墻和NAT,因此單單解決其中一個(gè)問題還不夠。現(xiàn)有的一些解決辦法如下:
1、使用PSTN網(wǎng)關(guān)
如果不太關(guān)心在局域網(wǎng)外是否基于IP通信,那么可以使用網(wǎng)關(guān)把局域網(wǎng)上的IP語音和視頻轉(zhuǎn)換為公共電路交換網(wǎng)上的PSTN語音和視頻。使用這樣一個(gè)網(wǎng)關(guān)就不用關(guān)心網(wǎng)絡(luò)防火墻的穿透問題了,因?yàn)闆]有數(shù)據(jù)包要通過防火墻。這也解決了NAT問題,所有到局域網(wǎng)內(nèi)終端的呼叫都是可路由的,因?yàn)橥ㄟ^網(wǎng)關(guān)進(jìn)入局域網(wǎng)的呼叫都是可路由的。今天大多數(shù)IP電話都是通過一個(gè)網(wǎng)關(guān)和非IP電話來進(jìn)行通訊的。網(wǎng)關(guān)方法是一個(gè)局部解決方案,要求所有參與呼叫者在最后一道NAT和防火墻后要有一個(gè)相應(yīng)的網(wǎng)關(guān)。
2、DMZ MCU
一些機(jī)構(gòu)通過把MCU放在所謂的DMZ區(qū)域來解決防火墻和NAT穿越問題。DMZ區(qū)域通常位于外部Internet和內(nèi)部網(wǎng)絡(luò)防火墻之間,想要對外提供他們自己的Internet服務(wù)(例如web服務(wù),ftp服務(wù),email服務(wù)和域名服務(wù))的機(jī)構(gòu)一般把這些服務(wù)放在DMZ區(qū)域,這樣可以很好地保護(hù)他們的私有網(wǎng)絡(luò)。 放在DMZ區(qū)域的MCU被裝上兩塊網(wǎng)卡,這樣一塊網(wǎng)卡提供訪問私有網(wǎng)絡(luò)的入口,另一塊網(wǎng)卡提供訪問公網(wǎng)Internet的入口。這個(gè)解決方案的一個(gè)最大缺點(diǎn)是即使是進(jìn)行點(diǎn)對點(diǎn)的呼叫也得需要使用MCU,另外如果在呼叫路徑上有多個(gè)NAT設(shè)備,那么在每個(gè)NAT設(shè)備的位置都需要放置一個(gè)MCU。
3、H.323代理
H.323代理能被用來解決NAT問題或者同時(shí)解決NAT和防火墻問題,這取決于代理如何被配置。代理其實(shí)是一種特殊類型的網(wǎng)關(guān),但并不是把IP協(xié)議轉(zhuǎn)換為別的,在代理兩邊使用的是相同的協(xié)議。代理使終端到終端的呼叫過程看起來像兩個(gè)分離的呼叫:一個(gè)是從私有網(wǎng)上的終端到代理,另一個(gè)是從代理到公眾網(wǎng)上的終端,代理通過對這個(gè)呼叫進(jìn)行中轉(zhuǎn)解決了NAT問題。
H.323代理一般結(jié)合標(biāo)準(zhǔn)的網(wǎng)守的功能和RTP/RTCP多媒體流的代理功能。這種解決方案典型應(yīng)用是在防火墻后放一個(gè)H.323代理,代理需要被分配公有IP地址。防火墻被配置允許代理和外部進(jìn)行多媒體通訊。有時(shí)候沿著網(wǎng)絡(luò)路徑在許多位置都應(yīng)用了NAT設(shè)備,這時(shí)就需要在每一個(gè)使用NAT的地方放置代理。
4、應(yīng)用層網(wǎng)關(guān)
應(yīng)用層網(wǎng)關(guān)(Application layer gateways)是被設(shè)計(jì)能識別指定IP協(xié)議(象H.323和SIP協(xié)議)的防火墻,也被叫做ALG Firewall。它不是簡單地察看包頭信息來決定數(shù)據(jù)包是否可以通過,而是更深層的分析數(shù)據(jù)包負(fù)載內(nèi)的數(shù)據(jù),也就是應(yīng)用層的數(shù)據(jù)。H.323和SIP協(xié)議都在負(fù)載中放了重要的控制信息,例如語音和視頻終端使用哪一個(gè)數(shù)據(jù)端口來接收別的終端的語音和視頻數(shù)據(jù)。通過分析哪一個(gè)端口需要打開,防火墻動態(tài)地打開那些被應(yīng)用的端口,而所有別的端口依然安全地保持關(guān)閉狀態(tài)。
如果一個(gè)NAT被應(yīng)用來屏蔽內(nèi)部IP地址,這時(shí)ALG就需要一個(gè)代理,一些防火墻生產(chǎn)廠商把代理結(jié)合到ALG上越過NAT。 主要的防火墻廠商象Cisco, Checkpoint, Gauntlet都對他們的防火墻產(chǎn)品提供H.323 ALG升級功能,但市場上大多數(shù)防火墻還不支持ALG。這種解決方案還有一些缺點(diǎn):由于要分析數(shù)據(jù)包負(fù)載,這樣就加重了防火墻的處理任務(wù),影響網(wǎng)絡(luò)的運(yùn)行,成為潛在的網(wǎng)絡(luò)瓶頸;并且如果這兒有多層防火墻和NAT,則在呼叫路徑上的每個(gè)防火墻都必須被升級來支持ALG功能;對大多數(shù)公司的網(wǎng)絡(luò)來說防火墻是關(guān)鍵部件,在一些公司增加一個(gè)ALG或許是困難的。
5、虛擬專用網(wǎng)(VPN)
VPN技術(shù)是當(dāng)前在IP網(wǎng)絡(luò)上提供安全通訊的的方法之一,在同一個(gè)VPN網(wǎng)內(nèi)可以解決防火墻穿越問題;不久的未來,確保網(wǎng)絡(luò)安全和QoS的VPRN技術(shù)將是IP網(wǎng)上進(jìn)行多媒體通訊的最有潛力的解決方案。
在VPN技術(shù)中,在UDP和TCP層下的IPSec層被用來提供安全的IP通訊,但由于基于VPN技術(shù)的IPSec層使用它自己的連接標(biāo)識符而不是UDP或TCP端口,而且IPSec上面的層要被加密,這套自己的機(jī)制對NAT尤其是NAPT是不可通過的。為了解決NAT穿越問題,最好選擇由一個(gè)生產(chǎn)商提供的整合防火墻,NAPT和VPN功能的解決方案。