現在、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
。