連線至虛擬網路 (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-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 伺服器 相關文件,查看如何部署及使用。