OpenVPN クライアントとサーバーは同じマシン上にありますか?

OpenVPN クライアントとサーバーは同じマシン上にありますか?

現在、Windows サーバーを使用しています。この Windows サーバーはリモート データベースからデータを取得するため、リモート VPN サーバーに永続的に接続されています。そのため、リモート サーバーから提供される証明書を使用して、クライアント モードで OpenVPN を使用しています。

ここで、従業員がリモートで接続できるようにしたいと考えています。通常は、在宅勤務や会議中の作業です。そのため、このサーバーに OpenVPN インスタンスを追加したいと考えていますが、今回はサーバー モードで追加します。

技術的な観点からは、2 つの異なる仮想ネットワーク カードを使用しているため、2 つの openVPN インスタンスを同時に使用しても問題がないと思います。また、両方のサブネットは別個です。デフォルト ゲートウェイは変更されません (今後も変更されることはありません)。これにより、多くの問題を回避できます。

2 枚の TAP カード (openVPN で使用) をインストールできました。openVPN のインスタンスを特定のネットワーク カードに「リンク」する方法がわかりません。2 枚のネットワーク カードがあれば TAP は十分でしょうか? 同じマシンで同時に 1 つのクライアントと 1 つの openVPN サーバーを取得するにはどうすればよいでしょうか?

元の投稿

Windows サーバーを使用しています。

同じマシン上で同時に openVPN をクライアントとサーバーとして使用する必要があります。これは可能ですか?

はいの場合、制約は何ですか?

そうでない場合、他の選択肢はありますか?

Linux では iptables の力で可能になることはわかっていますが、Windows ホストでこれが可能かどうかはよくわかりません。

答え1

OpenVPN TLS サーバーとクライアントを同じマシン上に置くことは可能です (以前 Ubuntu でこの方法を実行したことがあり、Windows では問題が起きないと思います)。異なるポートと仮想 TAP-Win32 ネットワーク カードを使用するように設定するだけです。

可能であれば、クライアント インスタンスにnobindオプションを含めて、ランダムな動的ポートを使用するように構成します。これにより、インスタンス間のポート競合を簡単に回避できます (デフォルトでは、OpenVPN はクライアント モードでも常にデフォルト ポート 1194 にバインドします)。サーバーはポートにバインドする必要がありますが、port $PORTデフォルトのポートが適切でない場合は、オプションで設定できます。サーバーとクライアントの両方で、を使用して、dev-node $GUID個別のインスタンス固有の TAP アダプターを割り当てます。GUID は、レジストリから、またはコンソール コマンドを使用して読み取ることができますopenvpn --show-adapters

関連情報