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

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接続するのに面倒、別名を付けるには...、ラズパイのホスト名を変更するのが早いか...などとやってみた過程でハマり、この記事を書くに至った次第。

関連リンク

ウェブ造ホーム前へ次へ