第一次翻牆就上手-v2Ray Server 建置
最近受到香港反送中的影響,翻牆的難度一下子變高很多。僅以本文紀錄架設 v2ray Server 的過程,方便需要的人看。
v2Ray 是 Project V 底下的一個工具。Project V 是一個專案,包含各項用於建置各項特定網路環境的工具,其中 v2Ray 就是屬於當中的核心工具。目前 v2Ray 主要普遍被中國地區的使用者做為 VPN 使用來進行「科學上網」,以躲避中國防火長城(GFW)的檢測。
跟 shadowsocks 比起來,v2Ray 使用了自行研發的 VMess 協議,不但功能更加完善、性能也更好,唯一的缺點就是設定複雜到靠北,對於沒有網管經驗的新手來說,要自己從零建一個服務起來難度相對較高。官方有提供詳盡的 Manual,有興趣的話可以來以下網址看看:
思路
基本概念是架設一個 v2ray Server,使用 web socket 做為連線方式,中間過 CludFlare 做中轉,並且把真實 IP 藏在後面。
如此一來如果不小心被牆了,直接換個 domain name 就可以繼續運作。
建置 v2Ray Server
準備一台乾淨的伺服器,基本上租 GCE、OVH 或是任一個 VPS 服務都能正常運作。系統部分隨便,只要是 GNU/Linux 就好,我自己是用 CentOS 7。
首先,確保系統上有 curl 這項工具,沒有的話就安裝:
$ yum -y install curl
接下來下載 v2Ray 工具腳本並執行:
$ bash <(curl -s -L https://git.io/v2ray.sh)
下載了之後,會跳出選單介面:
選擇 “1” 後按 Enter 繼續,接下來會要你選擇傳輸協議:
由於我們要透過 CludFlare CDN 做中轉,因此這邊選擇 “3”,如果你還要掛 TLS 的話就選 4。
沒有要掛 CloudFlare 的話,選 1 即可,不過變成真實 IP 會直接暴露出去,有被 GFW 直接封 IP 的風險。
選擇 3 之後,會要你輸入監聽的 Port:
如果你的主機是直接拿 WAN IP 對外,直接監聽 8080 Port 就好(CludFlare 可以轉送 8080 Port 的資料)。
當然如果主機藏在內網的話,也可以監聽其他 port,再從 Router 設定 Port Forwarding 從外網的 8080 Port 轉進來。
這邊直接輸入 “8080” 後繼續:
廣告攔截跟 Shadowsocks 直接預設關閉就好,這邊連按兩次 Enter 跳過。
完成後會跳出確認畫面:
這裡直接按 Enter,就會自動啟動安裝作業,大概等個兩分鐘就會完成,並跳出以下連線資訊:
原則上看到連線資訊就代表成功了,照著配置訊息裡面去設定你的 Client 端就能連的上,不過這裡顯示的地址是這台主機的真實 IP,直接暴露出去不但容易被打也很容易被 GFW 直接 Ban IP,因此我們還需要照著以下步驟把這台 Server 藏在 CloudFlare 後面。
將 v2Ray Server 掛在 Cloudflare 後面
CloudFlare 是一個免費的 CDN 服務,可以幫助受保護的網站免於 DDoS 等網路攻擊以確保在線率,並同時提升網站性能與載入速度。我們這裡主要拿他做流量中轉,以避免被 GFW 鎖 IP。
首先準備好一個網址,沒有的話可以去 Gandi 買一個:https://www.gandi.net
準備好後,去 CloudFlare 網站註冊一個帳號:https://www.cloudflare.com/
註冊完後登入,點右上角的 Add Site 按紐,並照著指示將網域指向給 CloudFlare 作為外部 DNS Server。
新增完後,在 “DNS” 頁面依照下圖新增紀錄:
最左邊選取 A 紀錄。
第二個欄位 Name 輸入要用來連線的子網域,假設購買的網域名稱為 lalala.com,如果想透過 test.lalala.com 連線,那就在這個欄位輸入 test
如果沒有子網域(亦即直接透過 lalala.com 連線),就直接輸入 @ 就好。
第三個欄位 IPv4 Address 輸入剛才安裝 v2Ray Server 時顯示的真實 IP。
最後點擊右邊雲朵圖示,確保像上圖一樣是亮橘色的,之後按下旁邊的 Add Record 按鈕即完成。
設定好後等一小段時間讓 DNS 生效,一般在 30 分鐘內就可以完成更新。
Windows 底下可以用 nslookup 指令來確認是否已經成功指向到 CloudFlare 伺服器:
> nslookup <vpn.mydomain.com>
括號請自行替換成自己的網址,成功的話回應應該會如下圖所示:
至此 CloudFlare 就已經設定完畢了,Client 端連線時的設定皆與上面安裝 v2Ray Server 時顯示的配置一樣,惟連線地址(Address)要改成在 CloudFlare 所設定的網域名稱。
感謝
感謝 Telegram 上的 rawam 與 Alan Yeung 兩位大大協助測試與提供相關技術協助,祝福你們在關注社會運動的過程中一切安好。
希望有一天,生活在中國與香港的人民也能像台灣人民一樣大口呼吸民主與自由的空氣,而無須受到高牆的阻撓。