本篇文章更新時間:2020/03/27
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
Mac 上瀏覽網站如果要跳板或代理我都是用這招 [Mac] 使用 VPS 當 SOCKS 網頁代理伺服器。但手機沒想到比較好的方式,網路上一堆免費的好可怕XD
所以乾脆找資料自己架設一個 VPN 來使用。想要快一點又乾淨的架設大概非 Docker 莫屬。
幾個步驟如下:
- 選好想開的地區的 VPS 主機(現在各大地區的主機都能在網路上找到彈性收費的方法,AWS, GCP, Ali...)
- 設定開設主機 Ubuntu(我慣用而已),設定好連線方式
- 開機,確認配置的 IP(記下來),SSH 遠端連線進去開始下方的安置。
本篇使用 kylemanna/docker-openvpn 專案。
快速安裝 Docker 相關
以下皆使用 root
角色進行。
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
安裝 docker-compose
來參照這篇 安裝 OpenVPN 方式進行
curl -L "https://github.com/docker/compose/releases/download/$(curl -sL https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d'"' -f 4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
使用 docker-compose 安裝 OpenVPN Server
mkdir /root/open_vpn && cd /root/open_vpn
把下面的範本寫入 docker-compose.yml
檔案
version: '2'
services:
openvpn:
cap_add:
- NET_ADMIN
image: kylemanna/openvpn
container_name: openvpn
ports:
- "1194:1194/udp"
restart: always
volumes:
- ./openvpn-data/conf:/etc/openvpn
這邊的意思就是引用
kylemanna/openvpn
專案,然後開服務在 1194 Port 號,要改端口號是在這邊改。要記得 VPS 是否有設定防火牆擋住不給外連哦!(換 Port 號不然就是開防火牆)
docker-compose run --rm openvpn ovpn_genconfig -u udp://openvpn.mxp.tw
openvpn.mxp.tw 請自行取代成自己的網域,然後記得把這網域設定指向這台 VPS 的 IP
docker-compose run --rm openvpn ovpn_initpki
Enter New CA Key Passphrase: XXXXXX。輸入一組 6 個字元以上的密碼。
Common Name (eg: your user, host, or server name) [Easy-RSA CA]: 輸入 openvpn.mxp.tw (記得自己改成自己的)
Enter pass phrase for /etc/openvpn/pki/private/ca.key:一樣輸入一組 6 個字元以上的密碼。
docker-compose up -d openvpn
啟動 OpenVPN Server
製作用戶端連線描述檔案
export CLIENTNAME="mxp"
設定等等輸出的用戶端資訊,建立一組需要密碼的用戶端
docker-compose run --rm openvpn easyrsa build-client-full "$CLIENTNAME"
Enter PEM pass phrase: 提示輸入 6 字元以上密碼
Verifying - Enter PEM pass phrase:重複一次確認
Enter pass phrase for /etc/openvpn/pki/private/ca.key: 輸入上面輸入過的 6 字元以上密碼
- 特別注意,如果這邊輸入錯誤的驗證密碼,這組就會失效,請用別的名字
CLIENTNAME
再試一次!
docker-compose run --rm openvpn ovpn_getclient "$CLIENTNAME" > "$CLIENTNAME.ovpn"
把 OpenVPN 連線的檔案抽取出來,這檔案就可以用來連線囉!
- 由於他這產生的憑證有效期是三年(會看到提示),要簽過就是跑上述流程,而廢止需要參考下方指令。
docker-compose run --rm openvpn ovpn_revokeclient "$CLIENTNAME"
到這步取出來的 "$CLIENTNAME.ovpn"
就可以放到手機裡讀取連線,連線時會問你上面 PEM pass phrase
的密碼,驗證後就開始跳板上網啦!
後記
現在伺服器想用就開,用多少算多少,除非是開到一個 IP 已經被玩爛的要換過外,不然真是懂得用的人可以避開很多風險。像是到處上網找免費的還是上網買一些不知道有沒有問題的服務,都可能導致自己裝置上帳號密碼相關個資洩漏,實在要小心。
標題的五分鐘真是不誇張,沒幾行指令,只要熟悉 Linux 的操作還有遠端連線作業的環境,照打照輸入很快搞定~
- 記得,用完 VPN 後要砍掉主機才不會被多扣錢
這套安裝/移除/設定也滿簡單的,可以參考看看:
https://github.com/Nyr/openvpn-install
哇!你這個更方便R~ 哈哈,感謝分享~~~
這個可以支援多人連線嗎?
把連線方法放出去給其他人就可以囉~