ホーム » 「Buffalo」タグがついた投稿
タグアーカイブ: Buffalo
2022-03-26-クラス●さんへのメモ
このページは、息子の入居先のネットワークトラブルの原因を(私が自宅に帰るため)、ネットワーク関連の担当者に状況を伝えるためのメモです。
本格入居までの状態
- 2月末に契約を行い、荷物運び込みなどを順次行い、3月上旬に入居。
- ルータは、Buffalo WSR-1800AX4S ver 1.03 で、今回の新居にあわせ新規購入品。
この際にはルータのデフォルト設定(Auto/Router)のスイッチで接続。 - 「インターネット@スタート」で初期化が行われたが最初は繋がったが、すぐに切れてしまった。
しかし、色々と接続設定を変えていたら、何らかの”偶然”だったのか接続できるようになった。入居日から翌日までは、そのまま接続ができていた。 - この後、帰省先に帰り1週間後に本格的な入居(3/26)
3/26のメモ
- 入居先に到着し、インターネットを接続するが、ここでも「最初の10秒?から30秒ほどは繋がったがすぐにインターネットに接続できない状態」となる。
- ルータのWAN状態は…
- つながる時は 192.168.200.6 などのIPアドレスリースをうけている。
- 切れた状態になると「インターネット@スタートで接続するが繋がらない状態」になる。
- クラス●さんに連絡を入れ、担当者さんからの連絡を受ける。
担当者さんのアドバイス以降
- 担当者さんのアドバイスにより、ルータをManual / Access Point モードにしたが、一時的に繋がったが30秒程度接続ができた後、繋がらなくなる。(過去の状態と同じ)
- PCは、192.168.200.15 が割り当てられた。
- ping 192.168.200.1 を実行したが30秒ほど後で応答が途切れる。
- こちらの判断で、ルータを Manual / Router モードに変更し、再起動したが、同様の症状。
- 自宅ルータも Buffalo で、過去に「インターネット@スタート」でトラブったことがあるので Auto / Router モードは信用していない。
- 動かない原因が古いファームウェアのバグといったトラブルを避けたいので、別途Webで入手したファームウェアに更新。ただし、バージョン番号は同じ ver 1.03なのでファーム更新はただの気休めの予定だった。
- しかし、ファームウェア更新ご再起動したら、安定してつながる状態となった。
(意味不明!?!?!?!?)
原因の推測
- つながったのにすぐに切れる。
- 他の居住者からはトラブル連絡はない。
- トラブルが全建物的なものなら別途クレームがあるはず
- 今回のこのルータは、帰省中の1週間使われていなかった。
- ルータからのDHCPのリース時間は、259200sec = 3日間
- 一旦繋がったら、安定して使えている。
これらのことより
- リース済みIPアドレスの再利用(リース延長/DHCP Request)は正しく動いている。
- 新規接続はつながるけど、すぐに切れる。DHCP Offer が失敗する?
- リース期間の情報が、サーバと端末で、ずれていることが原因ではないか?
- 上流のDHCPサーバ(192.168.200.1) の時計がずれているのではないか?
- すぐに繋がらなくなるのは、他のPCにリース済みのIPアドレスを、時計がずれることが原因で、間違って再延長許可(DHCP Request に ACK を返答)するため、他のPCとIPアドレス重複を起こして繋がらなくなる?(他の重複したIPアドレスを使っているPCがパケットを出すまでは一時的に使える)
- リース期間が切れる前にリース延長(DHCP Request)を行う端末は、安定してつながる。
2022-03-27 追記
- 朝、ネットワークを使ったら無事に使える状態であった。
- しかしながら、10分ほど安定して利用できていたが、再び繋がらない状態となる。
- 繋がらない状態になった時に、改めてルータの通信パケットを見ると、エラーパケットが0なので、ケーブルが抜けかかっているとか、コリジョンが発生しているとかの原因ではないと思われる。
- ルータの通信LOGには、WAN側接続のトラブルに関する記録なし。
rsyslogの設定
Buffalo のルータのログをサーバに保存する設定。ルータを更新した時に、syslog 設定までやってなかった。ということで、改めて設定。
出力するファシリティは、local1 なので、以下の設定を加える。
以前に、設定した時は、/etc/rsyslog.conf を触ったけど、Debian流で /etc/rsyslog.d に local1.conf ファイルにまとめる。
サーバ側の設定
(( /etc/rsyslog.d/local1.conf )) # module(load="imudp") input(type="imudp" port="514") local1.* /var/log/local1.log # (( /etc/logrotate.d/rsyslog )) /var/log/messages + /var/log/local1.log
ルータ側の設定
Buffaloのファームウェア更新情報のRSS生成
我が家のネットワークは、Buffalo 製品で統一しているけど、ファームウェアの更新は自動取得にしている。
ファームウェア更新の情報を確認したいので、Buffalo の firmware ダウンロードページを自宅の機器に厳選してクローリングし RSS 情報に変換するスクリプトを書いてみた。
WEX733DのMACアドレスが変化
メッシュネットワークも一通り設定が終わり、安定して使えるように…と思ったら、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 }