Pritunl 是一個基於 OpenVPN 的 VPN 系統,因為基於 OpenVPN,所以必須部分開源。但是在各項表現上都比原本的 OpenVPN 來的更加優異,是目前我找到最簡單的 VPN 軟體,安裝與設定上,官方已經將繁瑣的設定簡化。同時具有 web 控制頁面,是一款懶人都可以完成設定的 OpenVPN。
但是官方在 Client 的說明較低,不確定是官方故意的還是官方認為不重要,尤其是如果使用的是 server 版本 Linux 要執行 pritunl-client,就顯得完全沒有文件可以參考了,只剩下指令的 help 可以使用。
指令
pritunl-client 是在 client 上唯一的指令,所有設定都由這個指令進行。
安裝完後指令會預設放置在
/usr/bin/pritunl-client
可以試試看 man, help 看看有沒有任何可以找到的基礎說明。
很幸運的 –help 有結果
$ pritunl-client --help
輸出
Usage: pritunl-client [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
daemon Start client service daemon
disable Disable a profile to stop autostart by...
enable Enable a profile to autostart by profile ID...
import Import new profile archive, conf or uri.
list List imported profiles and status
remove Remove a profile by profile ID or space...
start Start a profile by profile ID or space...
stop Stop a profile by profile ID or space...
沒錯,這份文件只有這樣。真的是瞎子摸象,現在只能摸起來~~
設定檔輸入
如果有用過 Pritunl 的話都知道使用者只要導入 config 設定就會完成,而這個功能其實在 server 版本上也一樣有。
List config
顯示已經 import 的 config
$ pritunl-client list
輸出
PROFILE_ID ENABLED STATE NAME
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX false connected Japan_Ser (Serever_Internal)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX false ended server (EdgeRouter192)
Import config
輸入 config 為之後的啟動做準備,這部分有兩種方式,一種是直接下在 tar 檔案,到系統中,再讓 pritunl 去導入。另外一種就是使用 URL,這個 URL 就是類似這樣的內容。
pritunl://<pritunl domain>/ku/XXXXXXXX
使用指令
$ pritunl-client import <config>
輸出
Successfully imported profile
這時候就可以利用 list 指令,查看是否有正確導入
Start profile
接下來就是要啟動 VPN,使用指令 start,但是如果我們單純使用 start 是不會 work 的,他會顯史必須使用密碼。
$ pritunl-client start <profile ID>
輸出
Password required
但是官方又沒有說清楚到底怎麼導入密碼,因次我去 GitHub 上面稍微翻了一下 source code,才知道要使用 –password 的 option 在 command 後面,才可以使用 VPN。
$ pritunl-client start XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --password XXXXXXXX
輸出
Successfully started profile
到這裡完成 VPN 的連接。
後續
基本上我覺得官方一直沒有把這東西說清楚,網路上也沒有相關的文章可以查閱,感覺蠻可惜的,不過官方有他們自己的立場,畢竟是要營利的軟體,已經因為條款的關係需要 open source,把文件寫的含糊,我覺得情有可原。
不過目前的設定,只要重新開機就無法連接了,這點官方的文件裡面說,密碼是可以寫在 config 裡面的,但是我還找不到任何文件上有說明。
只能等之後研究了。