Raspberry Pi 筆記(63):安裝虛擬專用網路OpenVPN

VPN (Vitural Private Network) 代表虛擬專用網絡,讓兩個網路間的連線,使用加密的方式傳輸。而使用 Raspberry Pi 建立 VPN,除了成本低以外,設定也很簡單,且可以 7x24 保持在線狀態而無需消耗大量電能。以下要來實做如何在樹莓派上安裝 PiVPN (OpenVPN)。

[VPN介紹]

虛擬專用網路VPN,可以提供兩個主要功能:
  • 加密:數據在離開您的設備時被加密,並在到達目的地後被解密。這稱為 VPN 通道(Tunnel),會讓傳輸的數據保持私密性和安全性。連接到 VPN 後,所有 Internet 通信都將通過此通道進行傳輸交換。
  • 身份驗證:連線 VPN 時,需要用戶名和密碼進行身份驗證。

VPN的類型主要有兩種:
  • 遠端連線VPN:通常將個人端的電腦設備,連線至遠端的網路並使用其服務。例如從辦公室以外的環境,遠端連接到辦公室,就可以使用辦公室內部的網路,就像是在辦公室辦公一樣。
  • 站點到站點VPN (Site to Site VPN):在兩個網路之間建立了連接,並且在路由器級別而不是用戶電腦上增加了加密和安全性。例如:兩個分公司之間的 Internet 連線,可透過此一 VPN 模式,連接成一個內部網路環境。
VPN的通訊協定有兩種:
  • 點對點通道協議(PPTP):PPTP 出現時間最長,且所有主要的作業系統都支持這個協定。在過去幾年中,它的安全性一直受到質疑,因為它使用了非常基本的加密,從安全角度考慮,不建議這樣做。
  • L2TP / IPSec:L2TP 是 Cisco 和 Microsoft 兩個公司合作的結果,目的是創建更安全的PPTP版本。在通信期間使用 IPSec 來實現端點到端點的加密傳輸。
OpenVPN 是一個用於建立虛擬私人網路絡加密通道的軟體包,最早由 James Yonan 編寫。OpenVPN 允許建立的 VPN 使用公開金鑰、電子憑證、或者用戶名稱/密碼來進行身分驗證。[維基百科]
OpenVPN 是 2001年創建,是基於 OpenSSL 發展的開源軟體,在 VPN 通信中被認為有較高的安全性。所有主要作業系統均支援 OpenVPN,且易於安裝。對於一般家用的 VPN,是最佳選擇之一。

[安裝PiVPN]

PiVPN 已針對 Raspberry Pi 進行了優化,且在大多數 Linux 發行版中都可以正常運行。以下就來看看如何安裝 OpenVPN:

⬝更新並升級系統套件
$ sudo apt-get update && sudo apt-get upgrade
⬝開始安裝PiVPN:
$ curl -L https://install.pivpn.io | bash
出現以下安裝畫面,按  OK  繼續。

說明PiVPN需要固定 IP才能運作正常,按  OK  繼續。

顯示目前使用的IP及Gateway,按  Yes  繼續使用DHCP,  No  改用固定IP。

選擇一個使用者取得PiVPN的設定。

選擇使用者Pi。

選擇安裝 WireGuard 或 OpenVPN,WireGuard是一套新的VPN系統,有較高的連線速度、較佳的效能,新的加密技術等功能。我比較熟悉 OpenVPN,還是安裝 OpenVPN比較習慣。下次再來試裝一下WireGuard。

選擇使用哪種協定,一般使用UDP,如有特別的理由可選擇 TCP。

設定連接的 Port,通常要大於1024,預設 1194。

確定 Port 編號是否正確?按  Yes  繼續。

選擇 DNS的提供者,除非Pi有安裝DNS Server,通常選擇其他 DNS,我選擇使用 Google。

是否增加其他自訂的搜尋網域,選則  No  繼續。

選擇使用動態DNS或固定IP連線。



OpenVPN 2.4提供較快速的連線等安全機制,假使 Client端使用 OpenVPN 2.4以上,可以按  Yes  繼續。

選擇憑證加密的方式,建議使用 256位元進行加密。

顯示要產生憑證及 HMAC金鑰雜湊訊息鑑別碼(Keyed-hash message authentication code),按  OK  繼續。

詢問是否自動升級安全更新,按  Yes  繼續。

顯示提醒繼續執行「pivpn add」來建立 OpenVPN 的 profiles,按  OK  繼續。

按  Yes  重開機。

重開機後,SSH 登入,執行以下指令:
$ sudo pivpn add
過程中,會詢問 Client 端使用者的名稱,輸入您設定的名稱後,繼續詢問此憑證的使用天數,預設1080天,繼續詢問密碼,再次輸入密碼後,會產生一個 ovpns 的目錄,內有一個 .ovpn 的 Profile。

到這裡已經安裝完成 PiVPN Server及產生 Client 端的連線 Profile。接著要安裝 OpenVPN Client軟體,可到 這裡 下載安裝。安裝完成後,將上述產生的 Profile 下載到要進行遠端連線的電腦,可使用 filezilla 或 WinSCP 等工具,我使用 WinSCP 將 Profile 下載到 PC 端。

在 PC 端開啟 OpenVPN 軟體,這時視窗右下角會有一個 OpenVPN 的圖示,按右鍵選擇「匯入設定檔」,選擇稍早下載的 .ovpn Profile 檔案。

按下確定後,會出現一個對話框,顯示已成功匯入OpenVPN。如要進行連線,可對 OpenVON 圖示按右鍵,選擇連線,出現以下畫面,無法連線成功。

錯誤的原因主要是我的ADSL網路連線,沒有設定將 OpenVPN 的1194 Port 轉到樹莓派的 IP。這時需要登入 ISP 業者提供的 ATUR 設備,以 https://192.168.1.1連線,登入帳號密碼(如 ISP 為中華電信,一般使用者預設的帳密是 user/user)。

設定完成後,再次進行連線,就可成功使用 VPN 連線。如果 OpenVPN 圖示變為穩定的綠色,則表示您已成功連接到VPN。如果變為黃色,但60秒後仍未變為綠色,則說明是某種原因導致連接失敗。

[參考資料]



4 留言

  1. 关于vpn,这几年因为中国防火牆持续更新。之前我用的pandavpn, nordvpn,已经不管用了。
    我看了一些博客:
    像是:https://wallzhihu.com/fanqiang/
    推荐了光年vpn 跟expressvpn,不知道版上朋友有啥看法?
    关于翻墙,之前看到这兩篇: 不知道博主有何看法
    科学上网
    VPN台湾
    之前看了這部影片
    科学上网
    做了一些vpn實測,還不錯

    回覆刪除
  2. Linux我個人是喜歡用最新的Wireguard協議連結。
    輕量而且加密金輪的等級也更高。

    參考這篇文章

    回覆刪除
  3. 很好的文章,谢谢分享,顺便给大家分享一篇很好的VPN测评网站:https://topvpn.world/

    回覆刪除

張貼留言

較新的 較舊