raspberry pi と avahi のホスト名

今更ながら zeroconf 別名 avahi のことを知った。ApplebonjourLinux版の実装らしい。

RaspberryPi に ssh するとき、固定IPにする方法しか今まで知らなかった。WiFiルータの DHCP に任せて IP をもらうと、 ssh するときに IPアドレスが変わって面倒。

固定IPで構わないのだが、その場合はルータのDHCPの設定を変更しておかないとまずい。DHCPのプールしているIPとは別に、固定IPを割り振っておく必要がある。

 

折角知ったので avahi を使ってみた。今どきの raspbian ではデフォルトで avahi-daemon が起動していた。raspberry pi のホスト名をLAN内でユニークな名前につけなおし、reboot。VirtualBox上の Ubuntuから avahi を使って ssh しようとしたところ、なぜかつながらなかった。調べてみたところ、原因が分かった。

ホスト名にアンダーラインを含めると、無視されるらしい。

ユニークで分かりやすいように長い名前にし、単語の区切りをアンダーラインにしていたのだが、それだと pingssh もつながらなかった。raspberrypi に直接ログインし、 hostname コマンドで名前を確認すると、問題なくアンダーラインを含んだホスト名が表示される。しかし、LAN上の別のホスト(Ubuntu)から avahi を使って名前解決をしようとする場合は、アンダーライン抜きの名前にしないとつながらない。

いやあ、びっくり。