iT邦幫忙

0

自己搭建屬於自己的 VPN - Trojan 入門搭建教學

  • 分享至 

  • xImage
  •  

市面上越來越多有關 VPN 的廣告,至於使用 VPN 的用途我們在此就不贅述了,但總之使用付費公共的 VPN,不管是在隱私權等等方面其實都有著一定的疑慮,此外多數付費 VPN 對外的 IP 地址也已經被大多數的資料庫標記為「VPN」來源,因此在訪問某些網站時也有可能會被阻擋或出現問題。

同時,如果是位於中國大陸境內,大多數境外的 VPN 幾乎都已經被封鎖,導致完全無法連上線,或是只能斷斷續續的連上線,因此自主搭建 VPN,擁有屬於自己 VPN 的節點的這個想法,就越來越風行了。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840cKjXYJh1ai.png

https://ithelp.ithome.com.tw/upload/images/20231020/20160840BOAn9HQg5t.png

這次我們要介紹的是「Trojan」這套方案,經過「Trojan」目前在安裝上已經算是相當簡化,透過在目標 VPS、甚至是目標的實體機,以簡單的安裝過程,就可以搭建出屬於自己的 VPN。此外 Trojan 能夠將流量偽裝成使用者正常造訪網頁時的 HTTPS 流量,原則上針對防火城牆會有比較好的反偵測性,當然實際效果還是得看當下是否在所謂的敏感時期,以及當地運營商/省份城市的因素。

這次在 VPS 機器的部分我們還是用了 AWS EC2 香港的機器來作為示範,原因是為了方便,但請注意,如果您是要實現翻牆或是解鎖當地有區域限制的相關資源,會建議使用擁有針對中國運營商優化的海外加速線路的 VPS,還有擁有當地原生 IP 的 VPS 資源,才能夠比較實現使用 VPS 的目的。

資源需求

首先當然要先準備好對應的資源,原則上就是 :

  1. VPS 機器,需要注意至少得有獨立對外 IPv4 地址,由於 IPv4 地址越來越昂貴,有些 VPS 在極低價的方案會只有給 IPv6,IPv6-only 了話當然很多網站就沒辦法連上。
  2. 一個 domain,用於作為 HTTPS 連接使用 (建議使用付費的 domain,像是 Freenom 提供的 .tk 這種域名是免費的,但考量穩定性以及第一年後都要收費,個人比較不建議)。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840ZpjeSFBwUY.png

首先我們在設定好 AWS EC2 的前置作業後 (詳細的機器規格等等看使用需求,這裡我們就拿規格較低、較常見的 t3.micro 作為示範,以一般個人或家庭來說,t3.micro 作為 VPS 機器已經足以使用)。AWS 註冊和開設機器的方式網路上的教學應該不少,可以搜尋 “開 EC2“。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840ewaZiGDJs7.png

硬碟的部分,也是採用預設的 8G 即足夠,作業系統這裡選擇 Ubuntu Server 目前最新的 LTS 版本 : 22.04 LTS。

會比較不建議使用像是其他發行版本的作業系統,或是用 ARM 架構的,例如 Amazon Linux 等等,因為可能會在網路設定上預設有所差距,或是有不可預期的錯誤,但如果你抱著想要嘗試看看的精神當然也可以,記得上來回報一下。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840oXmyzNMJOq.png

https://ithelp.ithome.com.tw/upload/images/20231020/20160840dgshDovQ56.png

網路設定記得這裡要開啟允許所有流量,因為屆時會用到隨機通訊端口。另外為了先求有再求好,這裡只先用預設的 IPv4 的方式創建網路連線相關,如果會希望你的 VPN 可以走 4/6 dual stack,這個我們之後有機會再慢慢討論。

這時候另外再綁上 EIP,同時在購買的域名的 DNS 設定上設定一條 A 紀錄,名稱為你想要的域名 (這裡我們用 vpntest.2etrial.com,在 GoDaddy 上購買的),紀錄值設定你綁在機器的對外 EIP,這裡是 18.163.x.x 這一隻。

其他的域名註冊商或 DNS 服務商設定方法應該都大同小異,可以自己去摸索一下。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840MF5TBxDMS8.png

透過 macbook 內建的終端機用 SSH 連線過去這台機器 (如果不知道怎麼做的,AWS 上面有 Connect 按鈕可以按,按下去就會教你,其他的雲服務、雲主機廠商應該也會有),windows 則是可以用 putty 或是 MobaXterm,先例行性地做 sudo apt update、sudo apt upgrade、sudo vi /etc/hostname 改 hostname 這些必要流程。

因為中間有很多地方需要用到 su 權限,因此直接切換至 sudo su - 帳號來安裝,避免安裝出權限問題卡在中間。

sudo su -

