樹莓派確實是好東西,我除了安裝阻擋廣告利器「Pi-Hole」與「AdGuard Home」以外,還拿來跑 UniFi Controller 與 VPN Server

雖然樹莓派效能不是很好,但是他輕巧又省電,價格還算低,拿來跑一些不太吃資源的應用還是挺不錯的唷!

之前文章介紹了安裝 IKEv2 VPN,不過有人跟我說安裝操作起來無比繁瑣,我自己再重新看一次,好吧。。確實有點煩。。。

如果要求不是很多的話,確實有另外簡單又快的 VPN Server 部屬方案

今天介紹的「PiVPN」就是可以快速又安全的在樹莓派部屬 OpenVPN Server,而且管理也很方便

同樣先 SSH 登入進去樹莓派,然後複製粘貼以下指令:

$ curl -L https://install.pivpn.io | bash

稍待片刻安裝就會自動開始,整個安裝過程都相當容易,只要簡單選擇跟填寫資料即可

安裝這種服務都需要一個內網固定 IP 確保功能可以正常,所以最好直接在你 DHCP Server 上面設定讓樹莓派有一個固定的 IP 地址

接下來安裝過程會需要一個樹莓派的 User,以後完成客戶端的設定檔會直接放到該 User 的 Home 資料夾下面

如果沒有特殊需求,通常就是選樹莓派預設的 pi

上圖是問要不要啟用無人職守的自動升級,這樣系統會每天自動檢查有無必要的安全更新,推薦啟用選「Yes」

不過這個功能不會自動讓系統重開機,有時候一些安全更新會需要重開機才能生效

接下來會詢問要透過 UDP or TCP 跟 Port 端口的設定,如果沒有特殊需求,可以使用默認即可

也記得稍等要去 Router 上面把相對應的端口打開轉給樹莓派,不然外網可是會連不上的

這邊是選擇 OpenVPN 加密程度,通常選到 256-bit 加密已經足夠

上圖步驟是讓你選擇連線的地址,如果你使用網路提供商有給你固定公網 IP,那就可以選第一個「public IP」

如果沒有公網固定 IP 的話,你就需要自己搭建一個 DDNS 服務,然後選第二個的「public DNS」

選「public DNS」以後,這邊填寫你的域名即可

上面是讓你選擇要使用的 DNS 服務,如果你內網有搭建廣告阻擋神器「PiHole」或者「AdGuard Home」的話

請選「Custom」然後填寫廣告阻擋神器的內網 IP 地址

如果沒有的話,可以選 Google 或者 CloudFlare 的公共 DNS Server

至此安裝已經算是完畢啦!上圖是提醒,以後可以使用「pivpn add」的指令來新增客戶端的連線

最後按下 OK 後系統會自動重新開機

等待幾十秒樹莓機重開機,我們再用 SSH 連線進去,使用剛剛的新增客戶端的指令

$ pivpn add

接著會問要建立的用戶名,然後連續輸入兩次該用戶名的密碼

系統就會自動建立好相對應的設定檔並把 ovpn 放在剛剛安裝過程的用戶 Home 資料夾底下

接著我們只要把這個設定檔傳回電腦保存好即可

iOS 設備的話可以下載 OpenVPN 的客戶端 App: https://itunes.apple.com/tw/app/openvpn-connect/id590379981?mt=8

打開 OpenVPN Connect App 後,我們選擇下圖第三個選項「OVPN Profile」

官方提供兩種把 OVPN Profile 檔案導入 iOS 的方法,一種是透過 iTunes 傳入,另外一種是透過 email 發送到 iOS 設備上面的信箱

如果你使用 macOS 跟 iOS 的話,可以透過 AirDrop 更優雅的把檔案傳送過去

傳入後直接點「ADD」的按鈕

「Save Private Key Password」可以打勾,然後下方輸入該用戶名的密碼,這樣不用每次連線時候都輸入一次密碼

再來 App 會請求新增一個 VPN 的權限,直接點「Allow」即可

如沒意外,就能順利連上囉!不能連上的話,建議先檢查 Router 是不是有打開對應的端口~

macOS 建議可以使用「Tunnelblick」這個免費開源的 OpenVPN 客戶端: https://tunnelblick.net

這軟體內建中文,下載打開 App 後直接導入 OVPN 檔案就能連線!

以下是 PiVPN 一些實用管理指令:

「pivpn add」添加新用戶帳號跟密碼

「pivpn list」列出目前所有有效的帳號

「pivpn revoke」刪除某個用戶的帳號

「pivpn uninstall」卸載 PiVPN