Show HN: Nomina – ホームラボ向けシングルバイナリDNS&ネームサーバー(WebUI搭載)
Rustで開発されたNominaは、PowerDNSやBind、PiHoleに代わるオールインワンのDNS/ネームサーバーです。スプリットホライズンDNS、DynDNS、ブロックリスト統合、DHCPサーバー(IPv4/IPv6)、AXFR/IXFR対応、レコード書き換え機能を備え、WebUIから簡単に管理できます。PiHoleのAdBlocking機能もカバーしており、ホームラボのDNS環境を単一バイナリで完結させます。
背景メモ
Nomina は Rust で書かれた DNS サーバー&ネームサーバーの新規オープンソースプロジェクト。作者が「PowerDNS・Bind・PiHole をいちいちセットアップするのが面倒」と述べている通り、これら従来ツール群の機能を1つのバイナリに統合し、Web UI で操作できるようにしたホームラボ向け製品。
- **PiHole**:広告ブロック機能を持つ DNS サーバー。DNS レベルで広告ドメインを無効化する。ホームラボで最も普及しているツールの一つ。
- **PowerDNS / Bind**:本格的な DNS サーバー。PowerDNS は各種バックエンド(SQLなど)と連携しやすいモダンな実装、Bind はインターネットの基盤として長年使われてきた伝統的な実装。どちらも設定が複雑で知られる。
- **Split Horizon DNS**:同じドメイン名に対し、問い合わせ元のネットワークに応じて異なるIPアドレスを返す技術。社内ネットワークからは内部IP、外部からは公開IPを返すなどに使う。
- **DynDNS**:変動する自宅のグローバルIPを自動的にDNSレコードに反映する仕組み。
- **AXFR/IXFR**:DNS ゾーン転送のプロトコル。冗長化や権威サーバー間の同期に使う。
- **DHCP4+6**:IPv4 と IPv6 両方のIPアドレス自動割り当て機能。通常は別途 DHCP サーバー(例:isc-dhcp-server)が必要。
ホームラボ界隈では「全部入りで設定が楽」なツールが常に求められており、Nomina はその需要に Rust 製・単一バイナリというモダンな形で応える試み。