- PR -

arp を使ったWindowsとlinux のIP重複抑止

1
投稿者投稿内容
さかい
会議室デビュー日: 2004/06/24
投稿数: 8
投稿日時: 2004-06-25 06:29
こんにちは

WindowsでIPアドレスを固定で設定してネットワークに接続使用とした場合、まず設定されたIPアドレスをarpで確認して応答がなければそのIPアドレスを使用するという仕組みでIPアドレスの重複を抑止しています、Windows同士ではその仕組みが機能するのですがlinuxに同一IPが設定されていた場合linuxがarp応答をしないためWindowsに重複したIPアドレスが設定されてしまいます。

Windowsから出されるarp要求が送信元とターゲットのIPが同じarp要求なのでlinux側で無視しているかなんかではないかと思うのですが、linux側の設定でこのようなarpにも応答するようにすることはできないでしょうか?

ちなみにWindowsからでているarp要求のパケットはこんな感じです
0000 FF FF FF FF FF FF 08 00 - 46 16 B9 19 08 06 00 01 ........F.ケ.....
0010 08 00 06 04 00 01 08 00 - 46 16 B9 19 C0 A8 01 05 ........F.ケ.タィ..
0020 00 00 00 00 00 00 C0 A8 - 01 05 00 00 00 00 00 00 ......タィ........
0030 00 00 00 00 00 00 00 00 - 00 00 00 00 ............


--- MAC層 [08004616B919] → [FFFFFFFFFFFF] --------------------------------
【キャプチャ時間】2004/06/23 19:42:06.532498
【物理パケット長】60 (0x003C) バイト
【送信先MACアドレス】FFFFFFFFFFFF
【送信元MACアドレス】08004616B919

--- データリンク層 [EthernetU] ------------------------------------------------
【フレームタイプ】EthernetU
【プロトコルタイプ】0x0806 (ARP)

--- ARP要求 ---------------------------------------------------------------
【ハードウェアタイプ】1 (イーサネット)
【プロトコルタイプ】0x0800 (IP)
【ハードウェアアドレス長】6 バイト
【プロトコルアドレス長】4 バイト
【オペレーション】1 (ARP要求)
【送信元ハードウェアアドレス】08004616B919
【送信元プロトコルアドレス】192.168.1.5
【ターゲットハードウェアアドレス】000000000000
【ターゲットプロトコルアドレス】192.168.1.5
m.ku
大ベテラン
会議室デビュー日: 2002/09/15
投稿数: 184
投稿日時: 2004-06-25 10:10
解決策ではなく、@ITでの関連記事だと以下があります。(後ろの方)
Gratuitous ARP:
http://www.atmarkit.co.jp/fwin2k/network/baswinlan011/baswinlan011_03.html
検索時の参考にでも。
さかい
会議室デビュー日: 2004/06/24
投稿数: 8
投稿日時: 2004-06-25 13:37
こんにちは、レスありがとうございます

とりあえず私のほうで調べたことをアップデートします。
今試しているのはLinux(RedHat8.0,Fedora Core2)とWindows(XP pro,Windows Server 2003)で行っているのですが結果としては下記のようになります。

まずLinuxに設定したIPをWindowsに設定する:設定できてしまう
まずLinuxに設定したIPを別のLinuxに設定する:エラーがでて設定できない
まずWindowsに設定したIPをLinuxに設定する:エラーがでて設定できない
まずWindowsに設定したIPを別のWindowsに設定する:エラーがでて設定できない

またLinuxにIPを設定した場合に出力するarpがWindowsと微妙に違うということです。Windowsのarpには送信元のプロトコルアドレスに設定しようとするIPを設定していますがLinuxの場合は送信元のプロトコルアドレスに0.0.0.0を設定しています。この違いでLinuxが無視しているのか、私の環境がおかしいのか全くわかりません・・・
Linuxが出しているarpのパケットはこんな感じです。
0000 FF FF FF FF FF FF 00 50 - 04 76 CD 5C 08 06 00 01
0010 08 00 06 04 00 01 00 50 - 04 76 CD 5C 00 00 00 00
0020 FF FF FF FF FF FF C0 A8 - 01 05 00 00 00 00 00 00
0030 00 00 00 00 00 00 00 00 - 00 00 00 00

--- MAC層 [00500476CD5C] → [FFFFFFFFFFFF] --------------------------------
【キャプチャ時間】2004/06/24 18:13:40.547045
【物理パケット長】60 (0x003C) バイト
【送信先MACアドレス】FFFFFFFFFFFF
【送信元MACアドレス】00500476CD5C

--- データリンク層 [EthernetU] ------------------------------------------------
【フレームタイプ】EthernetU
【プロトコルタイプ】0x0806 (ARP)

--- ARP要求 ---------------------------------------------------------------
【ハードウェアタイプ】1 (イーサネット)
【プロトコルタイプ】0x0800 (IP)
【ハードウェアアドレス長】6 バイト
【プロトコルアドレス長】4 バイト
【オペレーション】1 (ARP要求)
【送信元ハードウェアアドレス】00500476CD5C
【送信元プロトコルアドレス】0.0.0.0
【ターゲットハードウェアアドレス】FFFFFFFFFFFF
【ターゲットプロトコルアドレス】192.168.1.5

この辺はLinuxとWindowsの仕様の違いでしょうがないのか、私の環境がおかしいのか判断がつつきません。Linuxの環境は下記のようになっています。


1.Fedora Core2
kernel 2.6.6-1.435

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=00:50:04:76:CD:5C
IPADDR=192.168.1.5
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
TYPE=Ethernet

起動しているデーモン
rpcsvcgssd,xfs,syslog,crond,IIim,rawdevices,network,
cpuspeed,cups,sshd,canna,anacron,iptables,random,
acpid,ntpd,rpcgssd,microcode_ctl,mdmonitor,rpcidmapd,messagebus

2.Red Hat Linux 8.0
kernel-2.4.20-28.8

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.9
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes

起動しているデーモン
syslog,httpd,network,random,rawdevices,atd,
keytable,sshd,iptables,crond,anacron,proftpd

何かほかのLinuxのバージョンでは発生しない等ありましたら情報いただけますようお願いいたします。
m.ku
大ベテラン
会議室デビュー日: 2002/09/15
投稿数: 184
投稿日時: 2004-06-26 15:07
とりあえず軽く調べた部分だけコメントします。

Googleで「"IP autoconfiguration algorithm"」で検索してみると
・Win2000は最初のSource IP "0.0.0.0"のステージをすっ飛ばして
 いきなりSource IP=Target IPから始める。
という情報がヒットします(XPも類似)。ただしプロトコルの歴史的経緯については
私は知らないのでそれが正しいのか間違っているのかは言及できません。

MSの米国サイトで「Duplicate IP Addresses」で検索すると結構いろいろ
トラブルがヒットします。サービスパックで訂正されている件と、
設定で対応しなければならない件があるようです。

なんとなく、固定IPならきちんと帳簿を作って管理するか(Auto Detectに頼らない)、
もしくはDHCPサーバを使いなさい、ってことになると感じます。

以上、参考まで。
さかい
会議室デビュー日: 2004/06/24
投稿数: 8
投稿日時: 2004-06-27 17:42
返信ありがとうございます

結構Windowsだけでもいろいろトラブルがあるようですね、私も何となくm.kuさんと同じ結論に達しそうな気がしてきましています。



1

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