うちではリモートドアスコープとしてタブレットPCにLinuxを入れて運用してます。LAN内のルーターのDHCPでIPアドレスを取得してるんですが、最近頻繁にIPアドレスが変わるようになりました。
しばらく前まではPCやルーターをリブートしてもずっと同じアドレスだったのに、ここ数日はものの数時間で変わってしまう。
何が不都合かというとドアスコープはブラウザで「http://IPアドレス:8081」でアクセスするから。
IPアドレスが変わるたびに調べてアクセスし直す必要があるわけで、インターホンが押されてアクセスしようとしたらIPアドレスが変わってすぐ見れなかったら意味がない。
原因はちょっと調べたくらいじゃわからなかったので、ルーターで固定IPアドレスを割り当てようと思ったが設定項目がない。たしか以前は「静的NAT設定」というのがあって設定した気がするのだが。
ひょっとしたらルーターのファームウェアの更新でいろいろ変わったのかと思ったが今年の5月のファームウェアで最近の話ではない様子(ルーターでの更新日時は不明だけど)。
他方、このPCは無線LANで11aと11gが使えるはずなんだけど、最近なぜか11aに繋がらなくなったということもあり、ひょっとしたらLinuxを再インストールしたらいろいろチャラにななるんじゃ…とも考えたがめんどくさい。
ドアスコープで録画したファイルをSambaで共有してMacのFinderでホスト名でアクセスして見るようにしており、こちらは当然IPアドレスが変わってもそのままアクセス可能。ブラウザでもホスト名でアクセスできればいいのに…と思ってたらありました。
ヒントはLinuxのsyslogにIPアドレスがかわるたびに、
という行があったこと。
「このIPアドレスでmDNSに参加しますよ」という意味かなと。ポイントはmDNS(マルチキャストDNS)。DNSといえばホストからIPアドレスを引く仕組み。このmDNSが使えればホスト名でブラウザアクセスできるんではないかと。
で、調べたらなんのことはなくてブラウザから「http://ホスト名.local;8081」でアクセスすればOK。ホスト名に「.local」を付けるだけ。
もちろんブラウザだけじゃなくて、コマンドラインからのsshとかでも使える
mDNSというのはどこかにサーバがあるわけじゃなくて、「LAN内にこのホスト名の人いませんかー」と問いかける(マルチキャスト)とそのホスト名の機器が「私でーす。IPアドレスはこれでーす」と答えてくれるような仕組みで、Linuxの場合はavahi-daemon(Sambaを入れたときに一緒に入ったみたい)でやってるらしい。
ひょっとしたらmDNSなんて常識だったりして。
何はともあれ無事解決したので、めでたしめでたし。