web-dev-qa-db-ja.com

同じIPとのカーネル火星ソース

いくつかのサーバーでeth0のkernel: martian sourceログエントリが断続的に表示されます。興味深いのは、それらが同じIPに出入りしていることです。例えば:

Nov  4 02:20:27 tcffmppr6db09 kernel: martian source 10.153.242.13 from 10.153.242.13, on dev eth0.3171

これはいくつかのサーバーでのみ発生します。同じようにeth0が設定されている約60があります(明らかに異なるIP)。

これを追跡するために私は何を見なければなりませんか?

編集:

この特定のインターフェイスのルートはデフォルトルートであるため、間違ったインターフェイスに送信されることは問題ではないと思います。

13
theillien

問題

今日、火星のパケットがカーネルログに殺到するという同じ問題が発生しました。すべての火星のパケットは、eth0の同じパブリックIPアドレスからeth0の同じパブリックIPアドレスに送信されます(実際のIPおよびヘッダーは削除されます)。

IPv4: martian source x.x.x.x from x.x.x.x, on dev eth0
ll header: 00000000: aa bb cc dd ee ff gg hh ii jj kk ll 08 00

調査の結果、火星のパケットのll headerに理由が隠されていることに気付きました。

理論

イーサネット接続でこれを想定すると、ll headerは実際には、宛先MACアドレス、送信元MACアドレスを含むイーサネットタイプIIフレームの最初の部分を示し、IDはパケットの残りの部分のタイプを示します。

Ethernet Type II Frame Format[1]

ご覧のとおり、最初の6バイトは宛先MACアドレス、次の6バイトは送信元MACアドレス、最後の2バイトのコードです。一般的なコードは次のとおりです。

  • 08 00:IPパケット
  • 86 dd:IPv6パケット
  • 08 06:ARPパケット

説明

私の例に戻ります。

IPv4: martian source x.x.x.x from x.x.x.x, on dev eth0
ll header: 00000000: aa bb cc dd ee ff gg hh ii jj kk ll 08 00

これは、

  • 同じ送信元および宛先IPアドレスで受信されたパケットがありました。
  • 不明なMACアドレスであるGG:HH:II:JJ:KK:LLから送信されました。
  • 宛先はAA:BB:CC:DD:EE:FFで、これは私自身のMACアドレスです。
  • これはIPパケット(08 00)でした。

パケットの送信元と宛先のIPアドレスが同じである場合、同じネットワークインターフェースから送信する必要がありますが、送信元と宛先のMACは異なります。どうしてそれが可能でしょうか?

したがって、パケットが火星から送信されていることは明らかです。ルーティングの問題があるか、ネットワーク内のマシンが構成されているか、または誰かがIP/MACアドレスを偽装しようとしています。次のステップは、問題の送信元MACアドレスをチェックすることです。

16
比尔盖子