【BIND】(自宅用)DNSサーバをCentOS8で構築する方法・手順を公開

今回は、自宅でローカルのDNSサーバを構築した(正引きのみ)ので備忘録も兼ねて共有します。

ドメイン名の部分を置き換えるだけで動くようになっているので、とりあえず構築をしてから細かな設定をいじっていただければと思います。

この記事ではCentOS8を用いてサーバ構築を行っており、もしCentOS8のインストール方法や初期設定が知りたい方は下の記事もご覧ください!!

【丸写しでOK】VirtualBoxにCentOS8をインストールする
皆さんこんにちは、ミケマイクです。 本日は、VirtualBoxにCentOS8をいれてみた、と言うテーマで備忘録的な感じで書きますのでこれからCentOS8で遊んでみたいと言う方は参考にしていただければと思います。 ちなみに、Ubun...
【コピペでできる】CentOS8の初期設定はコレでOK!
皆さんこんにちは、ミケマイクです。 本日は、前回の記事、CentOS8をVirtualBoxにインストールした続編でCentOS8の初期設定を行なって行きます。VirtualBoxにCentOSを入れてみたいというかたは下の記事もご覧くだ...
【CentOS8】IPv6を無効にするためのネットワーク設定
皆さんこんにちは、ミケマイクです。 本日は、CentOS8でIPv6を無効化する設定について3行でできる方法を発見しましたので発信したいと思います。 コレをコピペで完了 まずは、/etc/default/grubを修正。設定はsedコマン...

今回構築する環境

今回、私が勉強がてら構築したDNSサーバは以下のような構成になっています。(手作りなので見にくいかもです。)

 

デスクトップPC内のVirtualBox上に仮想サーバを3台立てて、DNSサーバを介してTEST用サーバからWEBサーバの名前解決ができるかを調べます。

※「DNSの有効範囲」でGWと書いているところはDNSの間違いです。。。

 

構築手順一覧

まずは、DNSサーバ構築に必要なことをリストアップしてみたいと思います。

  1. Firewallの穴あけ
  2. BINDのインストール
  3. IPv6の問い合わせ無効設定
  4. configファイル修正
  5. zoneファイル作成
  6. 構文チェック・サービスの起動設定

だいたいこんな感じです。

 

事前設定として、DNSサーバ・Webサーバ・TestサーバのIP、ホスト名は設定しておいてください。

1.Firewallの穴あけ

まずは、DNSサーバのファイアーフォールに穴を空けます。ファイアーフォールを元々無効にしている方は必要ありません。

firewall-cmdはオプションの“permanent” を付けないと恒久的な設定にならない(再起動などで戻ってしまう)のでを気をつけ下さい。

 

設定を変更した後は設定の再読み込みも忘れずに!

2.BINDのインストール

次にBIND(DNSサーバにするために必要なアプリケーション)をインストールします。

 

最終的にnslookupで名前解決ができる確認したいので”bind-utils”もインストールしておきました。

3.IPv6問い合わせ無効設定

IPv6での問い合わせを無効化することで名前解決速度が向上するようなので無効化しておきます。

 

4.configファイルの編集(/etc/named.conf)

zoneファイルの前に、まずは/etc/named.confを編集します。

とりあえずバックアップをとりましょう。

 

コマンド”# vi /etc/named.conf”でファイルを下記のように修正してください。※横にコメントを書いてある部分のみ変更しています!が、コメントごと貼り付けると動かなかったりするのでコメントはファイルに書き込まない方が良いです。

コレでnamed.confの設定は完了です。

変更点を確認したい場合はdiffでバックアップファイルと見比べてください。

5.zoneファイル作成(/var/named/testdomain.local.zone)

設定ファイルを修正できたので、次はzoneファイルを作成します。

 

今回、私はtestdomain.localというドメインを作成するので、ファイル名はtestdomain.local.zoneにします。それから、ファイルの権限・所属グループの変更も必要です。

 

次にファイルに必要事項を追記して行きますが、この中身も使用するIP・ホスト名に合わせて設定を変えてください。

今回私は以下のように設定します。

  • DNSサーバ
    • ホスト名:dns.testdomain.local
    • IP:192.168.3.11
  • WEBサーバ
    • ホスト名:www.testdomain.local
    • IP:192.168.3.20
  • TESTサーバ
    • ホスト名:test.testdomain.local
    • IP:192.168.3.12
  • 管理者用メールアドレス(設定していないのでダミー)
    • ホスト名:root.testdomain.local

こんな感じでzoneファイルを書いて行きます。

 

6.構文チェック・サービスの起動設定

ここまでくれば後はもう少しです。

構文チェック

まず、/etc/named.confと/var/named/****.zoneの2ファイルの構文にエラーがないか確認します。

 

named-checkconfコマンドでオプション”z”をつけることでzoneファイルもチェックしてくれます。

以下のように出力されればOK

 

サービス起動設定

サービスを再起動(元々立ち上がっていないが、念のため再起動にして一度サービスを落とす)し、自動起動設定も行っておく。

エラーが出ず、再起動が完了したら最後に名前解決ができるか確認しましょう。

もし、エラーがでて再起動できていない場合は、”systemctl status named”を入力すると何かヒントが得られるはずです。

 

DNSサーバの変更・確認

構築したDNSサーバで名前解決ができるかを確認する前に、まずは、下ネットワーク図の“DNSの有効範囲”にある3サーバ(DNS・WEB・TEST)のネットワーク設定を確認し、DNSサーバの設定を変更しましょう。

(デフォルトでは、GATEWAY/ルータがDNSサーバとして登録されているはず※自分の場合は192.168.3.1)

DNSサーバを変更する方法

下のコマンドを入力しましょう。

 

すると、↓の様に表示されるはずです。

中にも書いていますが、「DNS1=”xxx.xxx.xxx.xxx”」の部分をDNSサーバのアドレスにしてください。

コレを3台分。。。。

さらに変更した後は“# systemctl restart NetworkManager”コマンドで再起動させる必要があります。

 

確認する際は

“# cat /etc/resolv.conf”を叩いて、DNSサーバのIPアドレスになっているかを確認しましょう。

 

コレでやっと名前解決を確認する準備が整いました。

名前解決の確認

では、名前解決ができるかを確認します。

まず、TEST用サーバ/test.testdomain.localにbind-utilsをインストールしていることを確認し(“# dnf -y install bind-utils”)、nslookupコマンドでWEBサーバ/www.testdomain.local確認します。

 

“# nslookup www.testdomain.local”

上のように、Address欄にWEBサーバのIPアドレスが表示できましたので、名前解決ができることが確認できました。

 

というわけで今回は、CentOS8でDNSサーバを構築する手順をお知らせしました!

ここで悩んでいる、や、その他わからないことはコメントにてお願いします。

では〜〜〜〜

LinuxPC
スポンサーリンク
mikemikeblog

コメント

  1. […] 【BIND】(自宅用)DNSサーバをCentOS8で構築する方法・手順を公開 […]