《數字極權時代生存手記》4.網絡代理泛論

1 為什麼使用網絡代理

「為什麼使用網絡代理」這個問題在不同的國家有不同的答案——對於生活在網絡相對自由的國家的人而言,使用代理是為了保護隱私和信息安全;對於生活在存在網絡審查的國家的人而言,使用的代理是為了「翻牆」(突破網絡封鎖)。

2 GFW 與翻牆

根據維基百科對「防火長城/ GFW 」詞條的界定,中國國家防火長城(Great Firewall, GFW)是中華人民共和國政府在其互聯網邊界審查系統的統稱。此系統起步於1998年,得名於2002年5月17日 Charles R. Smith 所寫的一篇關於中國網絡審查的文章《The Great Firewall of China》,取與 Great Wall(長城)相諧的效果。
GFW 並不是實體的牆,而是一系列網絡封鎖手段的統稱,包括「域名解析服務 (DNS) 緩存污染、針對境外的 IP 地址封鎖、IP 地址特定端口封鎖、無狀態 TCP 連接重置、對加密連接的干擾、TCP 關鍵字阻斷、對破網軟件的反制、間歇性完全封鎖、深度包檢測、針對 IPv6 協議的審查、對電子郵件通訊的攔截和網絡攻擊」。
被 GFW 屏蔽的網站包括但不限於不受中共歡迎的網站,具體名單參見 維基百科 - 中華人民共和國被封鎖網站列表中國數字時代 - 翻牆必讀 - 被牆網站GreatFire Analyzer 提供網站是否被 GFW 屏蔽的測試。
「翻牆」指突破網絡審查瀏覽境內外被屏蔽的網站或使用服務的行為,中國網民為了規避審查常用「科學上網」、「愛國上網」指代「翻牆」。

3 網絡代理的原理與功能

網絡代理手段千變萬化,但其基本原理不外乎通過代理服務器轉發流量。
3.1 保護個人隱私
使用 VPN 等單層的網絡代理只能提供有限的隱私保護,而無法實現匿名。如果你追求匿名,應該使用多重代理的 Tor 瀏覽器。 在不使用代理的情境下,你的互聯網服務供應商 (Internet Service Provider, ISP) 可以看到你所訪問網站服務器的 IP 地址,這意味者 ISP 可以搜集你的全部上網紀錄,而你訪問的目標網站可以看到你的真實 IP。現在絕大多數網站都採用了 HTTPS 協議,ISP 只能看到你訪問了哪些網站,無法看到你瀏覽的具體內容;但如網站只支持 HTTP,使用代理並不能為你提供保護,ISP 在內的第三方可以看到你的請求內容,包括你輸入的密碼。
使用代理之後,ISP 就只能看到你連接了代理服務器的 IP,無法得知你訪問的目標網址;目標網站只能看到代理服務器的 IP。此時代理服務商取代了之前 ISP 的位置,不過相比之下 ISP 更有可能與政府合作監控或洩露用戶信息。但這並不意味著代理更安全,你需要綜合代理服務商的隱私保護措施、隱私政策以及代理服務器所在國的立法等多种因素判斷其是否可靠。
3.2 突破網絡封鎖
使用代理可以規避 GFW 的封鎖。比如你無法訪問 Google 的服務器 A,但你可以直接訪問未被 GFW 屏蔽的海外代理服務器 B,借道不受 GFW 之限的 B 訪問 A,然後再由 B 將從 A 處取得的數據轉發給你。



圖片來自 Project V 官網 原圖地址已失效

4 網絡代理模式的比較與選擇

網絡代理模式主要有 VPN、HTTP 和 Socks 三種。
VPN 通過加密隧道協議來保護通信安全與隱私,在世界範圍內被廣泛使用,只在中國等少數存在網絡封鎖的國家才被用作翻牆工具。不過 IPSec、PPTP、L2TP 和 OpenVPN 等 VPN 協議的流量特徵明顯,GFW 已經可以對其實現精準識別和封殺。
Shadowsocks 和 V2Ray 的設計初衷就是突破網絡封鎖,在翻牆體驗相比傳統 VPN 有著顯著優勢。在流量特徵上,Shadowsocks 是在 Socks 基礎上進行加密,後續版本加入了假 TLS 混淆,V2Ray 則通過真 TLS 將自己偽裝成正常的 HTTPS 流量,在抗封鎖能力上比傳統 VPN 強得大(不過 GFW 在無法識別流量時還是可以通過批量封殺代理服務器 IP 來進行封鎖)。在使用體驗上,V2Ray 和 Shadowsocks 相比 VPN 速度更快,連接更穩定,更省電,可以長時間開啟實現無縫翻牆。Shadowsocks 和 V2Ray 支持智能分流,即按規則針對牆內牆外的不同網站有選擇地使用代理,同時允許用戶根據自身需要在配置文件中添加規則,實現屏蔽廣告等功能;VPN 無法實現分流。
如果你的主要需求是保護隱私,你可以使用 VPN,如有興趣和能力也不妨嘗試租用虛擬專用服務器 (Virtual Private Server, VPS) 自行搭建 V2Ray 或者 Shadowsocks(Shadowsocks 和 V2Ray 商業服務商主要著眼於解決訪問國際互聯網的基本需求,普遍忽視隱私保護,因此不作推薦)。
如果你的主要需求是突破網絡封鎖/翻牆,建議使用 V2Ray 或者 Shadowsocks 並視能力和需求決定外購還是自建,此外也可選擇基於 WireGuard 協議的 VPN。

