web-dev-qa-db-ja.com

同じLANでMACアドレスを複製すると問題が発生する可能性がありますか?

Windowsサーバーで仮想サーバーを実行していますが、サーバーの1つが接続されないことに気付きました。仮想マシンのインターフェイスを介して接続すると、サーバーが稼働中であり、サーバー内のネットワーク/インターネットにアクセスできますが、部外者は接続できません。サーバ。

仮想ネットワークインターフェイスを削除して新しいインターフェイスを追加すると(仮想ネットワークインターフェイスの新しいMACアドレスが生成されます)、サーバーにアクセスできるようになりました。

VMWareとHyperVの両方で同じ問題が発生しましたが、両方が同時に発生したわけではありませんが、3〜4日のギャップがありました。

MACアドレスが同じでIPが異なる同じLAN上の2つのネットワークインターフェイスで問題が発生する可能性があることを知りたいですか?

3
Akash Kava

地獄はい、遠慮なく悪い考え-彼らはユニークである必要があります。

27
Chopper3

イーサネットプロトコルはIPアドレスについて何も知りません。ホストは常にMACアドレスでアドレス指定するため(IPアドレスはMACアドレスにマップされます)、重複することはできません。

8

単一のMACアドレスが複数のインターフェイスまたは複数のサーバーに関連付けられていることは珍しいことですが、そうすることを妨げるものは何もありません。そして実際にこれが行われる場合があります。

たとえば、複数のサーバーに同じMACアドレスが割り当てられ、一方または両方のサーバーに無償のARPがブロードキャストされ、問題のIPがその物理アドレスにあることを通知する負荷分散構成があります。

デバイスが接続されているスイッチは、両方のポートのMACテーブルへのポートをエントリに追加し、問題のMacにルーティングされると、パケットを両方のポートに転送します。

次に、負荷分散サーバーは、通常はパケットの送信元IP modに基づいて、ACKするパケット(tcpの場合)を選択します。たとえば、1つのサーバーがトラフィックの50%を処理できるようにします(mod 2が使用されていると仮定)。

ARPルックアップに関しては、ここでは問題はありません。問題のIPに対してクライアントからARP要求が送信されると、両方のサーバーがまったく同じ応答で応答します。MacYでIP xを見つけることができます。これは、その後、クライアントのARPテーブルに単一のエントリとして格納されます。

6
Toby Thornton

答えにもう少し詳細を追加するだけです。はい、2つのデバイスでMACアドレスを共有するのは非常に悪いことです。これらのデバイスにサービスを提供するアクセススイッチは、まともなMACアドレステーブルを維持できません。現在テーブルにないデバイスからパケットを受信するたびに、デバイスのエントリのポートを更新します。

また、ARPクエリに関する回答についても。クライアントは、応答する最後のデバイスのIPアドレスを記録します。最初の応答(MACアドレスXYZを持っていてIPアドレス1にいます)が記録されますが、新しい「更新」を受信すると上書きされます(MACアドレスXYZを持っていてIPアドレス2にいます)。状況によっては、クライアントがARPキャッシュを継続的に更新し、実際にそのTCPセッションをめちゃくちゃにする可能性があります。

4
Roger

はい、ARPプロトコルを使用してIPアドレスをイーサネットアドレスにマッピングし、ビットが適切なイーサネットポートに到達できるようにします。同じイーサネットアドレスを持つ2つのシステムがある場合、ビットは、ARPクエリに最初に応答したシステムに移動します。

この混乱を避けるために、は一意である必要があります。

2
Rudedog