raspberry pi と avahi のホスト名
今更ながら zeroconf 別名 avahi のことを知った。Apple の bonjour の Linux版の実装らしい。
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 しようとしたところ、なぜかつながらなかった。調べてみたところ、原因が分かった。
ホスト名にアンダーラインを含めると、無視されるらしい。
ユニークで分かりやすいように長い名前にし、単語の区切りをアンダーラインにしていたのだが、それだと ping も ssh もつながらなかった。raspberrypi に直接ログインし、 hostname コマンドで名前を確認すると、問題なくアンダーラインを含んだホスト名が表示される。しかし、LAN上の別のホスト(Ubuntu)から avahi を使って名前解決をしようとする場合は、アンダーライン抜きの名前にしないとつながらない。
いやあ、びっくり。