メッシュネットワークも一通り設定が終わり、安定して使えるように…と思ったら、1F居間と2FをつなぐWEX733Dから返答がない。(icingaを使って主要なデバイスの生死監視をしている)
確かめてみると、親機に設定した際のMACアドレスと、違ったMACアドレスになっている。このため、こちらが想定しているWEX733DのIPアドレスと異なるため、ping などが取れなかった。
WEX733D-前 60:xx:xx:29:xx:xx WEX733D-後 62:xx:xx:28:xx:xx
この症状は、他の Buffalo のルータでも確認していて、WZR-1166DHP2では、
WZR1166DHP2 B0:xx:xx:xx:xx:xx WZR1166DHP2 B2:xx:xx:xx:xx:xx
のような値が取れていた。今回 WEX733D には、DHCP の fixed-address の設定を使っているため、これを正しく登録しておかないと、IPアドレスが変化してしまう。
今回のMACアドレスを確認すると、第1オクテットのBit1は、グローバルアドレスとローカルアドレスを区別するビットみたい。
そこで、60…と62…では、それぞれ違うIPアドレスを対応づけて、死活管理で以下のように設定した。
確認用の script では、2つの check_ping を || で連結し、本来のIPアドレスで返答がなければ、予備のIPアドレスの返答を確認することとした。
define command{ command_name check_host_alive_multi command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1 || /usr/lib/nagios/plugins/check_ping -H '$ARG1$' -w 5000,100% -c 5000,100% -p 1 } define host{ use generic-host host_name wex733d alias wex733d address 192.168.xx.xx check_command check_host_alive_multi!192.168.xx.yy }