仮想ネットワークへの接続 (OpenVPN)¶
FIRERPAが提供するインターフェースを呼び出すことで、現在のデバイスをOpenVPNネットワークに接続できます。FIRERPAは、証明書ログインモード(CA/CERT/KEY)、ユーザー名/パスワードログインモード(CA/ユーザー/パスワード)、証明書 + ユーザー名/パスワードログインモード(CA/CERT/KEY/ユーザー/パスワード)の3つのうち1つをサポートしています(これは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 = "パスワード"
これら2つのパラメータを使用して、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サーバーに接続させることができます。この設定は複雑なため、やはり自分で記述することはお勧めしません。properties.local 設定情報を自動生成する方法については、自己デプロイOpenVPNサーバーのドキュメントを参照してください。
VPNのクイックセットアップ¶
デプロイ方法と使用方法については、OpenVPNサーバーのデプロイ 関連ドキュメントを参照してください。