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_GCM、AES_256_GCM、CHACHA20_POLY1305、AES_128_CBC、AES_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 服務 文件,瞭解如何部署與使用。