連線至虛擬網路 (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-auth 相關參數。您可以造訪官方文件 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

您可以透過編寫 properties.local 的方式,讓 FIRERPA 在啟動時自動連線至 VPN 伺服器。由於此項設定複雜,我們仍然不建議您自行編寫。請查閱我們自行部署 OpenVPN 伺服器的文件,以了解如何自動產生 properties.local 設定資訊。

快速架設 VPN

請前往我們的 部署 OpenVPN 伺服器 相關文件,查看如何部署及使用。