-1

クライアント マシンと ESXi サーバー内で実行されているゲスト VM の間に TCP 接続を確立しようとしています。秘訣は、ゲスト VM に (意図的に) ネットワークが構成されていないことです。ただし、ESX サーバーはネットワーク上にあるため、理論的にはソフトウェアでギャップを埋めることができる可能性があります。

具体的には、最終的にはクライアント マシンで実行されている Python コードから直接 TCP 接続を作成したいと考えています (RPyC 接続を作成したい)。ただし、結果として ssh のようなポート トンネリングが発生するものは、十分にブレークスルーになります。

私は、VMWare Tools、pysphere、あいまいなネットワーク アダプターのいくつかの組み合わせが可能であると理論付けています。しかし、これまでのところ、私の検索では結果が得られず、私の唯一のアイデアは醜い (ファイル操作のトンネリングのようなもの) か、非常にエラーが発生しやすい (基本的に、TCP スタックを構築する必要がある場合は、多くのバグを書いています)。

本番用ではなく、テスト環境のセットアップ用です。でも速度よりも安定性が好きです。現在、高スループットの必要性はあまりありません。

セットアップを要約するには:

  • vmware ツールがインストールされたクライアント マシン (Windows/Linux など)
  • ESXi サーバー (クライアント マシンからアクセス可能なネットワーク)
  • NIC をまったく持たないが、vmware ツールを使用してアクセスできる VMWare ゲスト (私の場合は Windows である必要がありますが、完全性のために Linux ソリューションを歓迎します)

どんなアイデアやさらなる読書の提案も素晴らしいでしょう. インターネットありがとう、あなたは最高です!

4

3 に答える 3

2

「ゲストに NIC がまったくない」という意味が明確ではありません。ゲストに物理 NIC が割り当てられていないと想定できる場合は、ここで意味されていることです。ゲスト VM 用に vmWare ソフト NIC をプロビジョニングでき、それがゲスト ネットスタックへのエントリ ポイントとして機能するため、ソリューションは簡単です。

しかし、ソフト NIC も利用できない場合、Linux/Windows であれ、ゲストのネットスタックへのエントリ ポイントとしてどのように、また何が機能するのでしょうか。私の理解では、それがあなたの意図であれば、別のドアを使用してゲスト ネットスタックにアクセスし、そこから pkts をポスト/ドレーンするために、ゲスト OS を変更する必要があるかもしれません。しかし、このバックドアを適切に実装すると、vmware がデフォルトでサポートする softNIC の別の実装になります。では、なぜそれを使用しないのですか?

于 2014-02-10T19:04:32.647 に答える
1

少し遅れていますが、仮想シリアル ポートがあなたの味方になるかもしれません。オプションに応じて、ネットワーク経由またはローカルで外側のシリアル ポートを選択できます。通信するために、両端にいくつかの ppp のものまたはカスタムスクリプトを含めることができます。ppp インターフェースを持たないようにしたいが、アプリケーションのために TCP 接続をトンネリングする必要がある場合は、ゲスト側のシリアル リンクから単一のソケットを作成するツールを実行することもできます。これにより、スカイネットでない限り、悪意のあるコードを分析するときに安全に保つことができます:-) セキュリティ対策を回避することで会社のルールに違反している可能性があるため、システム管理者の許可を得て実行する必要があります.

于 2016-12-08T11:08:52.057 に答える
1

VM に「意図的に」ネットワークが構成されていない場合、ネットワーク経由で VM に接続することはできません。

あなたの質問は矛盾を含んでいます。

于 2014-02-10T21:10:34.783 に答える