(CentOS7,bind)自宅内DNSサーバを構築

何をするか

内部DNSサーバ(コンテンツ 兼 キャッシュ)を構築してクライアントから自宅内ホストの名前解決を行えるようにする。インターネット側の名前解決はGoogleのパブリックDNSサーバを公開DNSとして使用する。
自宅NWで使用するドメインは「xxxx.myhouse.local」
↓ざっくり構成図

自宅DNSサーバをたてる理由

・自宅内のコンテンツサーバとして
自宅内ホストの名前解決が出来る ←これが一番の理由
・キャッシュサーバとして
インターネット側の名前解決を行う際にキャッシュサーバを経由させることで、GoogleのDNSへのアクセスの送信元をキャッシュサーバのみに制限できる。
 ※ISPのDNSキャッシュサーバを使用する場合は不要?

外部向けのコンテンツサーバ(インターネット上で使用できるドメイン)も自宅で運用する場合は、オープンリゾルバ状態になるのを防ぐためにキャッシュサーバとは別のホストで運用する必要があります。
セキュリティ観点で言えば内部キャッシュと内部コンテンツも別々のホストで運用するべきかもしれませんが、自宅内のDNSでそこまでする必要がないと思うのでやりません。

手順

bindをインストール

ネームサーバの設定ファイルを編集

bindの設定ファイルを編集

ルートネームサーバについては別の記事で記載したので詳しくはそれを参照。

ローカルの設定ファイルを編集

ゾーンファイル(正引き)を編集
■簡単な項目説明
SOA:管理情報
NS:ゾーンを管理するDNSサーバを指定
MX:メールサーバを指定、正引きのみ
A:ホストに対応するIPv4アドレス
CNAME:ホスト名の別名に対応するホスト名、正引きのみ
PTR:IPアドレに対応するホスト名、逆引きのみ

ゾーンファイル(逆引き)を編集

起動、自動起動設定

起動、自動起動設定

クライアント(Windows)動作確認

コマンドプロンプトから「nslookup」を使用してインターネット側と自宅NW側の両方の名前解決が出来ることを確認します。

インターネット側の確認(正引き)

自宅NW側の確認(正引き、逆引き)

感想

やり終わってなんですが、自宅内コンテンツサーバとしては確かに使えます。ただ、自宅内キャッシュはISPが運営するサーバ、公開ドメインを運用する場合はドメインの事業者が運用するサーバが使えるので、あえて自分で用意する必要な無い気がしました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です