-1

Windows で VMware を使用して、iptables を実行する仮想 Linux ボックスをホストする際に問題はありますか? 物理ハードウェアでは動作するように見える構成がありますが、VMware では不安定です。

VMware を使用して、Windows 2003 Server ホストで仮想 Linux 2.6.24 マシンを実行しています。Linux アプリケーションは、基本的に .NET を実行する NATting ルーターですiptables。表のルールは次のnatとおりです。

Chain foo_pre
 target     prot opt in  out  source      destination
 LOG        all  --  *   *    0.0.0.0/0   0.0.0.0/0     [options here]
 LOG        all  --  *   *    0.0.0.0/0   10.10.1.33    [options here]
 DNAT       all  --  *   *    0.0.0.0/0   10.10.1.33    tcp dpt:80 to:192.168.0.33:8080

Chain PREROUTING
 target     prot opt in  out  source      destination
 foo_pre    all  --  *   *    0.0.0.0/0   0.0.0.0/0

を使用して 10.10.1.33:80 への着信パケットが表示されます。tcpdump最初のLOGメッセージはメッセージを生成しますがDNAT、2 番目も 2 番目もLOGパケット カウンターに登録されているパケットを表示せず、2 番目LOGはメッセージを生成tcpdumpせず、へのパケットを表示しません。 192.168.0.33。

アダプタはeth010.10.0.0/16 ネットワーク上にあり、デフォルト ゲートウェイは 10.10.1.1 です。セカンダリ アドレスは 10.10.1.33/32 です。 /proc/sys/net/ipv4/config/eth0/forwarding1に設定されています。

VMware が原因ですか、それとも何か不足していますか? ありがとう!


更新: テスト環境を簡素化しました。NAT ルールはまったくなく、Win2k3 サーバー ホストで実行されている Linux VM だけです。テスト手順:

  1. VM はホスト NIC にブリッジされます。VM とホストは同じサブネット上にあり、上記と同じデフォルト ゲートウェイを使用します。

  2. VM は、サブネット内外のデバイスと通信します: ICMP、TCP、UDP。通信は双方向です。どの機器が通信を開始するかは問題ではありません。

  3. エンジニアは、システムを突っついている間にデフォルト ゲートウェイの電源を入れ直しました。

  4. VM は、そのサブネット上のデバイスとのみ通信するようになりました。ステップ 2でゲートウェイを介して同じ機器に通信しようとしても、パケットを送信できません。 VM の eth0 の tcpdump は、応答のない発信パケットを示します。ホストの WireShark は、物理 NIC に何も表示しません。

  5. VM を停止して再起動しても、その動作は変わりません。VM を停止し、適切な IP アドレスなどを持つの VM に置き換えても、動作は変わりません。

  6. Win2k3 ホストは、サブネットの内外で正常に通信を続けます。

このことから、VM とホストの間、つまり VMware ドライバーまたはホストのネットワーク スタックで「何かが発生した」としか結論付けられません。私は再びウェブを精査するために出発します.... これを最初に観察したのは私たちだとは想像しがたいです.

彼らが来るように更新します。あなたの考えと議論をありがとう。

4

2 に答える 2

1

2 番目のログ行は 10.10.1.33 に送信されたパケットを照合しようとしていますが、その上の行で宛先アドレスを 192.168.0.33 に変更しています。

送信パケットが tcpdump にまだ表示されない理由がわかりません。Linux VM自体でtcpdumpを実行していると思います。VM は受信しているのと同じインターフェイスでパケットを送信していますか、それとも 2 番目の仮想イーサネット アダプターがありますか? さまざまな IP アドレスが割り当てられているマシン (10.10.1.33 以外)。

更新について: DHCP を使用していないと思います (静的 IP アドレスを使用する場合、通常は気にしません)。また、ゲートウェイは 2 つの IP アドレスを使用して 1 つの NIC を認識しているようです。通常はそれで問題ありませんが、常に細部に注意を払う必要があります。

ゲートウェイが NIC に 1 つの IP アドレスのみを割り当て、VM からのトラフィックを無視する可能性はありますか?

于 2008-11-10T21:33:42.607 に答える
0

編集後、実験をお勧めします。物理マシンで、すべてのハードウェアアクセラレーションを無効にするようにNICを構成します。

于 2008-11-11T04:45:02.907 に答える