- PR -

Linux ARP仕様について

1
投稿者投稿内容
テンマ
会議室デビュー日: 2006/02/21
投稿数: 1
投稿日時: 2006-02-21 00:30
初めまして。
Linuxで分からないことがありましたので投稿させて頂きます。

当方の環境で、PCが存在するLANから2つの経路でアクセスできるLinuxサーバが
あります。

Linuxサーバ:Kernel 2.4.20-28.9
eth0 192.168.1.10/24
eth1 192.168.2.10/24

PC:192.168.10.5/24

上記は全て同一のルータに接続されており、ルーティングされています。
サーバのデフォルトゲートウェイはeth1に存在するルータのポートに
ふられた192.168.2.1です。

このため、PCからサーバの192.168.1.10にpingを実行した場合、まずルータ
で192.168.1.0/24にルーティングされ、サーバまで到達しますが、replyは
デフォルトゲートウェイ192.168.2.1に返されるため、requestとreplyで別の
ルートを通っています。

この時、デフォルトゲートウェイがサーバのarpテーブルに存在しない場合、
eth1のポートに対してブロードキャストでarpの問い合わせを行いますが、

00:00:00.00000000 0:b:0:b:1:23 Broadcast arp 42: arp who-has
192.168.2.1 tell 192.168.1.10

このように送信元IPがeth1ではなくeth0に設定したIPが入っています。
ちなみにMACアドレスはeth1のものです。
Solarisではこのような動作にならず、送信元IPはeth1のIPが入ります。

これはLinuxでは仕様でしょうか?
この件について調べてみましたが、載っている情報を探し出せませんでした。
この動作について説明されたサイトなど、どなたかご存知でしたら教えてください。

[ メッセージ編集済み 編集者: テンマ 編集日時 2006-02-21 00:33 ]
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2006-02-24 14:40
こんにちは。

kernel については、不勉強なので直接お答えすることはできませんが、
こちらの資料でしたら、見つけることができました。
調査の手助けになればと思いまして。

 ・ Linux ver2.4カーネル内部解析報告(ドラフト第4版) - ネットワーク - ARP - アドレスの解決
   (japan.linux.com さんより)

他、「linux arp 複数 応答」 あたりをキーワードに、
検索エンジンで探してみると、
いくつかの情報が得られそうです。

# 過去にも似たようなやりとりがあったような……
oyaji
会議室デビュー日: 2006/02/25
投稿数: 11
投稿日時: 2006-02-25 16:05
>上記は全て同一のルータに接続されており、ルーティングされています。
>サーバのデフォルトゲートウェイはeth1に存在するルータのポートに
>ふられた192.168.2.1です。

>このため、PCからサーバの192.168.1.10にpingを実行した場合、まずルータ
>で192.168.1.0/24にルーティングされ、サーバまで到達しますが、replyは
>デフォルトゲートウェイ192.168.2.1に返されるため、requestとreplyで別の
>ルートを通っています。

replyならpingが到着したほう(192.168.1.x・・:192.168.1.0/24のゲートウェイ)に
返すのがスジなので、eth0から入ってきたのでeth0から返すつもりでARPしているだけでは?
このサーバ機はいわゆるマルチホーミングですから、下記は参考になりませんか?

http://www.aconus.com/~oyaji/router/multihoming.htm
1

スキルアップ/キャリアアップ(JOB@IT)