SoftEther VPN

SoftEther VPN是一個由筑波大學研究生Daiyuu Nobori(登太游)因碩士論文而開發的開源、跨平台、多重協定的虛擬專用網方案,此方案讓一些虛擬專用網協定像是SSL VPN 、L2TP、IPsec、OpenVPN以及微軟SSTP都由同一個單一VPN伺服器提供。在2014年1月4日以GNU通用公共授權條款的方式轉變為開源軟體。

簡介

SothEther VPN是專門被設計為穿過防火牆的,支持NAT穿透,創建VPN通道。2013年3月,官方開始提供VPN Gate公共VPN中繼伺服器列表外掛程式,以簡化高強度網路審查地區有突破網路封鎖(翻牆)需求的用戶的操作難度。因為用了HTTPS來偽裝連線,防火牆的深度數據包檢測無法偵測到SofthEther的VPN傳送數據包構成的VPN通道。

性能最佳化也是SoftEther VPN的一個目標。它使用像是利用全部乙太網幀的策略,減少了存儲器複製的操作、平行傳輸和群集,這減少了通常VPN連線會有的延遲並增加了運輸吞吐量。

互用性

VPN伺服器和VPN橋接器支持微軟、Linux、Mac OS X(除了10.9.x)、FreeBSD還有Solaris這些作業系統。SoftEther VPN支持自己的VPN協定但可以和OpenVPN、微軟Secure Socket Tunneling Protocol(SSTP)、SSL VPN、EtherIP、L2TPv3、IPsec兼容。藉由L2TP/IPsec/OpenVPN,可以支持移動設備系統如iOS、安卓、微軟Windows手機。SothEther自身的VPN客戶端支持微軟、Linux、Mac。支持其他VPN協定的VPN客戶端和終端也可能會被使用;這包括了來自諸如思科、Juniper、Linksys(有DD-WRT)、Asus等等公司生產的各式各樣的路由器。

VPN伺服器

SoftEther VPN伺服器和其他VPN伺服器一樣,功能是接聽來自客戶端或橋接器使用各式協定的連線。

一個VPN伺服器可以有好幾個虛擬的集線器和交換器。虛擬集線器和實體的交換器一樣,有完整的第二層網路分組交換功能。此外,虛擬集線器能被配置來定義IP數據包過濾項目,過濾經過集線器的數據包。虛擬的Network layer層交換器則像實體的路由器一樣,有第三層IP靜態路由功能。

一個VPN伺服器可以有自帶的橋接器。這個橋接器是一個在實體網路轉接器和虛擬集線器之間的分組交換結構。系統管理員定義連線虛擬集線器和現有的內部網之間的橋接器,去創建一個遠程訪問的或站對站的VPN伺服器。

VPN客戶端

SoftEther VPN客戶端是個虛擬化的網路適配器。一個有安裝客戶端程式的計算機能創建與伺服器的連線。因為VPN伺服器支持多種VPN協定的關係,VPN用戶並不需要在計算機上安裝SofthEther VPN客戶端,而是用內置在作業系統內的VPN客戶端程式創建連線。然而,SoftEther VPN客戶端比系統內置程式還多了些高級功能。想要充分利用SothEther VPN伺服器的全部性能的話,建議還是安裝客戶端程式。

VPN橋接器

SoftEther VPN橋接器是個創建站對站VPN的程式。要創建這樣的VPN,系統管理員必須安裝SoftEther VPN伺服器程式在中央計算機,然後要一個以上的遠程計算機安裝VPN橋接器。VPN橋接器會以級聯連線連線中央VPN伺服器。級連連線類似在兩個實體網路交換機之間,一個虛擬化的上行連線。

VPN伺服器微軟版管理程式

這是個SoftEther VPN伺服器和橋接器會用到的圖型化接口管理工具。系統管理員可用來連線遠程的伺服器或橋接器並管理。連線使用了SSL,管理指令則用RPC在SSL上傳輸。

VPN命令行管理實用工具

vpncmd是個自定義接口管理工具,用在伺服器、客戶端和橋接器上。它可以在所有支持的作業系統上運行。當有用戶無法用Wine運行微軟或Linux時,它可以轉換到vpncmd來管理VPN。vpncmd也很適合用來運行批量操作,例如在虛擬集線器上創建好幾個用戶,或在伺服器上創建好幾個虛擬集線器。

架構

SoftEther VPN某些部分的架構有別一般傳統使用IPsec的VPN系統。

虛擬集線器

虛擬集線器就是以軟體方式模擬網路交換機。它會更新和維持自身擁有的轉發數據對照表。雖然傳統的網路交換機將這功能做在硬體上,SoftEther VPN以軟體實現了同樣功能。一個VPN伺服器可以有好幾個虛擬集線器,各自獨立。VPN客戶端和橋接端的連線就是以集線器用分組交換來處理。

