Solarisでpingが届かない




ネットワークの設定は済んでいて、インターフェースもUPしているのに、
pingが届かないことがたまにある。

その場合の1つの原因として、MACアドレスの不一致が考えられる。
これは、対象の機器が交換されたりした場合に発生する。
対象の機器が交換されたことでMACアドレスは新しいものに変更になっているのに、
Solaris側が古いMACアドレスの情報を保持していて、
古いMACアドレス宛にpingを打ってしまうためである。

このような場合は、ARPテーブル(MACアドレスとIPアドレスの対応表)をクリアすれば良い。
# ping 1.1.1.1 no answer from 1.1.1.1
1.1.1.1にpingが届かない
ARPテーブルを見てみると
# arp -a

Net to Media Table: IPv4
Device   IP Address               Mask      Flags   Phys Addr
------ -------------------- --------------- ----- ---------------
hme0   1.1.1.1              255.255.255.255       aa:aa:aa:aa:aa:aa
hme0   224.0.0.0            240.0.0.0       SM    01:00:5e:00:00:00
「1.1.1.1」のMACアドレスは「aa:aa:aa:aa:aa:aa」であると認識されている
これは古い方の「1.1.1.1」の機器のMACアドレス
そこで、いったんARPテーブルから「1.1.1.1」の登録を削除する
# arp -d 1.1.1.1 1.1.1.1 (1.1.1.1) deleted
確認すると
# arp -a

Net to Media Table: IPv4
Device   IP Address               Mask      Flags   Phys Addr
------ -------------------- --------------- ----- ---------------
hme0   224.0.0.0            240.0.0.0       SM    01:00:5e:00:00:00
「1.1.1.1」の登録がなくなったので、改めてpingを打つ
# ping 1.1.1.1 1.1.1.1 is alive
pingが届くようになった
再度ARPテーブルの登録を確認
# arp -a

Net to Media Table: IPv4
Device   IP Address               Mask      Flags   Phys Addr
------ -------------------- --------------- ----- ---------------
hme0   1.1.1.1              255.255.255.255       bb:bb:bb:bb:bb:bb
hme0   224.0.0.0            240.0.0.0       SM    01:00:5e:00:00:00
「1.1.1.1」のMACアドレスが「bb:bb:bb:bb:bb:bb」として登録されている