気の向くままに辿るIT/ICT/IoT
ハードウェア

Raspberry Piのホスト名変更とmDNS

ホーム前へ次へ
Raspberry Piって?

Raspberry Piのホスト名変更とmDNS

Raspberry Piのホスト名変更とmDNS

2018/07/14

 Raspberry Piに他のパソコンなどからSSHやVNC接続、AvahiやBonjourといったmDNS機能を使って運用中、ラズパイのホスト名を変更する/変更した場合の話。

ホスト名の変更

 Raspberry PiのOSが、Raspbian(Linux)の場合、普通、ホスト名変更には、hostnameコマンドを使えばよさそうに思いますが、Raspberry Piのホスト名を変更するにある通り、/etc/hostsと/etc/hostnameを共に変更します。

ラズパイの運用

 この時、モニタなども備え、Raspberry Piを単独で使っている場合は、ホスト名が変わるだけで以後も普通に使えばよいですが、たぶん、他のパソコンからSSHログイン(やVNCを利用)しているケースの方が、多いでしょう。

管理が楽になるmDNS

 その場合、例えば、当該パソコンのOSが、Linuxである場合には、/etc/hostsでIPアドレスと任意の名称を紐付けることもできますが、IPアドレスがDHCPによる自動配布だと常に同一のアドレスが振られるとは限らないことを考えると頭が痛い。

 そう考えるとAvahi(WindowsやmacOSならBonjour)のようなmDNS/Multi Domain Name Systemの仕組みを持つパッケージを使ってIPを意識することなく、常に[ホスト名.local]でアクセスできる方が、圧倒的に管理が楽になります。

注意

 そこで本題ですが、ラズパイにSSH接続する側のOSにおいてmDNSを前提に利用・運用していてラズパイのホスト名を変更した場合、

も忘れてはいけません。

 前者は、ラズパイに、後者は、これにアクセスする側のOSに、ラズパイのホスト名変更を反映させるために必要となります。

 そんなことになるのは自身だけかもしれませんが、何れか一方でも忘れるとラズパイの以前のホスト名でも以後のホスト名でもアクセスできなくなり、アタフタすることになります(ちなみにそれでもnmapなどで調べるなどしたIPアドレスならアクセスできますが)。

快適な運用

 もちろん、ホスト名.localでSSH接続、VNC/Virtual Network Computing(やRemote Desktop)接続できます。

 また、rsyncセキュアバックアップ(sshオプション付き)時のコマンドライン、当然、これをスクリプト化する場合でも、サーバ側ドメインをユーザー名@ホスト.localとすることもできます。

備考

 ラズパイをサーバとして運用し始めて約2年、当時、Avahiもセットアップしたものの、なぜか、ホスト名.localでアクセスできない(何かの勘違いだっただけ)...そこで仕方なく、他パソコンでは/etc/hostsでIPと別名を紐付けていた...。

 が、後段リンクにあるように最近、ESP8266で簡単にmDNSを利用できたことから、ん?もしかして実は、ラズパイもできていたんじゃないのか?と今更ながら再確認してみると、あっさり、ホスト名.localでアクセスできた...。

 できたらできたで、ちとホスト名が長すぎてSSH接続するのに面倒、別名を付けるには...、ラズパイのホスト名を変更するのが早いか...などとやってみた過程でハマり、この記事を書くに至った次第。

ホーム前へ次へ