なんとなく自宅のネットが不安定で、Apple TV が見えなくなったりと、トラブっておりますが、おおよその原因が見えてきました。
それは bonjour というアップルのネットワークの管理(という言い方がわかり易いかな?)が原因の様です。
今時のネットワークは LAN に繋いだだけで、隣のコンピュータが見えたりする様になっています。
それは IP アドレスなどではなく、その機器の名前で表示されます。
Apple と Windows ではやり方が違いますが、Linux は Apple と互換性のある、と言うより名称こそ違いますが Apple の仕様を採用しています。
で、この Apple のゼロコンフィギュレーション(何にもしなくても使えるってくらいの意味と思っていただけば良いでしょう)に色々変なところが見えてきました。
自宅では Apple の Wi-Fi の親機である Time Capsule というルーターを使用しています。
で、こいつが各機器に IP アドレスを自動的に割り振ってくれているのですが、その情報がまずおかしい。
例えば 自分自身は本来「Air-Mac-Time-Capsule」のはずなのに、表示されなかったり、ひどいと別の機器の名前が表示(IPアドレスは Air Mac のアドレス)だったりします。
で、本来であれば Wi-Fi で接続されている機器の名称が表示されるはずのところに、IP アドレスだったり、MACアドレスだったりで表示されます。
名称で表示されている機器はそこにカーソルを合わせると、機器名と IP アドレスに MACアドレスがちゃんと表示されますが、IP アドレスで表示されているものは IP アドレスとMACアドレスのみ。
ひどいのは MAC アドレスしか表示されていないもの。機器名どころか IP アドレスさえ分かりません。
で、この表示が日によって変化する事。
「iPhone7」と表示される日もあれば、「192.168.0.7」みたいに IP アドレスで表示される日、はたまた 12:34:56:78:9A:BC みたいにMACアドレスでしか表示されない日。
さらには、DHCP(IPアドレスの貸し出しの仕組み)の期限切れで別の IP アドレスを割り振ったタイミングなのか、表示されている機器名と IP アドレスが一致しない時まで見つかりました。
これがひどくて例えば、Aのサーバーに 192.168.0.10 という IP が振られていると表示されている時に、 A.local という機器名で SSh でログインします。
でログインして IP アドレスを確認するとなんと 192.16.0.11 という形で IP アドレスが違っています。
じゃあ、192.168.0.10 ってどの機器なの? って事で、今度は 192.168.0.10 でログインしてみるとこれが A の機器。
もちろん IP を確認すると 192.168.0.11 となっています。
iMac からアクセスしているので、 iMac の管理テーブルには A.local は 192.168.0.11 だって書かれていて、その 192.168.0.10 のMACアドレスも正しく書かれており、同時に 192.168.0.10 のMACアドレスも A の機器のMACアドレスが正しく書かれているのでしょう。
これじゃぁネットワークが混乱しますわな。
って事で、一応 Homebridge のサーバー二台と Apple TV、念のために iPhone7 の合計四台は IP アドレスを固定にして見ました。
そして Apple TV と iPhone には hosts ファイルがいじれないので、サーバー二台と iMac の hosts ファイルには固定にした四台の機器の IP アドレスを書き込んでやりました。
これで Homebridge の動作が安定すれば、Apple のネットワーク管理の bonjour のバグという事になるでしょう。
少なくともこの二日は非常に安定して動いてます。
さてこの後どうなるか。
1週間安定していたことはないので、1週間以上安定していれば、犯人が決まりますね。
それは bonjour というアップルのネットワークの管理(という言い方がわかり易いかな?)が原因の様です。
今時のネットワークは LAN に繋いだだけで、隣のコンピュータが見えたりする様になっています。
それは IP アドレスなどではなく、その機器の名前で表示されます。
Apple と Windows ではやり方が違いますが、Linux は Apple と互換性のある、と言うより名称こそ違いますが Apple の仕様を採用しています。
で、この Apple のゼロコンフィギュレーション(何にもしなくても使えるってくらいの意味と思っていただけば良いでしょう)に色々変なところが見えてきました。
自宅では Apple の Wi-Fi の親機である Time Capsule というルーターを使用しています。
で、こいつが各機器に IP アドレスを自動的に割り振ってくれているのですが、その情報がまずおかしい。
例えば 自分自身は本来「Air-Mac-Time-Capsule」のはずなのに、表示されなかったり、ひどいと別の機器の名前が表示(IPアドレスは Air Mac のアドレス)だったりします。
で、本来であれば Wi-Fi で接続されている機器の名称が表示されるはずのところに、IP アドレスだったり、MACアドレスだったりで表示されます。
名称で表示されている機器はそこにカーソルを合わせると、機器名と IP アドレスに MACアドレスがちゃんと表示されますが、IP アドレスで表示されているものは IP アドレスとMACアドレスのみ。
ひどいのは MAC アドレスしか表示されていないもの。機器名どころか IP アドレスさえ分かりません。
で、この表示が日によって変化する事。
「iPhone7」と表示される日もあれば、「192.168.0.7」みたいに IP アドレスで表示される日、はたまた 12:34:56:78:9A:BC みたいにMACアドレスでしか表示されない日。
さらには、DHCP(IPアドレスの貸し出しの仕組み)の期限切れで別の IP アドレスを割り振ったタイミングなのか、表示されている機器名と IP アドレスが一致しない時まで見つかりました。
これがひどくて例えば、Aのサーバーに 192.168.0.10 という IP が振られていると表示されている時に、 A.local という機器名で SSh でログインします。
でログインして IP アドレスを確認するとなんと 192.16.0.11 という形で IP アドレスが違っています。
じゃあ、192.168.0.10 ってどの機器なの? って事で、今度は 192.168.0.10 でログインしてみるとこれが A の機器。
もちろん IP を確認すると 192.168.0.11 となっています。
iMac からアクセスしているので、 iMac の管理テーブルには A.local は 192.168.0.11 だって書かれていて、その 192.168.0.10 のMACアドレスも正しく書かれており、同時に 192.168.0.10 のMACアドレスも A の機器のMACアドレスが正しく書かれているのでしょう。
これじゃぁネットワークが混乱しますわな。
って事で、一応 Homebridge のサーバー二台と Apple TV、念のために iPhone7 の合計四台は IP アドレスを固定にして見ました。
そして Apple TV と iPhone には hosts ファイルがいじれないので、サーバー二台と iMac の hosts ファイルには固定にした四台の機器の IP アドレスを書き込んでやりました。
これで Homebridge の動作が安定すれば、Apple のネットワーク管理の bonjour のバグという事になるでしょう。
少なくともこの二日は非常に安定して動いてます。
さてこの後どうなるか。
1週間安定していたことはないので、1週間以上安定していれば、犯人が決まりますね。
コメント
コメントを投稿