DNSサーバのインストールと設定

1. DNSサーバのインストールと設定

1-1・bind パッケージ(DNSサーバ)をインストールする

# yum -y install bind

1-2・インストールした bind を確認する

# rpm -qa | grep '^bind'        (確認)
bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64
bind-9.8.2-0.17.rc1.el6_4.6.x86_64
bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64

2. リゾルバの設定

2-1・リゾルバの設定

リゾルバとは、ドメイン名を元にIPアドレスの情報を検索したり、IPアドレス からドメイン名の情報を検索する
(参照:http://www.atmarkit.co.jp/fnetwork/dnstips/010.html

vim /etc/resolv.conf の設定例

domain host.testdomain.com     (自身のサーバのローカルドメイン名の設定を行います。)
nameserver 127.0.0.1           (自身のネームサーバーに問い合わせを行います。 )

3. DNSサーバ基本設定

3-1・DNSサーバの設定

/etc/named.conf を以下のように修正する

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        //listen-on port 53 { 127.0.0.1; };      1.(コメントアウトする)
        //listen-on-v6 port 53 { ::1; };     2.(コメントアウトする)
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };      3.(localhost ⇒ any に変更する)
        
        allow-recursion { any; };      4.(この行を追加する。外部ゾーンのとき他サーバへの問い合わせを許可する)       
 
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

include "/etc/named.other.zones";     5.(この行を最後行に追加する。ゾーン定義ファイルを読み込む)

3-2・ゾーン定義ファイルの作成
(ここではDNSサーバを起動する為にファイル作成のみで、設定は後述します。)

以下のコマンドを実行し、/etc/named.other.zones を作成する。さらに、所有ユーザ・所有グループのパーミッションを変更する

# touch /etc/named.other.zones             (作成)
# chown root:named /etc/named.other.zones  (所有ユーザと所有グループの変更)
# chmod 640 /etc/named.other.zones         (パーミッションの変更)
# ls -l /etc/named.other.zones             (確認)
-rw-r----- 1 root named 0 Sep  8 00:30 /etc/named.other.zones

3-3・DNSサーバの起動

以下コマンドでDNSサーバを起動する

# /etc/rc.d/init.d/named start
Generating /etc/rndc.key:     (3分ほど待つとOKと表示される)   [  OK  ]
Starting named:                                            [  OK  ]

以下、起動、終了、再起動のコマンド一覧

# /etc/rc.d/init.d/named start        (起動)
# /etc/rc.d/init.d/named stop        (終了)
# /etc/rc.d/init.d/named restart        (再起動)
# /etc/rc.d/init.d/named status        (現在の状態を確認)

3-4・DNSサーバの動作確認

■ 外部ゾーンの名前解決ができるかどうかを確認する。
(localの内部ゾーンは、この後設定する)

※ 内部ゾーンの設定は/etc/named.other.zones の中身を設定することにより、自身のDNSサーバで名前解決ができるようになる。
内部ゾーンで名前解決ができなければ、外部ゾーンに問い合わせを行い、名前解決をする。

# netstat -an | grep :53
tcp        0      0 133.242.184.145:53          0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN
udp        0      0 133.242.184.145:53          0.0.0.0:*
udp        0      0 127.0.0.1:53                0.0.0.0:*

■ 外部ゾーンの名前解決ができることを確認する

# nslookup www.google.co.jp
Server:         127.0.0.1
Address:        127.0.0.1#53        (自身のネームサーバに問い合わせ)

Non-authoritative answer:          (外部DNSへ問い合わせし名前解決)
Name:   www.google.co.jp
Address: 173.194.72.94

3-5・DNSサーバに関するログファイル
/var/log/messages

4. 正引きゾーンファイルの設定

3-1・正引きゾーンの定義

/etc/named.other.zones を以下のように記述にする。
※ ドメイン名が「testdomain.com」の場合、正引きゾーンファイル名を「testdomain.com.zone」とする。

/etc/named.other.zones 設定例

//seibiki
zone "testdomain.com" IN {
    type master;
    file "testdomain.com.zone";
    allow-update { none; };
};

