Webサーバーに繋がらない!

DNS(bind)で正しくドメインを割り当てることが出来ない。

問題文

概要

DNSをローカル環境に設置し名前解決をしようとしたが、bindは起動しましたが、名前解決をすることが出来ません。bindを起動させ名前解決を行うことが出来るような状態にしてください。

前提条件

  • zoneファイル内のIPアドレスを変更して対応してはいけない。
  • 新しくzone fileを作ってはいけない。

初期状態

  • digコマンドで「www.example.com」「ns.example.com」が名前解決できない。

終了状態

  • digコマンドで「www.example.com」「ns.example.com」が名前解決できる。
  • systemctlコマンドでbindが正常に起動でき、systemctlコマンドのstatusオプションを用いて正常に起動していることを確認できる。
  • システム再起動時にbindが自動的に立ち上がる。

解説

トラブルの原因

ドメイン名の正規の書き方が www.test.example.com. のようにルート「.」から始まります。zonefileの仕様上FQDNの末尾の「.」を付けないとviewで定義したFQDNが末尾に付け足されるのでFQDNが ns.example.com.example.com になる現象が発生します。
また www.example.com を解決するはずがzoneファイル内に書かれているドメイン名が web.example.com となっていました。そのためこれを www.example.com に修正する必要がありました。

修正案

下記のようにファイルを修正すればよいです。

        IN  NS  ns.example.com.
        IN  A 192.168.0.1
ns      IN  A   192.168.0.1
www     IN  A   192.168.0.2

または

        IN  NS  ns
        IN  A 192.168.0.1
ns      IN  A   192.168.0.1
www     IN  A   192.168.0.2

採点基準

  • zonefikeが下記のようにかきかえられているか(内訳) 70%
    • zoneファイルの不備を見つける、そして www.example.com を解決できる 30%+20%
    • 原因の説明にexample.com.example.comに関する記述または、「.」を付けない/付ける説明がある 20%
  • systemctl statusコマンド、systemctl is-enabledコマンドで起動しているか、自動起動が行われる状態になっているか。 30%