openvpnサーバーの複数のクライアントはどのようにしてお互いを見つけることができますか?


13

複数のクライアントをプライベートサブネットにサポートするopenvpnサーバーを立ち上げています。したがって、プライベートサブネットでは、接続しているクライアントは10.8.0.10、10.8.0.11などのIPアドレスを取得します。

私が必要とする機能の1つは、クライアントがお互いを見つけることができるようにすることです。クライアントがすべてのクライアントに割り当てられたIPアドレスのリストを表示する簡単で一般的に受け入れられている方法はありますか?

DNS名などは必要ありません。


4
正確に何を達成しようとしていますか?
MDMarra

@MDMarraユーザーのサイトのフィールドの誰かが発信接続を開始できるようにして、社内の技術サポート担当者がそのシステムに接続できるようにします。
AlanObject 14年

回答:


22

OpenVPNサーバーの構成ファイルでは、前提条件は次のディレクティブです。

# Uncomment this directive to allow different
# clients to be able to "see" each other.
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.
client-to-client

クライアントがお互いを簡単に見つけやすくするために、ダイナミックDNSを(ほぼ)常に存在するエンタープライズソリューションとして提案します。アクティブなクライアントのリストを表示するには、おそらく次のいずれかを実行できます。

  • openvpn-status.logをクライアントに配布または利用可能にする方法を見つけましたか?
  • pingスクリプトなどをクライアントに配布し、おそらくすべてのライブホストに対して逆DNSルックアップを実行しますか?
  • 接続時にクライアントにカスタムのデータベースまたはファイルに登録/登録解除させ、ある種の清掃メカニズムを持たせる。この代替手段は、車輪を完全に再発明するように見えますが、1時間を費やす楽しい方法であり、ITの世界全体に何も追加しないことは間違いありません。

デフォルトのフォールバックでは、外部システムのユーザーに、他のシステムに自分のIPアドレスを呼び出すか、テキストを送信させるだけです。人々が最も好きなものを見るためにあなたの提案を通して作業させてください。
AlanObject

4

OpenVPN 2.xのクライアント間機能をサポートする元のリンクは次のとおりです。

https://openvpn.net/index.php/open-source/documentation/howto.html#scope

このディレクティブのコメントを外すと、異なるクライアントがお互いを「見る」ことができます。デフォルトでは、クライアントにはサーバーのみが表示されます。クライアントにサーバーのみを強制的に表示するには、サーバーのTUN / TAPインターフェイスを適切にファイアウォールする必要もあります。

;client-to-client

接続しているクライアントがVPNを介して互いに到達できるようにする場合は、上記のクライアント間ディレクティブのコメントを外します。デフォルトでは、クライアントはサーバーにのみアクセスできます。

次に、client2のサブネット(192.168.4.0/24)とOpenVPNサーバーの他のクライアント間のネットワークトラフィックを許可するかどうかを自問します。その場合、以下をサーバー構成ファイルに追加します。

client-to-client
push "route 192.168.4.0 255.255.255.0"

これにより、OpenVPNサーバーはclient2のサブネットを他の接続クライアントに通知します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.