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