2007年5月8日 星期二

OpenVPN 簡介

簡介

何謂 VPN(Virtual Private Network) ? 可參考此篇文章 的說明.....

然而,市面上有許多 VPN solution,每個 solution 各有其優缺點,若是要考量到建置成本與彈性,可考慮使用這邊將會介紹的 OpenVPN

那 OpenVPN 有什麼特色呢? 以下是官方網站的簡單說明:
OpenVPN is a full-featured SSL VPN solution which can accomodate a wide range of configurations, including remote access, site-to-site VPNs, WiFi security, and enterprise-scale remote access solutions with load balancing, failover, and fine-grained access-controls.

OpenVPN implements OSI layer 2 or 3 secure network extension using the industry standard SSL/TLS protocol, supports flexible client authentication methods based on certificates, smart cards, and/or 2-factor authentication, and allows user or group-specific access control policies using firewall rules applied to the VPN virtual interface. OpenVPN is not a web application proxy and does not operate through a web browser.
上述說明中,最重要的部分在於 OpenVPN 中的安全機制,是建立在 OSI Layer 2 以及 Layer 3,並非在 Application Layer,不透過 Web Browser 進行操作,由於安全性架構在 OSI 的底層,因此在安全性上自然也是大大的提升。

此外,許多 VPN solution 都是走 IPSec 架構,因此就無法與 OpenVPN 相容了,因為在說明第一行中就提到,OpenVPN 是以 SSL 為安全架構,因此必須考量到實際的情形,已決定是否使用 OpenVPN。


OpenVPN 的優點

然而,OpenVPN 有何優點呢? 以下列舉 OpenVPN 的幾項優點供參考:
  1. 可實作在 OSI Layer 3 甚至於 Layer 2,因此可以傳送 Ethernet、IPX、NETBIOS....等協定的封包,相容性極高
  2. 提供連接 VPN 的使用者統一的通道進行網路傳輸,大大加強了安全性
  3. 透過 VPN 所建立的通道,幾乎可以與目前所有安全機制溝通無礙(例如:https)
  4. 支援代理(proxy)機制
  5. 僅需開啟防火牆的單一 port 即可處理來自多方的連線(multi tunnel),減少被惡意入侵的機會
  6. 管理者可根據需求自行撰寫 script,讓 OpenVPN 可以處理更多複雜的工作
  7. 針對動態 IP 使用者,提供了通透且高效能的服務;即使在使用 VPN 通道的同時更換了 IP,建立好的 VPN 通道也不會就此斷掉
  8. 在 NAT 的環境下運作是毫無問題的
  9. 在任何 OS 平台下皆可安裝
  10. 模組化的設計,因此管理者可以根據需求自行增加或減少 OpenVPN 的功能


資料傳輸方式

OpenVPN 會模擬出虛擬的網路裝置來進行資料的傳輸,而其所使用的虛擬裝置為TUN/TAP driver,而 TUN 以及 TAP 有何不同呢? 以下分別進行說明:

1、tun
可被視為虛擬的點對點裝置,就像一般家用的 modem、ADSL 一樣,使用此虛擬裝置的模式稱為 routed mode,因為是在連線後才決定 vpn 雙方的連線路徑,因此可瞭解 tun 裝置所處理的是 OSI Layer 3 的工作

2、tap
可被視為虛擬的 ethernet 網路卡,可以透過此裝置啟動一個 daemon 來接收 ethernet 訊框,稱為 bridge mode,因為此裝置是以 bridge 的方式來運作,這個是 tun 裝置做不到的! 因為 tap 裝置所處理的是 OSI Layer 2 的工作

最後,由於此兩個裝置處理的是 OSI Layer 2 與 3 的部分,因此自然可以容易的更上層的安全機制進行結合,例如:SSL/TLS(Layer 4)。

雖然這兩個裝置是虛擬的,但卻可以跟一般實體的網路卡一樣的運作,也因為有此特性,以下的情況都可以正常運作:
  • 在搜尋 Windows 內部網路或是區網遊戲時,需要發送廣播封包
  • 非 IP 協定的封包(例如:IPX),也可以透過 vpn tunnel 正常傳輸
  • 可以透過防火牆管理虛擬裝置的流量
  • 可以針對 vpn tunnel 的傳輸進行流量管控


OpenVPN 的缺點

OpenVPN 優點一堆,包括設定方便、功能強大、安全性佳....等等,但也是有缺點的! 最重要的缺點是與目前流行的 IPSec vpn 是不相容的,加上由於許多網路設備內建的都是支援 IPSec 的功能,因此跟OpenVPN 並不相容。

不過這並不要緊,技術是會進步的,相信廠商很快就會把相容於 OpenVPN 的功能也加入其設備中。


安裝 OpenVPN

現在要安裝 OpenVPN 可說是方便多了,Windows 下可以直接到官方網站下載,Linux 下可以直接透過 apt 或是 yum 進行網路安裝。

沒有留言:

張貼留言