OpenVPN 控制

您可以透過呼叫 FIRERPA 提供的介面,將目前裝置連線至 OpenVPN 網路。FIRERPA 內建 OpenVPN 支援三種登入模式擇一:憑證登入(CA/CERT/KEY)、使用者名稱密碼登入(CA/使用者/密碼)、憑證+使用者名稱密碼登入(CA/CERT/KEY/使用者/密碼),實際可用模式取決於您的 OpenVPN 伺服器端設定。此功能可與系統代理共存。請注意,這裡僅包含 OpenVPN 的主要功能,除了 DNS 設定外,暫時無法套用伺服器端推送的其他自動設定,例如 PAC 代理、HTTP 代理設定等。為了省去您自行安裝 OpenVPN 伺服器的麻煩,我們提供了一個立即可用的 OpenVPN Docker 映像檔,並附帶腳本,可產生介面呼叫程式碼以及開機自動連線設定。

連線 VPN

建議您先閱讀 部署 OpenVPN 服務 文件,瞭解如何自動產生此連線設定,手動編寫容易出錯。以下僅介紹主要介面的呼叫方式。

profile = OpenVPNProfile()
# 在此貼入自部署伺服器自動產生的程式碼
d.start_openvpn(profile)

關閉 VPN

關閉 VPN 的呼叫方式也很簡單,只需執行以下程式碼即可關閉 OpenVPN。

d.stop_openvpn()

完整參數

以下列出 VPN 介面的完整參數設定及其含義。我們不建議您自行編寫這些參數,請使用自部署伺服器產生的程式碼。

是否啟用全域 VPN。若啟用,系統中所有流量都會經由 VPN 伺服器出口。

profile.all_traffic  = False

伺服器端使用的連線協定。可選擇 OpenVPNProto.UDP 或 OpenVPNProto.TCP,視您的伺服器設定而定。

profile.proto        = OpenVPNProto.UDP

OpenVPN 使用者名稱密碼認證所需的使用者名稱與密碼。

profile.login        = "使用者名稱"
profile.password     = "密碼"

您可以透過這兩個參數來設定 OpenVPN 伺服器的位址與連接埠。

profile.host         = 伺服器位址
profile.port         = 伺服器連接埠

設定伺服器端通道加密方法。介面支援使用 AES_128_GCMAES_256_GCMCHACHA20_POLY1305AES_128_CBCAES_256_CBC 這幾種加密方式。

profile.cipher       = OpenVPNCipher.AES_256_GCM

設定 OpenVPN TLS 認證相關參數。您可以查閱官方文件 openvpn.net/community-resources/reference-manual-for-openvpn-2-5 以取得更多資訊。

profile.tls_encryption = OpenVPNEncryption.TLS_CRYPT
profile.tls_key_direction = OpenVPNKeyDirection.KEY_DIRECTION_NONE
profile.tls_key      = "-----BEGIN OpenVPN Static key V1-----"

OpenVPN 用戶端憑證、用戶端私鑰、伺服器憑證相關設定。

profile.ca           = "-----BEGIN CERTIFICATE-----"
profile.cert         = "-----BEGIN CERTIFICATE-----"
profile.key          = "-----BEGIN PRIVATE KEY-----"

自動連線 VPN

可設定 FIRERPA 啟動時自動連線 VPN,設定方式請參閱 服務設定。由於設定較為複雜,我們仍不建議自行編寫。請查看 部署 OpenVPN 服務 文件,瞭解如何產生並填入相關設定。

快速搭建 VPN

請參閱 部署 OpenVPN 服務 文件,瞭解如何部署與使用。