内部 DNS サーバーの設定



##############################################################################
●内部 DNS サーバーの設定

    ローカルネットワーク内からこのサーバーにFQDNでアクセスするために必要

1) bind-9 がインストールされていることを確認

[root@localhost ~]# rpm -qa | grep bind
PackageKit-device-rebind-0.5.8-21.el6.i686
ypbind-1.20.4-30.el6.i686
samba-winbind-clients-3.6.9-151.el6.i686
rpcbind-0.2.0-11.el6.i686
bind-9.8.2-0.17.rc1.el6_4.5.i686        <--- インストール済み
bind-libs-9.8.2-0.17.rc1.el6_4.5.i686
bind-utils-9.8.2-0.17.rc1.el6_4.5.i686
samba-winbind-3.6.9-151.el6.i686


2) /etc/named.conf の編集

options {
    //listen-on port 53 { 127.0.0.1; };     <--コメントアウト
    //listen-on-v6 port 53 { ::1; };        <--コメントアウト
    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";
    recursion yes;

    dnssec-enable       no;     <-- validating のエラーメッセージが
    dnssec-validation   no;     <-- 大量に出るためDNSSECを無効にする

    version         "my DNS server 1.00";   <-- ダミー表示用のバージョン

    //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";  <--コメントアウト

    empty-zones-enable no;

    allow-query {
        127.0.0.1;
        192.168.1.0/24;
    };
    allow-recursion {
        127.0.0.1;
        192.168.1.0/24;
    };
    allow-transfer {
        127.0.0.1;
        192.168.1.0/24;
    };

    //forward first;
    forwarders {
            192.168.1.1;
    };
};

//
// a caching only nameserver config
//

logging {
    channel default_debug {
        file "data/named.run";
        severity dynamic;
    };
    category lame-servers { null; };    <---追加
};

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

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

// ゾーン指定(以下)を追加
// 正引きゾーン(gusuku.org)の指定
zone "gusuku.org" IN {
        type master;
        file "gusuku.zone";
        allow-update { none; };
};

// 逆引きゾーン(gusuku.rev)の指定
zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "gusuku.rev";
        allow-update { none; };
};


3) ゾーンファイルの作成
 /var/named の下に以下のファイルを作成
    gusuku.zone     //gusuku.org の正引き用ゾーンファイル

【 gusuku.zone の内容 】

[root@localhost ~]# cat /var/named/gusuku.zone

---ここから---------------------------------------------------------------------
$TTL 86400
@       IN      SOA     www.gusuku.org. root.www.gusuku.org. (
                        2013081001      ; serial
                        21600           ; refresh (6 hours)
                        3600            ; retry (1 hour)
                        604800          ; expire (1 week)
                        86400           ; minimum (1 day)
                        )
        IN      NS              www.gusuku.org.
        IN      MX 0    www.gusuku.org.

www     IN      A       192.168.1.2
host1   IN      A       192.168.1.3
host2   IN      A       192.168.1.4
  :
  :
 省略
  :
  :

mail            IN      CNAME   www

---ここまで---------------------------------------------------------------------

【 gusuku.rev の内容 】

[root@localhost ~]# cat /var/named/gusuku.rev

---ここから---------------------------------------------------------------------
$TTL 86400      ; 1 day
@       IN      SOA     www.gusuku.org. root.www.gusuku.org. (
                        2013081001      ; serial
                        21600           ; refresh (6 hours)
                        3600            ; retry (1 hour)
                        604800          ; expire (1 week)
                        86400           ; minimum (1 day)
                        )
        IN      NS      www.gusuku.org.
2       IN      PTR     www
3       IN      PTR     host1
4       IN      PTR     host2
    :
    :
  省略
    :
    :


---ここまで---------------------------------------------------------------------

4) 設定ファイルとゾーンファイルのチェック

[root@localhost ~]# named-checkconf     <--- named.conf のチェック
[root@localhost ~]#                     <--- 何も表示されなければOK
[root@localhost ~]# cd /var/named       <--- 以下はゾーンファイルののチェック
[root@localhost named]# named-checkzone gusuku.org gusuku.zone
zone gusuku.org/IN: loaded serial 2013081001
OK
[root@localhost named]# named-checkzone 0.168.192.in-addr.arpa gusuku.rev
zone 0.168.192.in-addr.arpa/IN: loaded serial 2013081001
OK


5) IPv6の設定は行っていない(IPv4のみを使用する)のでIPv4のみを有効にする

[root@localhost ~]# vi /etc/sysconfig/named

OPTIONS=-4          <--- この行を追加

[root@localhost ~]# cat /etc/sysconfig/named
# BIND named process options
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
# Currently, you can use the following options:
#
# ROOTDIR="/var/named/chroot"  --  will run named in a chroot environment.
#                            you must set up the chroot environment
#                            (install the bind-chroot package) before
#                            doing this.
#       NOTE:
#         Those directories are automatically mounted to chroot if they are
#         empty in the ROOTDIR directory. It will simplify maintenance of your
#         chroot environment.
#          - /var/named
#          - /etc/pki/dnssec-keys
#          - /etc/named
#          - /usr/lib64/bind or /usr/lib/bind (architecture dependent)
#
#         Those files are mounted as well if target file doesn't exist in
#         chroot.
#          - /etc/named.conf
#          - /etc/rndc.conf
#          - /etc/rndc.key
#          - /etc/named.rfc1912.zones
#          - /etc/named.dnssec.keys
#          - /etc/named.iscdlv.key
#
#       Don't forget to add "$AddUnixListenSocket /var/named/chroot/dev/log"
#       line to your /etc/rsyslog.conf file. Otherwise your logging becomes
#       broken when rsyslogd daemon is restarted (due update, for example).
#
# OPTIONS="whatever"     --  These additional options will be passed to named
#                            at startup. Don't add -t here, use ROOTDIR instead.
#
# KEYTAB_FILE="/dir/file"    --  Specify named service keytab file (for GSS-TSIG)
#
# DISABLE_ZONE_CHECKING  -- By default, initscript calls named-checkzone
#                           utility for every zone to ensure all zones are
#                           valid before named starts. If you set this option
#                           to 'yes' then initscript doesn't perform those
#                           checks.
OPTIONS=-4


6) ゾーンファイルの所有者を named に変更する

[root@localhost ~]# chown named:named /var/named/gusuku.*


7) BOOT 時にDNSサーバーデーモンを起動するように設定

chkconfig named on



戻る