自作ネームサーバ

DNS/WINS両対応の簡易ネームサーバを自作しました。

http://www.soramimi.jp/bogons/index.html

そもそもやりたかったのは、Raspberry Piのように小さなマシンに名前を付けて管理することです。BINDの様な本格ネームサーバに登録しなくても、つないだだけで名前からIPアドレスを取得できるようにしたかったので、WINSサーバ機能も搭載しました。

ワンチップマイコン用のDNSクライアントは数年前に作ったことがあったので、単純なDNSサーバならそれほど難しくないことはわかっていました。もちろん、セキュリティを強固にするなど、安全策を講じればきりがありません。ネームサーバはインターネットの根幹にも関わる重要なサービスですから、不用意な実装はできません。今回はインターネットでの使用に耐えるようなものではなく、家庭内など狭いネットワークセグメントで使用することを想定したネームサーバとしました。

自己申告型(ブロードキャスト応答方式)のネームサーバを実現するのは、ちょっと前までは困難なことかと思っていましたが、Windowsがやっているんだからできるだろう、名前解決ごときに複雑なプロトコルを使うはずがないと思って、Wiresharkで観察してみたところ、普通のDNSとほとんど同じであることがわかりました。ポート番号の他、名前のエンコード方法に若干の違いがありますが、パケットのフォーマットの大枠は全く同じで、実装のほとんどをDNS機能と共通にすることができました。

カテゴリー: 未分類   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA(画像認証)

上の画像の最初と最後を除いた3桁の数字を入力して、送信ボタンを押してください。