Site cover image

🏫openvpn で 同時接続する方法

Table of contents

OpenVPNは、1つのクライアント証明書で複数の同時接続を許可しています。ただし、同時接続数には制限があり、OpenVPNサーバーの設定によって異なります。

複数同時接続の利点

  • 同じクライアントから複数のデバイス(PC、スマートフォンなど)をVPNに接続できる
  • 1つのデバイスで複数のアプリケーションやプロセスをVPN経由で実行できる

複数同時接続を許可するには

OpenVPNサーバーの設定

/etc/openvpn/server.confファイルで、以下の設定を行います。

duplicate-cn  # クライアント証明書の複数同時接続を許可
max-clients 100 # 同時接続可能な最大クライアント数を設定
クライアント証明書の発行

クライアント証明書を発行する際に、証明書の拡張機能としてTLS-Web-client-authenticationを有効にします。

X509v3 Extended Key Usage:
        TLS Web Client Authentication

この設定によって、同一の証明書から複数の同時接続が可能になります。

複数同時接続の制限

  • OpenVPNサーバーでmax-clientsで設定した値を超えると、新規接続は拒否される
  • クライアントごとの同時接続数の上限は、OpenVPNバージョンによって異なる(2.3では64接続まで)

複数同時接続の注意点

  • セキュリティリスクが高まるため、信頼できるクライアントのみに許可すべき
  • 同時接続数を無制限に許可すると、サーバーリソースを過剰に消費する可能性がある
  • 同時接続数が多いと、VPN帯域を圧迫し、接続品質が低下する恐れがある
💡
複数同時接続は便利な機能ですが、同時に接続を許可するクライアント数やリソース消費には留意が必要です。業務用途でOpenVPNを利用する場合は、適切な設定と運用が求められます。

詳細な設定方法

duplicate-cn の設定方法

duplicate-cnディレクティブは、クライアント証明書の複数同時接続を許可します。

duplicate-cn

デフォルトでは無効になっているので、有効にする必要があります。

max-clients の設定

max-clientsで同時接続を許可する最大クライアント数を設定します。

max-clients 100

クライアントごとに許容する同時接続数をmax-clients-per-userで指定することもできます。

max-clients-per-user 10
クライアントごとのIP割り当て方式

同一クライアントから複数接続がある場合、IPアドレスの割り当て方式を指定できます。

client-connect-script /etc/openvpn/client-connect.sh  #クライアントごとに同じIPアドレスを割り当てる
client-disconnect-script /etc/openvpn/client-disconnect.sh  #切断時の処理
duplicate-cn-such-that-client '$ client.key.replace (* .), "_'  #クライアントごとに異なるIPアドレスを割り当てる
💡
複数同時接続における注意点
  • セキュリティリスクが高まるため、VPNアクセスポリシーで適切に制御が必要
  • クライアント数が増えるほど、サーバーリソース消費が大きくなる
    • 同時接続数の上限設定が重要
    • CPU/メモリ/帯域の過剰消費に注意
  • OpenVPNのバージョンアップで同時接続数の上限が変更される可能性がある
  • サーバーとクライアントの時刻がずれていると、証明書の有効期限チェックでエラーになる恐れがある

特に企業などの多数のユーザーが接続するOpenVPNサーバーでは、同時接続数の上限設定と、リソース消費の監視が重要になります。過剰な同時接続を許可すると、サーバーのパフォーマンスに深刻な影響を及ぼす可能性があります。

また、他のユーザーを妨げないよう、不要な同時接続はすぐに切断するなど、適切な運用体制が求められます。複数同時接続は便利な機能ですが、その特性をよく理解し、慎重に設定・運用することが肝心です。


「上記記事は私が頑張って❓編集しました💗。」
Featured image of the post