當一個伺服器上有數個虛擬的集線器時,為了安全,這些集線器都會獨立分開。各個不同的管理員可以對相應的虛擬集線器授予許可權。每個虛擬極限的管理員可以限定用戶對象和ACLs,而這僅限於被授權的集線器上。

虛擬網路轉接器

一個VPN客戶端可以在自己的計算機上創立數個網路轉接器。VPN用戶能在虛擬網路轉接器和遠程目標的虛擬集線器間創建可用連線。當創建了可用連線,用戶就能藉此和遠程的VPN網路溝通。它可以讓任何程式或作業系統不用特定設定就能使用,就和硬體版的使用方式一樣。

虛擬交換機

它以軟體方式模擬了IP路由器。一個伺服器上可以同時間創立好幾個虛擬交換機。虛擬交換機有虛擬的IP接口連線虛擬集線器。它也有幾個固定的對照表上的分配項目。

虛擬交換機也適合用來做大型的站對站VPN網路。雖然有個簡單的方式可以達成,就是用橋接創建VPN,但如果有很多台計算機,輸入站點間的連線的廣播數據包數量就會大增。為了預防這樣規模擴張的問題,VPN管理者用虛擬交換機來隔絕IP網路。

虛擬集線器之間的級聯連線

管理員可以在地區或遠程的虛擬集線器間定義一個級聯連線。當級聯連線被設立,原先獨立的兩個網段就被集成成一個了。所以這個級聯連線功能被用來創建站對站的橋接。

虛擬集線器和網路間的地區橋接器

因為虛擬集線器和虛擬網路轉接器都只是軟體模擬的設備,藉此傳送的數據包是無法和硬體設備溝通的。因此,需要一個模擬和實體設備之間的橋接,才能創建遠程訪問VPN或站對站VPN。要做出橋接,地區橋接器功能轉會轉換虛擬集線器和實體網路轉接器間的數據包,結合兩個獨立網段成為一個單一的網段。

在VPN伺服器上定義過地區橋接器後,各VPN客戶端就可以藉由地區橋接器,連到VPN伺服器並和其他網路上的設備溝通。這就是遠程訪問VPN。

如果網路管理者設立了遠程站點VPN橋接器,並在VPN伺服器和VPN橋接器上分別定義了兩個地區橋接,然後定義伺服器和橋接器間的級聯連線,遠程的兩個網段在第二層級上就會直接連在一起。這就是站對站VPN。

防火牆,代理伺服器和NAT通透

SoftEther VPN一個很重要的特色就對防火牆的穿透性、代理伺服器和NATs。為此,SoftEther VPN支持SSL-VPN和NAT通透。它使用HTTPS協定來創建VPN通道。HTTPS用TCP/IP port 443 當作目的地。

多個SSL-VPN通道的平行傳輸機制

當用戶選擇SSL-VPN協定時,SlftEther VPN伺服器和客戶端會用一套平行傳輸機制來改善SSL-VPN通道的吞吐量。用戶可以從1到32設定一個數字為同時並發傳輸通道的數量。當處在一個網速非常慢的地方時,這項性能調整會導致更快的吞吐量。一旦這功能被激活,邏輯VPN連線將包含多個TCP(HTTPS)連線。所有的數據包將會在適當的TCP連線中,被加進最最佳化模組的運算。如果邏輯VPN連線的TCP連線偵測到數據包的丟失,新的數據包就使用其他正常的VPN連線。這項快速切換最最佳化的功能造就高吞吐量。

NAT通透

傳統的VPN系統需要用戶去請求公司的防火牆管理者,在防火牆或公司與網路間的NAT開放一個終端點(TCP或UD連線埠)。為了減少需要開放終端點的情形,SlftEther VPN伺服器有NAT通透功能。NAT通透會默認是啟動狀態。只要它啟動,VPN客戶端的計算機就能連線到被防火牆或NAT阻隔的VPN伺服器,不需要在防火牆或NAT上特別設定。

通過ICMP和DNS上的VPN

有少數限制很多的網路只允許通過ICMP或DNS的數據包。在這種情形,TCP或UDP會被濾掉。為了讓SoftEther VPN也能在這種網路創建連線,SoftEther VPN有特別為此設計的VPN功能。

這功能對穿過這樣嚴格的防火牆非常有用。所有的VPN數據包都再度包成ICMP或DNS數據包來傳輸。接收端會從外層提出內層的數據包。因為有些公共Wi-Fi只能通過ICMP或DNS數據包,這讓在公共Wi-Fi也能使用VPN。如果你為了出門,安裝一個伺服器在家中或辦公室,你可以在限制網路中享受這自由協定的網路通信。

相關詞條

熱門詞條

聯絡我們