安裝方式有三種,bash、curl、wget,我這裡使用 curl 來處理,如果遇到問題可以嘗試使用其他兩種

bash <(curl -Lso- https://git.io/oneclick)
curl -O https://raw.githubusercontent.com/jinwyp/one_click_script/master/trojan_v2ray_install.sh && chmod +x ./trojan_v2ray_install.sh && ./trojan_v2ray_install.sh
wget --no-check-certificate https://raw.githubusercontent.com/jinwyp/one_click_script/master/trojan_v2ray_install.sh && chmod +x ./trojan_v2ray_install.sh && ./trojan_v2ray_install.sh

https://ithelp.ithome.com.tw/upload/images/20231020/20160840Uwa5r5LezX.png

這裡我們選擇中文。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840W3sDScvMEC.png

下一步就有密密麻麻的選項,這裡我們先選 44 設定時區為 UTC+8,再選 2,安裝 trojan。
有很多可以調整的地方,但這些之後可能有機會再慢慢說明。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840cQbo68M7rQ.png

這裡直接按下 enter 即可。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840fYr4bmgXoV.png
https://ithelp.ithome.com.tw/upload/images/20231020/20160840kiLFFvT2eE.png
https://ithelp.ithome.com.tw/upload/images/20231020/20160840zLCpCmxXbf.png

申請證書的部分,email 可以隨便填寫,因為 LetsEncrypt 不用驗證 email,有些證書商會需要,另外證書商這裡建議就直接 enter 預設用 LetsEncrypt 的。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840N82F8gGZaZ.png

接著直接兩個 enter 即可,沒意外用 http 的方式驗證域名所有權就能正常簽發證書了。

https://ithelp.ithome.com.tw/upload/images/20231020/201608407nu5PyMUmV.png

反代的部分這裡也直接先 enter 不設置。

https://ithelp.ithome.com.tw/upload/images/20231020/201608406tJMnnLyKd.png

這裡也先直接按 enter 下去連續四次,高端口的部分在中國有可能會被阻擋常見的,因此可以考慮用其他大於 10000 的高端口,但這裡先用 443 預設。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840xrlexZPalq.png

到這裡就是成功了。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840Ark1UdC2k9.png
https://ithelp.ithome.com.tw/upload/images/20231020/20160840wFnlR3QG9W.png
https://ithelp.ithome.com.tw/upload/images/20231020/201608404clhdbx1EE.png

記得這一頁的登入密碼、網址這些資料都要完整複製保留下來,並且在本機端開啟紅框處這個網址,會出現一個 QRCode。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840EJGGIdtVLW.png

客戶端的部分,上面已經預設幫我們包裝好了,直接訪問那個網址就能夠下載,我是用 macbook,因此下載 mac 版本的,裡面就有一個 dmg 檔。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840meNJXCgxx4.png

安裝好會開不起來,這是蘋果的安全性設置,因此要來設定這裡手動允許開啟。
裝好後,先去更新一下,也能夠從這裡取得最新版:
https://github.com/yanue/V2rayU/releases
目前我使用 4.0 預覽版

https://ithelp.ithome.com.tw/upload/images/20231020/2016084088V6LHyNwK.png

安裝好之後上面會有一個 “掃描屏幕上的二維碼”,開啟剛剛那個 QR 碼的網頁,點這裡,允許存取對應的螢幕權限,就能夠把你的 VPN 的參數自動匯入進去。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840tyrAUXbbQ2.png
https://ithelp.ithome.com.tw/upload/images/20231020/20160840dzuEpIipCJ.png

添加成功後,服務器列表就會出現連接的延遲、還有配置的參數也能看到被成功導入。

https://ithelp.ithome.com.tw/upload/images/20231020/20160840H1EcOIDMNS.png

上方記得選擇全局模式。

https://ithelp.ithome.com.tw/upload/images/20231020/201608406ei8oY78TY.png

此時用這台電腦可以看到,訪問的 IP 地址已經變為我們 AWS EC2 當時綁上去的 EIP,此時我們就成功實現了自己架設 VPN 這檔事情。

當然這樣出去的 IP 地址還是 DCH 的,畢竟我們是從 AWS 的 IP 集區拿取的 IP,當然如果您是自己在當地有實體機器,接入當地的頻寬,或是透過 BYOIP 的方式把 IP 託管給 AWS 並 attach 上去了話,那麼就能夠實現原生 IP 的 VPN 訪問了。

以上就是小小的自己架設 VPN 的心得,當然如果是在中國境內要翻牆可能還需要更多手段和調整參數,牽扯層面也會更大 (例如地區封鎖、敏感時期封鎖) 等等,這部分等後續我們有時間再來討論吧。

參考資料 : https://github.com/jinwyp/one_click_script/blob/master/README2_CN.md


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言