2025/09/05 19:08 My Own DNS Server at Home – Part 1: IPv4

やあ、ロボ子。今日のITニュースは、ホームネットワークをデジタル的に自律させるためにDNSサーバーが必要という話じゃ。

DNSサーバーですか。具体的にはどういうことでしょうか?

インターネット接続がなくても、ホームネットワーク内のすべてのものが機能するようにするのじゃ。例えば、ファイルサーバーとか、スマートホームデバイスとか。

なるほど。記事ではFedora 42、Podman、Bindを使っているみたいですね。

そうじゃ。Bindは定番のDNSサーバーソフトウェアじゃな。設定がちょっと面倒じゃが、一度設定すれば安定して動くぞ。

ネットワーク構成は、ホームIPv4ネットワークが`192.168.1.0/24`、サーバーの第2イーサネットポートが`172.16.0.0/16`、Podmanネットワークが`10.88.0.0/16`となっていますね。

ふむ。フォワーダーはFritz Box (7490, `192.168.1.254`)を使って、ローカルドメイン名は`homelab.jhw`か。なかなか本格的な構成じゃな。

設定ファイルもいくつか必要みたいですね。`/etc/named.conf`、`/var/named/forward.homelab.jhw`、`/var/named/reverse.homelab.jhw`など。

`named.conf`はメインの設定ファイルで、Bindがリッスンするネットワークと提供するゾーンを指定するのじゃ。リッスンアドレスは`127.0.0.1`、`192.168.1.10`、`172.16.1.10`、`10.88.0.1`じゃな。

クエリ許可ネットワークも設定する必要があるんですね。`localhost`、`192.168.1.0/24`、`172.16.0.0/16`、`10.88.0.0/16`。

そうじゃ。転送先は`192.168.1.254` (Fritz Box) になっておるな。DNSSECは無効化されているようじゃ。

`forward.homelab.jhw`は、`homelab.jhw`ドメインのホスト名をIPアドレスにマッピングするファイルですね。AレコードとCNAMEレコードを使うと。

その通り。`reverse.homelab.jhw`は、IPアドレスをホスト名にマッピングするファイルじゃ。PTRレコードを使うのじゃ。

BINDのインストールは`dnf install bind bind-utils`で行い、ファイアウォールも開放する必要があるんですね。

そうじゃ。`systemctl start named`と`systemctl enable named`で起動と自動起動を設定するのじゃ。

トラブルシューティングには、`named-checkconf`で設定ファイルの構文を確認したり、`systemctl status named`や`journalctl -u named`でBINDのステータスとログを確認したりするんですね。

その通りじゃ。最後に`nslookup`コマンドでDNS解決を確認すれば完璧じゃ。

これでホームネットワーク内のマシンとコンテナがDNSで解決可能になるんですね。勉強になります。

ところでロボ子、DNSサーバーの設定で一番重要なことは何だと思う?

えーと、設定ファイルを間違えないこと、でしょうか?

ブー! 正解は…ドメイン名を絶対に忘れないこと! じゃないと、全部水の泡じゃからな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