3-2・正引きゾーンファイルの作成

/var/named/testdomain.com.zone を作成し、以下のように記述する。
※ 最初にスペースを空けないで記述すること。
※ ドット(.)が終わりにあるので記述忘れしないこと。
※ このファイルを修正した場合、serial番号を1つ上げること。

$TTL 1D
@     IN  SOA host.testdomain.com. root.host.testdomain.com. (
                                 2013090800   ; serial
                                         1D   ; refresh
                                         1H   ; retry
                                         1W   ; expire
                                         3H ) ; minimum

      NS  host.testdomain.com.

host  A   133.242.184.145                    (←正引きするホストを設定する)

3-3・所有ユーザ、所有グループのパーミッションの変更

以下のコマンドを実行し、/var/named/testdomain.com.zone の所有ユーザ、所有グループのパーミッションを変更する。

# chown root:named /var/named/testdomain.com.zone
# chmod 640 /var/named/testdomain.com.zone
# ls -l /var/named/testdomain.com.zone
-rw-r----- 1 root named 438 Sep  8 02:14 /var/named/testdomain.com.zone

3-4・DNSサーバの再起動

DNSサーバを再起動する。

# /etc/rc.d/init.d/named restart
Stopping named: .                                          [  OK  ]
Starting named:                                            [  OK  ]

3-5・DNSサーバの動作確認

正引きゾーンの名前解決ができるかを確認する。

# nslookup host.testdomain.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   host.testdomain.com
Address: 133.242.184.145

以上で、正引きが正常に行われていることを確認した。

5. 逆引きゾーンファイルの設定

5-1・逆引きゾーンの定義

/etc/named.other.zones に以下のように追加する。(逆引き分を追加)
※ 逆引きゾーン名は、dnsサーバのIPが 133.242.184.145 の場合、「242.133.in-addr.arpa」となる。

//seibiki
zone "testdomain.com" IN {
    type master;
    file "testdomain.com.zone";
    allow-update { none; };
};

//gyakubiki
zone "242.133.in-addr.arpa" IN {
    type master;
    file "242.133.in-addr.arpa.zone";
    allow-update { none; };
};

5-2・逆引きゾーンファイルの作成

/var/named/242.133.in-addr.arpa.zone を作成し、以下のように設定する。
※ 逆引きゾーンファイル名は、逆引きゾーン名が「242.133.in-addr.arpa」のとき、「242.133.in-addr.arpa.zone」とする

/var/named/242.133.in-addr.arpa.zone 設定例 ※.忘れをしないように注意

$TTL 1D
@        IN SOA host.testdomain.com. root.host.testdomain.com. (
                                   2013090800    ; serial
                                           1D    ; refresh
                                           1H    ; retry
                                           1W    ; expire
                                           3H )  ; minimum

         NS     host.testdomain.com.

145.184  PTR    host.testdomain.com.         (←逆引きするホストを設定。IPアドレスの第4オクテット、第3億テットの順で記述する)

5-3・所有ユーザ、所有グループのパーミッションの変更

以下のコマンドを実行し、/var/named/testdomain.com.zone の所有ユーザ、所有グループのパーミッションを変更する。

# chown root:named /var/named/242.133.in-addr.arpa.zone
# chmod 640 /var/named/242.133.in-addr.arpa.zone
# ls -l /var/named/242.133.in-addr.arpa.zone     (確認コマンド)
-rw-r----- 1 root named 440 Sep  8 02:55 /var/named/242.133.in-addr.arpa.zone

5-4・DNSサーバの再起動

DNSサーバを再起動する。

# /etc/rc.d/init.d/named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

5-5・DNSサーバの動作確認

逆引きゾーンの名前解決ができるかを確認する。

# nslookup 133.242.184.145
Server:         127.0.0.1
Address:        127.0.0.1#53

145.184.242.133.in-addr.arpa    name = host.testdomain.com.

以上で、逆引きが正常に行われていることを確認した。

5-6・サービスの自動起動をONにする(マシンの再起動時、サービスを有効にする)

chkconfigコマンドで自動起動するように設定する。

# chkconfig named on

コメントを残す

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