インターフェースの MAC 設定はフレームの送信能力にどのような影響を与えますか?

インターフェースの MAC 設定はフレームの送信能力にどのような影響を与えますか?

インターフェースはOSがインターフェースのMACに何を設定してもフレームを送信できると聞いています。また、VMも同じように動作するのではないかと思います。ホストブリッジングもしそうなら、インターフェイスにバインドされた MAC アドレスを使用するのは何でしょうか?

具体的には、70 年代に ROM に焼き付けられた MAC ではなく、ソフトウェア MAC について質問しています。

wlan0     Link encap:Ethernet  HWaddr 00:16:ce:01:

これは からの出力行ですifconfigが、インターフェイス wlan0 は /any/ MAC アドレスで送信でき、私が見ている MAC は何もしません (一部のライブラリにデフォルトを提供する場合を除く)。 VM のホスト ブリッジングではそれを利用して任意の数の IP アドレスで送信しますが、それだけでは終わりません。AP は異なる MAC で要求を受信するため、AP は実際にそれらの VM のそれぞれに一意の IP を割り当てることを許可するとのことです。

  1. 「仮想」MAC アドレスからパケットを作成するための特別な権限 (Linux) はありますか。
  2. MACアドレスはルータがどのインターフェースとホストがどのIPを持っているかを追跡する方法であるならば、1つのホストが仮想インターフェースにすべてのIPを要求するのをどうやって止めるのでしょうか。
  3. ユーザーが仮想MACアドレスを使用するのをどうやって止めるか
  4. これにはカーネル内の特別なオプション、またはネットワーク スタックに組み込まれる部分が必要ですか?

答え1

MAC アドレスは IEEE によって整理され、標準化されています。イーサネット ネットワークに接続するすべてのデバイスには、割り当てられた固有の MAC アドレスがあります。これにより、任意の 2 つのデバイスが同じネットワーク上に存在し、問題なく通信できます。ただし、これは、トラフィックの監視やスプーフィングなどに使用する MAC アドレスを OS が選択できないという意味ではありません。読むべきことがたくさんあります。ここ

以下の質問への回答

  1. ルート権限があれば、基本的に何でもできます。カスタム MAC でパケットを送信するには、次の 2 つの方法があります。1 つ目は、ifconfig コマンドを使用してインターフェイスの MAC アドレスを変更する方法です。これは、システム全体のすべてのトラフィックに影響します。2 つ目は、パケットを自分で形成し、特殊なコードを使用してインターフェイスに直接書き込む方法です。たとえば、nmap は、異なる送信元 MAC アドレスを持つポートをスキャンするように指示するときに、この方法を使用します。
  2. (そして 3) 必要ありません。悪意のあるホストがネットワーク上にいて、MAC アドレスを乗っ取ろうとした場合、深刻な問題が発生する可能性があります。これが、LAN のセキュリティ保護と厳格なアクセス制御ポリシーが重要な理由の 1 つです。私の会社では、デスクトップ LAN スイッチは、各ポートが接続されているコンピューターの MAC アドレスを学習し、そのアドレスが変更されるとポートがシャットダウンされ、使用されていないすべてのポートもシャットダウンされるように構成されています。このポリシーは、夜間のセキュリティ担当者が、当社のサーバーの 1 つと同じ静的 IP で構成されたラップトップを接続しようとし、多くの問題を引き起こした後に実装されました。各ポートを 1 つの MAC アドレスに制限することで、このような事態を (ほぼ) 防止できるようになりました。誰かが MAC を、すでに接続されているコンピューターのアドレスに変更することを知っている場合にのみ、当社のネットワークに侵入できますが、これはほとんどあり得ません。また、すべての IP をすべての MAC に要求することに関しては、スイッチは MAC テーブルを常に更新しているため、有効なホストが新しいパケットを送信するとすぐに、テーブルは正しいポートで更新されます。しかし、悪意のある人物が不正なパケットでネットワークを継続的に汚染していた場合、できることはほとんどありません。

関連情報