2つの仮想マシンが同じIPアドレスを取得するのはなぜですか?


31

Linuxホスト(Fedora 16)で実行されている2つの仮想マシンがあります。NATに接続されているように両方のアダプターを設定します。それらを起動すると、両方ともデフォルトゲートウェイがに設定され10.0.2.2ます。また、両方とも同じIPアドレスを持っています(10.0.2.15)。どちらも同じアダプター(アダプター1)上にあります。なぜ同じIPアドレスが割り当てられるのかわかりません。10.0.2.1サブネットアドレスが10.0.2.0あり、ネットマスクが255.255.255.0であるため、デフォルトゲートウェイにすべきではありません。私が行方不明になっているものがありますか?VirtualBox DHCPを適切に機能させるにはどうすればよいですか?


2
それは必ずしも必要ではありません。仮想化されたMACアドレスに基づいて複数のVMに異なるIPアドレスを割り当てる必要がある「真の」仮想NATネットワークを作成することができ、VMは基本的にNATネットワークの背後でお互いを見ることができます事実上、NATインターフェイスの背後にあるサブネット全体。「NAT」が選択されている場合、NATは1つのホスト/ VMの関係上にあり、「NATネットワーク」が選択されている場合、ネットワークアダプター構成での選択に依存します。仮想化ネットワークには異なるIPアドレスが必要です。

回答:


22

VirtualBox DHCPは正常に動作しています。

NAT構成ですべてのマシンが同じアドレスを取得しても問題はありません。すべてのVMは相互に分離されているため、競合のリスクはありません。また、これらは同じアダプター上にありません。各VMには、NICを含む独自の仮想化ハードウェアがあります。

デフォルトゲートウェイも10.0.2.1である必要はありません。下位のIPアドレスで使用するのが一般的ですが、サブネット範囲内の任意のIPを使用できます。

また、「実際の」dhcpサービスはありません。すべてがVirtualBoxコードにハードコーディングされていますが、デフォルトのIPアドレスに満足できない場合は、NATエンジンを微調整できます


こんにちは、@ jlliagre、これは本当に予想される動作ですか?私が理解しているように、すべてのVMに同じIPアドレスが割り当てられた場合、通信にこのネットワークインターフェイスを使用することはできませんよね?その場合、VMの束に対して、それぞれが単一のNATアダプターしか持っていない場合、デフォルトでは通信できないと述べています。
ちょうど学習者

1
@OgrishManはい、これは予想される動作です。それがNATの主な理由の1つです。これにより、多くのマシンで同じローカルIPアドレスを使用できます。IPアドレスがデバイスと通信できず、同じIPアドレスを使用している可能性があるため、192.168.1.4のラップトップのように、直接通信できません。通信できない主な理由は、とにかく異なるLAN上にいることです。NATインターフェイスのみを使用するマシンは、外部のサードパーティゲートウェイを介して、またはホストレベルでリバースポートマッピングを使用する場合にのみ、相互に通信できます。
jlliagre

ご説明ありがとうございます!今ははっきりしていると思う。
ただの学習者

7

VirtualBoxコントロールパネルで、[ファイル]-> [設定]-> [ネットワーク]に移動します

[NATネットワーク]タブを選択し、横にある[+]ボタンをクリックして新しい[NatNetwork]を作成し、[OK]を押します。

各VMを選択し、[設定]-> [ネットワーク]に移動します。

[接続先:]オプションで[NATネットワーク]を選択し、[NatNetwork]を選択して[OK]を押します。

すべてのVMを再起動します。

現在、VMは異なるネットワークアドレスを持っています。


1
このアプローチを使用しても同じIPアドレスを取得できます。
ジャージー豆

6

仮想マシンは、同じイーサネットMACアドレス(ネットワークデバイスのハードウェアメーカーによって設定された指紋のような一意のハードウェアアドレス)を持っている限り、どのDHCPサービスからも同じIPアドレスを取得します。

仮想マシンを実行しているため、仮想マシンには仮想ハードウェアがあり、MACアドレスを「偽造」しています。2つのマシンが同じイーサネットハードウェアアドレスを持たないようにする必要があります。

ハードウェアネットワークセクションのVirtualBoxで仮想マシンのイーサネットMACアドレスを設定できます(3c:08:51:05:24:8aのようになります)

実行中のVMで確認できます。

sudo ifconfig

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 3c:08:51:05:24:8a 
    media: autoselect (none)
    status: inactive

2
VirtualBoxに組み込まれたNAT dhcpサーバーは実際のものではありません。特に、MACアドレスは気にしません。いずれにせよ、複数のVMが同じMACアドレスを持っている場合がありますが、仮想ネットワークは完全に分離されているので問題ではありません。
jlliagre

2

dhcpサーバーからデフォルトゲートウェイを取得します。そのため、そこに設定されているものは何でもなります。dhcpサーバーを見て、何が配信されているのかを確認する必要があります(通常は、サーバー構成でサーバーを設定します)

同じアドレスを持つ2つのアダプターに関しては、Virtualboxで設定した構成が原因である可能性があります。それらがクローンである場合、新しいMACアドレスを明示的に与える必要があるかもしれません。

それぞれのネットワーク構成を確認し、それらが同じであると考えるかどうかを確認します。

異なる場合、dhcpサーバーでそれぞれに一時的に固定IPを設定できます(MACアドレスによって割り当てられます)

見てい本節詳細については、VirtualBoxのマニュアルからを。


1
投稿したリンクはNATには適用されません。
jlliagre

1

同じ問題がありました。Adapter2を2番目のゲストOSに割り当てました。ゲストに割り当てられた一意のMacおよびIPアドレス。

ここに画像の説明を入力してください


0

2つの設定を変更する必要があります。

1)VMボックス側-コンソールVMwareクライアントソフトウェアは、ネットワーク設定を変更します(つまり、ネットワーク設定に新しいNATを追加します)。2)VMマシン側-各VMのMacアドレスを更新します。


-1

各仮想マシンのネットワーク設定を開き、[詳細設定]をクリックし、[mac addr]の横にある[更新]ボタンをクリックします。両方で別のものを取得し、あなたはすべて設定されています


過小評価の答え
エルサデク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.