5 网络代理的使用模式

網絡代理的使用模式分為購買商業服務和自建代理服務兩類。網絡代理由服務器端和客戶端兩部分組成,在商業代理服務中,服務器端的部署由服務商負責,其中 VPN 服務商的通常做法是將服務器節點信息內置於客戶端,用戶一鍵打開開關即可使用,Shadowsocks/V2Ray 服務商的做法是向用戶提供節點信息,由用戶手動導入客戶端;自建代理服務則需要用戶自行完成服務器端和客戶端的部署。
購買商務服務的優勢在於使用門檻低,此外服務商還擁有更優質的服務器和網路線路資源,提供十幾條到幾十條不等的線路,在服務器所在國的選擇上更多樣,遭遇線路封鎖時也有回旋餘地。
自建代理服務的優勢在於用戶擁有信息自主權,有利於保護隱私;劣勢在於自建需要租用 VPS 並在 Linux 環境中部署 VPN/Shadowsocks/V2Ray 應用,如使用包含 TLS 的 V2Ray 還需額外購買域名和生成 SSL 证书,學習成本和使用門檻相比購買商業服務高出很多。

6 VPS 簡介與入門

VPS 是指將一台服務器分區成多個虛擬專享服務器的服務。知名的 VPS 廠商有 Google Cloud Platform (GCP) 、AWS、Azure、Vultr、Linode 等。
購買 VPS 後建議先測試能否在直接連接這台 VPS,為此你需要一個 SSH 客戶端。如果你使用 Linux 或 macOS 操作系統,你可以直接使用系統自帶的「終端」應用;如果你使用 Windows,你需要下載 SSH 客戶端應用,常見的有 Xshell、PuTTY、KiTTY、MobaXterm、mRemoteNG、Bitvise SSH 等;在 iOS 設備上可以使用 SSH 客戶端 Terminus 來操作 VPS。
以「終端」應用為例,在「終端」中輸入以下字符後回車:
ping 你的 VPS IP #例如 ping 00.00.00.00 
注:「#」後的內容是注釋,不會作為命令代碼運行,下同
如果能接收數據則證明能夠直連,之後可按下「Control+C」組合鍵來中止這一進程。如果不能直連則說明該 IP 可能已被屏蔽,建議註銷並更換 IP。
常用 Linux 命令
① 遠程登錄 Linux 主機 / VPS 遠程登錄和操作 VPS 同樣需要用到 SSH 客戶端應用。以「終端」為例,下同。
輸入以下字符後回車:
ssh root@你的 VPS IP #例如 00.00.00.00
初次登陸可能需要在 (yes/no) 選項下輸入「yes」,然後輸入你的 VPS 登錄密碼(VPS 網頁中獲取),需要注意的是此時輸入的密碼在應用界面下並不可見,輸入完畢後回車,如果密碼無誤即可成功登錄。
② 退出登陸 輸入「exit」後回車
③ 使用 cd 前往指定目錄 輸入 cd + 目錄,例如:
cd /etc/v2ray/
需要退出 cd 時輸入「cd」後回車即可。
④ 使用 vim 或 vi 修改配置文件
以 V2Ray 為例,輸入 「vim config.json」進入 vim 界面。vim 界面下不能直接編輯配置文件,但可以通過連擊「D」鍵刪除光標所在行。如需修改或插入內容,需要依次按「esc」、「I」和「Enter」鍵進入可編輯的「Insert」模式(底部會出現 Insert 字樣),之後你可以之後修改,或者將所有內容刪除後粘貼已經在其他編輯器中寫好的配置信息,完成後按「esc」鍵退出「Insert」模式。輸入「:w」後回車以保存,輸入「:q」回車退出,也可以輸入「:wq」回車一步到位。
如果你不熟悉命令行,可以借助 HyperApp 部署 VPS。HyperApp 是 iOS 平台上一個基於 SSH 和 Docker 的自動化部署工具,允許用戶在圖形化界面下將應用一鍵部署到 VSP,詳見 HyperApp 用戶文檔

没有评论: