内部 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
戻る