Raspberry PI(初代)をDNSサーバにする!

【この記事はTENTO Advent Calendar 2025 25日目です】

こんにちは、TENTO代表の竹林です。

さて、今日はクリスマスですが(一人で寂しく特にやることもないので)家のネットワークの改善をしようと思います。

名前解決したい!

私は開発もするので、家には複数のコンピューターがあります。そのうちの何台かはLinuxのサーバー機です。サーバ機にはディスプレイやキーボードが繋がっておらず、ふつうのパソコンからIPアドレスを使ってリモートアクセスして使います。
例えばこんな感じです。

ssh akira@192.168.11.2

ただ、毎回IPアドレスを打ち込むのがめんどくさいので、それぞれのPCに名前でアクセスできたらいいなあと思いました。
たとえばこんなふうに

ssh akira@minipc

やり方をAIに尋ねたところ、DNSを解決するためのサーバーを足したらいいんじゃないかというふうに回答がきました。

そこで、引き出しの奥にずっと使わずにしまってあったRaspberry PI(初代 Model B)をLinuxマシンに仕立て上げて、そこでDNSサーバを動かすことにします。これなら常時起動していてもほとんど電気を食わないし場所も取りません。

Raspberry PI起動ディスクを作成して起動

というわけで、Raspberry Piの起動ディスクの作成からやります。Raspberry PIの公式サイトからImagerというソフトをダウンロードして、SDカードにOSを書き込みます。

SDカードが作成できたら、Raspberry PIにSDカードとモニタ、キーボードをつないで起動!

起動画面は撮り逃しましたがip コマンドでこのマシンのIPアドレスを取得します。 192.168.0.47 ですね。IPアドレスさえ分かれば普段使いのPCからsshで接続して作業できます。

ClaudeにDNSサーバの作り方を聞く

事前にdnsmasqというソフトを入れればいいことだけは調査してあったので、以下のようにClaudeに依頼。

Claudeはこんなふうにすぐ回答をくれるものの、それぞれなかなかうまくいきません。

たとえば、

  • RaspberryPI機のIPアドレス固定のために dhcpcd.conf を書き換えてもIPアドレスが書き換わらない!
  • IPアドレスとマシン名の対応関係を hosts に書いても再起動時に消える!

生成AIの罠

Claudeのような生成AIは、さいきんはWeb検索をしてくれるようになったものの、どうもバージョンに弱いのです。今回の場合、Raspberry PIにつかったOSのバージョンがTrixieというものでしたが、それ以前ものと考えて検索していたようです。そのためにIPアドレス固定の方法やホスト名解決のやりかたが違ってしまっていたのでした。

人間は何年も生きているので、それぞれの年代でソフトのバージョンが変わって機能が変わるということを理解していますが、生成AIは一瞬でWeb上の情報を学習してしまうために、たぶんバージョンの変遷をそれほど重要なものとは認識してないのかもしれません。

というわけで今度はOSのバージョンをしっかり指定して、晴れてRaspberry PIでDNSサーバが動くようになりました!

ほら、なんとなく。。。

Raspberry PIをLinuxサーバの上に置いてみました。ほら、光の感じがなんとなくクリスマスっぽく・・・

投稿者プロフィール

株式会社TENTO

プログラミングスクールのパイオニア・プログラミング教育14年のTENTO