手殘都會!「PiVPN」在樹莓派快速部屬 OpenVPN Server

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

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

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

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

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

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

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

/media/2018/10/2018-10-25_10-56-27.png

/media/2018/10/2018-10-25_10-56-47.png

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

/media/2018/10/2018-10-25_10-57-45.png

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

/media/2018/10/2018-10-25_10-59-00.png

/media/2018/10/2018-10-25_11-00-35.png

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

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

/media/2018/10/2018-10-25_11-00-52.png

/media/2018/10/2018-10-25_11-01-09.png

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

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

/media/2018/10/2018-10-25_11-01-45.png

/media/2018/10/2018-10-25_11-02-13.png

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

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

/media/2018/10/2018-10-25_11-03-11.png

/media/2018/10/2018-10-25_11-03-24.png

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

/media/2018/10/2018-10-25_11-07-34.png

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

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

/media/2018/10/2018-10-25_11-08-26.png

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

/media/2018/10/2018-10-25_11-10-28.png

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

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

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

/media/2018/10/2018-10-25_11-13-21.png

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

/media/2018/10/2018-10-25_11-13-41.png

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

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

1
$ 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