![VMWare ESXi 上の 1 台のマシン (Linux) からのすべての接続を別のマシン (Windows) の VPN 経由でルーティングするにはどうすればよいですか?](https://rvso.com/image/1552361/VMWare%20ESXi%20%E4%B8%8A%E3%81%AE%201%20%E5%8F%B0%E3%81%AE%E3%83%9E%E3%82%B7%E3%83%B3%20(Linux)%20%E3%81%8B%E3%82%89%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E6%8E%A5%E7%B6%9A%E3%82%92%E5%88%A5%E3%81%AE%E3%83%9E%E3%82%B7%E3%83%B3%20(Windows)%20%E3%81%AE%20VPN%20%E7%B5%8C%E7%94%B1%E3%81%A7%E3%83%AB%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
あるソフトウェアは Linux でしか実行できないのに、Windows でしか実行できない VPN クライアントを介してリモート サーバーに接続する必要があるという特別な問題があります。
物理ハードウェアの場合、Linux ボックスと Windows ボックスの間にイーサネット ケーブルを 1 本、Windows ボックスからルーターに 1 本のイーサネット ケーブルを接続すれば済むと思います (これが機能するかどうかはわかりませんが、機能するはずです)。
2 台の仮想マシンを使用して VMWare ESXi ハイパーバイザーでこれを実現するにはどうすればよいですか?
役に立つかもしれない記事をいくつか見つけましたが、この件に関して少し専門知識が欲しいです。
答え1
これは悪いアイデアだと私も思いますが、あなたはそれが自分の状況に最適な解決策だと確信しているようです。個人的には、さまざまな VPN クライアントをすべて集める方法を選びます。そうは言っても...
まず、VPN クライアントを実行している Windows マシンでルーティングとリモート アクセスを有効にする必要があります。「LAN ルーティングの構成」リンクをクリックすると、その段階に到達できます。
次に、VPN ネットワーク/ホストのトラフィックを目的のインターフェイス (VPN アダプタ) 経由で転送するルートを設定する必要があります。どのトラフィックが転送されるかわからない場合は、すべてのトラフィックをルーティングするデフォルト ルートを使用できます。Windows ボックスでこれを設定したら、Linux ボックスのデフォルト ゲートウェイ アドレスを Windows ボックスの LAN アダプタの IP アドレスに設定する必要があります。
Windows ではコマンド ラインを使用してルーティングを構成することもできますが、Nirsoft NetRouteView などの GUI ツールを使用すると、始めるのが少し簡単になるかもしれません。
https://www.nirsoft.net/utils/network_route_view.html
必ず管理者として実行してください。そうしないと、頭痛の種になります ;) 既存のルートを表示/編集/削除したり、新しいルートを作成したりできます。参考までに、複数のデフォルト ルート (0.0.0.0) がある場合は、メトリックが最も低いルートが優先されます。したがって、ルートのメトリックを適宜調整する必要がある場合があります。
これが頻繁に使用される/永続的な設定である場合、Linux ボックスはそのままにしておき、Windows ボックスで追加のルートを追加して、さまざまな VPN トンネルへのトラフィックを処理できます。ルートを「永続的」にすると、再起動しても保存されます。永続的でないルートは、マシンを再起動すると失われます。ルートを構成するときに、ルートのアダプタ (インターフェイス) を指定することもできます。たとえば、VPN-A と VPN-B のルートを構成し、VPN-A が接続されていて VPN-B が接続されていない場合、VPN-B のルートは基本的に無視され、トラフィックは VPN-A 経由でルーティングされます。
答え2
投稿者が遭遇した状況は、VPN を使用して複数のクライアントに接続する必要があったことです。彼はクライアントから VPN ソフトウェアを受け取りますが、そのソフトウェアはほとんどの場合 Windows で使用することを目的としています。残念ながら、彼のプログラムは Linux で作成され、Linux で実行されます。
投稿者が要求している解決策は、Windows VM を VPN へのルーターとして使用し、Windows で VPN クライアントを実行し、Linux ホストからそれに接続することです。
このソリューションは、すべてのケースで機能するわけではありません。多くの企業では VPN を必須にする悪い習慣があり、接続された VM がホスト ネットワークから分離され、リクエストをルーティングできなくなります。(幸いなことに、ファイアウォールではホストで実行されている VMWare から VM のデスクトップを切断することはできません。)
1 つの解決策は、VPN に Linux クライアントを使用することです。Linux 用の VPN クライアントのほとんどは無料ですが、無料ではない場合でも、クライアントは製品の代金を支払っているので、どうしても必要な場合は Linux クライアントを入手できます。これが、これまでのところ最も簡単な解決策です。
2 番目の解決策は、アーキテクチャを反転することです。Windows コンピューターを入手し、そこにさまざまな VPN クライアントをインストールすることをお勧めします。その後、Linux プログラムをホストのネットワークを使用する Linux VM にインストールできます。この解決策は、強制 VPN でも機能します。
3 番目のソリューションは、最新のハイパーバイザーが組み込みハイパーバイザー (仮想マシンで実行されるハイパーバイザー) をサポートしているという事実に依存しています。このアーキテクチャは少々無理があり、Linux が Windows VM をホストし、その組み込みハイパーバイザーが、製品を含む組み込み Linux VM を実行するというものです。このソリューションは、強制 VPN でも機能しますが、その利点と欠点を比較検討する必要があります。現在使用している VMWare 製品とは別の製品の使用を余儀なくされる可能性があります。このソリューションが本当に実行可能かどうかはわかりません。