隨著世界各地互聯網審查制度的加強,各國政府越來越擔心防止使用 VPN 來規避其限制。擁有防火牆的中國在這方面尤其活躍,並且有許多來自使用防火牆的人的報告中國的VPN他們的連接被封鎖。
問題是,雖然不可能“看到”加密 VPN 隧道中的數據,但日益複雜的防火牆能夠使用深度包檢測(DPI) 技術來確定正在使用加密(例如檢測 OpenVPN 使用的 SSL 加密)。
此問題有多種解決方案,但大多數都需要一定程度的技術專業知識和服務器端配置,這就是為什麼本文只是對可用選項的介紹。如果隱藏您的 VPN 信號對您來說很重要,並且端口 443 轉發(見下文)還不夠,那麼您應該聯繫您的VPN提供商討論他們是否願意實施下面概述的解決方案之一(或者尋找已經提供此類支持的提供商,例如 AirVPN)。
通過 TCP 端口 443 進行端口轉發 OpenVPN
到目前為止,最簡單的方法是轉發您的(客戶端),不需要服務器端實現,並且在大多數情況下都有效。通過 TCP 的 OpenVPN 流量端口 443。
OpenVPN 默認使用 UDP 端口 1194,因此防火牆通常會監視端口 1194(以及其他常用端口),拒絕嘗試使用該端口(或它們)的加密流量。 TCP 端口 443 是 HTTPS(安全超文本傳輸協議)使用的默認端口,該協議用於保護 https:// 網站,並由銀行、Gmail、Twitter 和許多其他重要 Web 服務在整個互聯網上使用。
OpenVPN(與 HTTPS 一樣使用 SSL 加密)的使用不僅很難通過端口 443 進行檢測,而且阻止該端口會嚴重削弱對互聯網的訪問,因此對於潛在的網絡審查者來說通常不是一個可行的選擇。
端口轉發是自定義 OpenVPN 客戶端中最常支持的功能之一,這使得更改 TCP 端口 443 變得異常簡單。如果您的 VPN 提供商不提供此類客戶端,那麼您應該聯繫他們。
不幸的是,OpenVPN 使用的 SSL 加密與“標準”SSL 並不完全相同,而先進的深度數據包檢查(在中國等地越來越多地使用的類型)可以判斷加密流量是否符合“真實”SSL/HTP 握手。在這種情況下,需要找到逃避檢測的替代方法。
代理服務器
Obfsproxy 是一種工具,旨在將數據包裝到混淆層中,從而很難檢測到正在使用 OpenVPN(或其他 VPN 協議)。最近已經是被 Tor 網絡採用,主要是為了回應中國阻止訪問公共 Tor 節點,但它獨立於 Tor,並且可以針對 OpenVPN 進行配置。
要工作,obfsproxy 需要安裝在客戶端計算機(例如使用端口 1194)和 VPN 服務器上。但是,所需要做的就是在服務器上輸入以下命令行:
obs代理obfs2 –dest=127.0.0.1:1194 服務器 xxxx:5573
這告訴 obfsproxy 偵聽端口 1194,本地連接到端口 1194 並將解封裝的數據轉發給它(xxxx 應替換為您的 IP 地址或 0.0.0.0 以偵聽所有網絡接口)。最好與 VPN 提供商一起設置靜態 IP,以便服務器知道要偵聽哪個端口。
與下面介紹的隧道選項相比,obfsproxy 並不那麼安全,因為它沒有對流量進行加密,但它的帶寬開銷要低得多,因為它沒有攜帶額外的加密層。這對於敘利亞或埃塞俄比亞等地的用戶尤其重要,因為帶寬通常是關鍵資源。 Obfsproxy 的設置和配置也更容易一些。
通過 SSL 隧道的 OpenVPN
安全套接字層 (SSL) 隧道本身可以用作 OpenVPN 的有效替代方案,事實上,許多代理服務器都使用安全套接字層 (SSL) 隧道來保護其連接。它還可以用來完全隱藏您正在使用 OpenVPN 的事實。
正如我們上面提到的,OpenVPN 使用 TLS/SSL 加密協議,該協議與“真正的”SSL 略有不同,並且可以通過複雜的 DPI 檢測到。為了避免這種情況,可以將 OpenVPN 數據“包裝”在額外的加密層中。由於 DPI 無法穿透 SSL 加密的“外”層,因此它們無法檢測“內部”的 OpenVPN 加密。
SSL 隧道通常使用多平台 stunnel 軟件創建,該軟件必須在服務器(在本例中為您的 VPN 提供商的 VPN 服務器)和客戶端(您的計算機)上進行配置。因此,如果您想使用 SSL 隧道,則有必要與您的 VPN 提供商討論具體情況,並在他們同意的情況下接收他們的配置說明。一些提供商將此作為標準服務提供,但 AirVPN 是我們迄今為止審查過的唯一服務(anonypoz 是另一個)。
使用這種技術確實會導致性能下降,因為信號中會添加額外的數據層。
通過 SSH 隧道的 OpenVPN
這與通過 SSL 隧道使用 OpenVPN 的工作方式非常相似,只不過 OpenVPN 加密數據被封裝在 Secure Shell (SSH) 加密層中。 SSH 主要用於訪問 Unix 系統上的 shell 帳戶,因此它的使用主要限於商業領域,遠不如 SSL 流行。
與 SSL 隧道一樣,您需要與您的 VPN 提供商聯繫才能使其正常工作,儘管空中VPN支持“開箱即用”。
結論
如果沒有非常深入的數據包檢查,OpenVPN 加密數據看起來就像常規 SSL 流量一樣。如果通過 TCP 端口 443 路由,情況尤其如此,其中 a) 您會期望看到 SSL 流量,b) 阻止它會阻礙互聯網。
然而,伊朗和中國等國家決心控制其人民未經審查的互聯網訪問,並採取了技術上令人印象深刻(儘管在道德上令人反感)的措施來檢測 OpenVPN 加密流量。在這些國家/地區,即使被發現使用 OpenVPN 也可能會給您帶來法律麻煩,因此在這些情況下,使用上述附加預防措施之一是一個非常好的主意。
