SoftEther VPN 是一個由日本程式設計師登大遊因就讀筑波大學時的碩士論文研究主題而開發的開源、跨平臺、多重協定之虛擬私人網路方案，此方案讓一些虛擬私人網路協定像是 SSL VPN、L2TP、IPsec、OpenVPN 以及微軟 SSTP 都由同一個 VPN 伺服器提供。在 2014 年 1 月 4 日以 GNU 通用公共授權條款的方式轉變為開源軟體。2019 年 1 月 21 日轉變為 Apache License 20 授權。 SoftEther VPN 是專門被設計為穿過防火牆的，支援 NAT 穿透，使其能越過政府或組織的防火牆建立 VPN 通道。2013 年 3 月，官方開始提供 VPN Gate 公共 VPN 中繼伺服器列表外掛，以簡化高強度網路審查地區有突破網路封鎖（翻牆）需求的使用者的操作複雜程度。因為用了 HTTPS 來偽裝連線，防火牆的深度封包檢測無法偵測到 SoftEther 的 VPN 傳送封包構成的 VPN 通道。但 SoftEther 的 SSL VPN 協定在中國大陸的部分地區仍然被封鎖。 效能最佳化也是 SoftEther VPN 的一個目標。它使用像是利用全部乙太網幀的策略，減少了記憶體複製的操作、平行傳輸和群集，這減少了通常 VPN 連線會有的延遲並增加了運輸吞吐量。 互用性 VPN 伺服器和 VPN 橋接器支援微軟、Linux、Mac OS X 除了 109x、FreeBSD 還有 Solaris 這些作業系統。SoftEther VPN 支援自己的 VPN 協定但可以和 OpenVPN、微軟 Secure Socket Tunneling Protocol SSTP、SSL VPN、EtherIP、L2TPv3、IPsec 相容。藉由 L2TPIPsecOpenVPNSSTP，可以支援行動裝置系統如 iOS、安卓、微軟 Windows 手機。SoftEther 自身的 VPN 客戶端支援微軟、Linux、Mac。支援其他 VPN 協定的 VPN 客戶端和終端也可能會被使用；這包括了來自諸如思科、Juniper、Linksys 有 DDWRT、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 系統。 虛擬集線器 虛擬集線器就是以軟體方式模擬網路交換機。它會更新和維持自身擁有的轉發資料對照表（MAC 位址表）。雖然傳統的網路交換機將這功能做在硬體上，SoftEther VPN 以軟體實現了同樣功能。一個 VPN 伺服器可以有好幾個虛擬集線器，各自獨立。VPN 客戶端和橋接端的連線就是以集線器用封包交換來處理。 當一個伺服器上有數個虛擬的集線器時，為了安全，這些集線器都會獨立分開。各個不同的管理員可以對相應的虛擬集線器授予許可權。每個虛擬極限的管理員可以限定使用者物件和 ACLs，而這僅限於被授權的集線器上。 虛擬網路轉接器 一個 VPN 客戶端可以在自己的電腦上創立數個網路轉接器。VPN 使用者能在虛擬網路轉接器和遠端目標的虛擬集線器間建立可用連線。當建立了可用連線，使用者就能藉此和遠端的 VPN 網路溝通。它可以讓任何程式或作業系統不用特定設定就能使用，就和硬體版的使用方式一樣。 虛擬交換機 它以軟體方式模擬了 IP 路由器。一個伺服器上可以同時間創立好幾個虛擬交換機。虛擬交換機有虛擬的 IP 介面連線虛擬集線器。它也有幾個固定的對照表上的分配專案。 虛擬交換機也適合用來做大型的站對站 VPN 網路。雖然有個簡單的方式可以達成，就是用橋接建立 VPN，但如果有很多臺電腦，輸入站點間的連線的廣播封包數量就會大增。為了預防這樣規模擴張的問題，VPN 管理者用虛擬交換機來隔絕 IP 網路。 虛擬集線器之間的級聯連線 管理員可以在地區或遠端的虛擬集線器間定義一個級聯連線。當級聯連線被設立，原先獨立的兩個網段就被整合成一個了。所以這個級聯連線功能被用來建立站對站的橋接。 虛擬集線器和網路間的地區橋接器 因為虛擬集線器和虛擬網路轉接器都只是軟體模擬的裝置，藉此傳送的封包是無法和硬體裝置溝通的。因此，需要一個模擬和實體裝置之間的橋接，才能建立遠端存取 VPN 或站對站 VPN。要做出橋接，地區橋接器功能轉會轉換虛擬集線器和實體網路轉接器間的封包，結合兩個獨立網段成為一個單一的網段。 在 VPN 伺服器上定義過地區橋接器後，各 VPN 客戶端就可以藉由地區橋接器，連到 VPN 伺服器並和其他網路上的裝置溝通。這就是遠端存取 VPN。 如果網路管理者設立了遠端站點 VPN 橋接器，並在 VPN 伺服器和 VPN 橋接器上分別定義了兩個地區橋接，然後定義伺服器和橋接器間的級聯連線，遠端的兩個網段在第二層級上就會直接連在一起。這就是站對站 VPN。 防火牆，代理伺服器 SoftEther VPN 很重要的功能是對防火牆的穿透和藉助代理伺服器中轉 VPN 流量。為此，SoftEther VPN 支援 SSLVPN。它使用 HTTPS 協定來建立 VPN 通道，可以與 Web 網站同樣使用 TCPIP 443 埠。 可使用多條 TCP 連線的傳輸機制 當使用者選擇 SSLVPN 協定時，SoftEther VPN 伺服器和客戶端會用一套平行傳輸機制來改善 SSLVPN 通道的吞吐量。使用者可以建立 1 到 32 條 TCP 連線同時並行傳輸。當處在一個網速非常慢的地方時，這項效能調整會導致更快的吞吐量。一旦這功能被啟用，邏輯 VPN 連線將包含多個 TCP HTTPS 連線。所有的封包將會在適當的 TCP 連線中，被加進最佳化模組的運算。如果邏輯 VPN 連線的 TCP 連線偵測到封包的遺失，新的封包就使用其他正常的 TCP 連線。這項快速切換最佳化的功能造就高吞吐量。 NAT 穿透 傳統的 VPN 系統需要使用者去請求公司的防火牆管理者，在防火牆或公司與網路間的 NAT 開放一個終端點 TCP 或 UDP 埠。為了減少需要開放終端點的情形，SoftEther VPN 伺服器有 NAT 通透功能。NAT 通透會預設是啟動狀態。只要它啟動，VPN 客戶端的電腦就能連線到被防火牆或 NAT 阻隔的 VPN 伺服器，不需要在防火牆或 NAT 上特別設定。 透過 ICMP 和 DNS 上的 VPN 有少數限制很多的網路只允許透過 ICMP 或 DNS 的封包。在這種情形，TCP 或 UDP 會被濾掉。為了讓 SoftEther VPN 也能在這種網路建立連線，SoftEther VPN 有特別為此設計的 VPN 功能。 這功能對穿過這樣嚴格的防火牆非常有用。所有的 VPN 封包都再度包成 ICMP 或 DNS 封包來傳輸。接收端會從外層提出內層的封包。因為有些公共 WiFi 只能透過 ICMP 或 DNS 封包，這讓在公共 WiFi 也能使用 VPN。如果你為了出門，安裝一個伺服器在家中或辦公室，你可以在限制網路中享受這自由協定的網路通訊。 缺陷 SoftEtherVPN 服務端同時支援 SoftEtherVPN、OpenVPN、L2TP、IPsec、SSTP 等。儘管 SoftEtherVPN 因為使用 Https 通訊可以抵抗 GFW 的深度包檢測，但服務端的 OpenVPN 等功能若是開啟仍會暴露出 VPN 伺服器的存在。 VPN Gate VPN Gate 是個 SoftEther VPN 的外掛，它讓使用者能連線由志願者提供，在自家電腦安裝 SoftEther 的免費公共 VPN 伺服器，此功能可用於幫助使用者繞過政府的網際網路審查。VPN Gate 由筑波大學贊助。 參考資料 外部連結 SoftEther VPN 專案 VPN Gate Category 虛擬私人網路 Category 網路安全 Category 網路隱私 Category 代理軟體 Category 翻牆軟體 Category 被防火長城封鎖的網站