BeagleBone BlackにmDNSを導入してIPアドレスから開放されてみた

BeagleBone Blackをディスプレイやキーボードとは繋がず他のPCからのssh接続のみで使う場合、IPアドレスは固定IPを設定して使うのが一般的かと思います。

ところがボードを家の外に持ちだしたりして普段とは違うネットワークに接続しようとすると、固定IPのままでは困ってしまいます。かといってDHCPにしたとしても、何らか割り振られたIPを確認する手段(ルータ側からMacアドレスで確認するとか、ボードにシリアル接続するとか)がないと外から接続することができません。

これではせっかくのポータブルなサーバの魅力が半減。どこへ持って行ってもLANケーブルを刺すだけで外から接続できればかなり便利です。

というわけで、これを実現すべく BeagleBone BlackにmDNSを導入してみました。

スポンサーリンク
レクタングル(大)広告

mDNSとは?

mDNS はマルチキャストDNSの略。簡単に言うと、DNSサーバがいないネットワーク環境内でも特別な設定なしにホスト間での名前解決や機器発見をできるようにするための仕組みです。
zeroconf と呼ばれるネットワーク構成の手法の一つです。

mDNS を実装したソフトウェアとしては、AppleのBonjour(ボンジュール)や Avahi が有名です。mDNSは聞き覚えがなくてもBonjourは知っているという人は多いのではないでしょうか。

これらはいずれも mDNS のプロトコルを実装しているので互換性があります。つまり、BonjourやAvahiをインストールした機器間ではネットワークに接続するだけで名前解決が可能になります。

インストール手順

それでは実際のインストール手順です。今回使用した環境は、BeagleBone Black に Ubuntu 12.04 をインストールしたものになります。

ホスト名の設定

まず、BeagleBone Blackにきちんとホスト名が設定されていなければ設定しておきます。(このホスト名で外からアクセスすることになります。)

ホスト名の設定については、以前の記事「BeagleBone BlackにUbuntu 14.04をインストール」の「ホスト名変更」辺りを参考にして下さい。

avahi-daemon のインストール

mDNS に必要な avahi-daemon というソフトウェアをインストールします。

mDNS で他のホストの名前解決(発見)をするためにはこの他に libnss-mdns というものが必要になるのですが、今回は外から BeagleBone Black へアクセスできるようにすることが目的なので avahi だけで。

bbb$ sudo apt-get install avahi-daemon

avahi-daemon の設定

インストールが完了したら、設定ファイルに必要な内容を記述します。

mDNS では各ホストが自分がどんなサービスを提供しているかを他のホストに公開する仕組みがあり、この設定ファイルにその内容を指定します。今回は ssh の接続を行うことが目的なので、ssh サービスのためのファイルを記述します。

/etc/avahi/services/ssh.service に以下の通りに記述します。

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>
  <name replace-wildcards="yes">%h</name>
  <service>
    <type>_ssh._tcp</type>
    <port>22</port>
  </service>
</service-group>

その後、avahi-daemon を再起動したら完了です。

$ sudo /etc/init.d/avahi-daemon restart

動作確認

正しく動作していれば、他のホストから “<ホスト名>.local” という名前でアクセスできるようになっているはずです。他のホストから上記の名前で ping や ssh 接続が通ればOKです。

ただし、接続する側にも mDNS のソフトがインストールされている必要があるので注意して下さい。
Windows なら iTunes もしくは Bonjour for Windows がインストールされていればOK。Mac なら標準のままでいけます。

IPアドレスから開放!

これで、IP アドレスを意識せずに PC から BeagleBone Black に接続できるようになりました。

異なる環境で、設定を弄らずに繋げられるのはとても快適ですね。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

この記事をシェア!

このブログをフォロー!