DNS サーバーの設定
##############################################################################
●DNS サーバーの設定
固定IPが割り当てられていて、ドメインのDNSサーバー立てる場合の設定です。
固定IPが1個の場合はプロバイダのDNSに登録してもらうか、VALUE-DOMAINのような
ドメインを管理できるサーバーに登録(移管)すると良いでしょう。
この説明は以下の条件の場合の設定です
ドメイン名 : henoheno.com
割り当てIPアドレス数 : 8個
ネットワークアドレス : 111.222.123.232
ネットマスク : 255.255.255.248
ルーターアドレス : 111.222.123.233
DNSサーバー名 : dns
DNSサーバーアドレス : 111.222.123.234
セカンダリDNSサーバー: dns-sub.dokokano.net (大抵はプロバイダが用意している)
セカンダリDNSアドレス: 123.223.233.123
メールサーバー名 : server1
メールサーバーアドレス: 111.222.123.235
その他のサーバー : server2
サーバーアドレス : 111.222.123.236
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";
//allow-query { localhost; };
//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"; <--コメントアウト
allow-transfer { <---追加
111.222.123.232/29; <---追加
123.223.233.123/32; <---追加(スレーブDNSサーバー)
}; <---追加
};
//
// 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";
// ゾーン指定(以下)を追加
// 正引きのゾーンファイル
zone "henoheno.com" IN {
type master;
file "henoheno.zone";
allow-update { localhost; };
};
// 逆引きのゾーンファイル
zone "232.123.222.111.in-addr.arpa" IN {
type master;
file "henoheno.rev";
allow-update { localhost; };
};
3) ゾーンファイルの作成
/var/named の下に以下のファイルを作成
henoheno.zone //henoheno.com の正引き用ゾーンファイル
henoheno.zone の内容
[root@localhost ~]# cat /var/named/henoheno.zone
---ここから---------------------------------------------------------------------
$TTL 86400 ; 24 hour
@ IN SOA dns.henoheno.com. root.dns.henoheno.com. (
2013101701 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 24 hour
; Name Servers
IN NS dns.henoheno.com.
IN NS dns-sub.dokokano.net.
; Hosts
dns IN A 111.222.123.234
server1 IN A 111.222.123.235
server2 IN A 111.222.123.236
www IN CNAME dns
mail IN CNAME server1
@ IN MX 0 server1 //メールとDNSサーバーが同じなら server1 は dns となる
; end of file
---ここまで---------------------------------------------------------------------
henoheno.rev の内容
[root@localhost ~]# cat /var/named/henoheno.rev
---ここから---------------------------------------------------------------------
$TTL 86400
@ IN SOA dns.henoheno.com. root.dns.henoheno.com. (
2013101701 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 24 hour
; Name Servers
IN NS dns.henoheno.com.
IN NS dns-sub.dokokano.net.
; Hosts
234 IN PTR dns.henoheno.com.
235 IN PTR server1.henoheno.com.
236 IN PTR server2.henoheno.com.
; end of file
---ここまで---------------------------------------------------------------------
4) 設定ファイルとゾーンファイルのチェック
[root@dns ~]# named-checkconf <--- named.conf のチェック
[root@dns ~]# <--- 何も表示されなければOK
[root@dns ~]# cd /var/named <--- 以下はゾーンファイルののチェック
[root@dns named]# named-checkzone henoheno.com henoheno.zone
zone henoheno.com/IN: loaded serial 2013101701
OK
[root@dns1 named]# named-checkzone 232.123.222.111.in-addr.arpa henoheno.rev
zone 232.123.222.111.in-addr.arpa/IN: loaded serial 2013101701
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/henoheno.zone
[root@localhost ~]# chown named:named /var/named/henoheno.rev
7) BOOT 時にDNSサーバーデーモンを起動するように設定
chkconfig named on
戻る