DNS サーバーを構築する
DNS サーバーパッケージをインストールする
DNS サーバーパッケージ (bind) は、yum コマンドを使用してインストールしますので、パッケージ管理の設定が完了していることを確認して下さい。
[ Fedora 8 / Fedora 7 ]
[root@web ~]# yum install bind
また、キャッシングサーバーを構築するために caching-nameserver パッケージ、bind パッケージをより安全な DNS サーバーとして構築するために bind-chroot パッケージもインストールしておきます。
[ Fedora 8 / Fedora 7 ]
[root@web ~]# yum install caching-nameserver
[root@web ~]# yum install bind-chroot
* Fedora 8 では、caching-nameserver パッケージはリポジトリに登録されていないようです。
DNS サーバーの初期設定について
DNS サーバーの機能に関するオプション設定は、/etc/named.conf ファイルを編集します。 しかし、bind パッケージをインストールした段階では、named.conf ファイルが存在しないため、サンプルを使用してオプション設定を行います。
[ 参考ファイル : /etc/named.caching-nameserver.conf | /usr/share/doc/bind-9.4.2/sample/etc/named.conf ]
[ Fedora 8 / Fedora 7 ]
[root@web ~]# vi /var/named/chroot/etc/named.conf
//
// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver 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.
//
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on
// caching-nameserver package upgrade.
//
options {
// listen-on port 53 { 127.0.0.1; };
// listen-on-v6 port 53 { ::1; };
query-source port 53;
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; localnets; }; [ 内部ネットワークのみ許可する ]
外部 DNS サーバーにクエリーを送信する場合
forwarders {
192.168.0.1; [ ルーター経由の場合 (ルーターの IP アドレス) ]
プロバイダから通知を受けた DNS サーバーがある場合
xxx.xxx.xxx.xxx; [ プライマリ DNS サーバー ]
xxx.xxx.xxx.xxx; [ セカンダリ DNS サーバー ]
};
recursion yes;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view "localhost_resolver" {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.root.hints";
include "/etc/named.i2kt.com.zone.lan";
include "/etc/named.rfc1912.zones";
};
内部ネットワーク向け
view "internal" {
match-clients { localnets; };
match-destinations { localnets; };
recursion yes;
include "/etc/named.root.hints";
include "/etc/named.i2kt.com.zone.lan";
include "/etc/rndc.key";
};
外部ネットワーク向け (インターネット向け DNS サーバーを構築する場合)
view "external" {
match-clients { !localnets; !localhost; };
match-destinations { !localnets; !localhost; };
recursion no;
include "/etc/named.root.hints";
};
DNS サーバーの設定について
DNS サーバーの初期設定で使用するルートゾーン定義ファイル、マスタサーバーゾーン定義ファイルを作成します。
[ Fedora 8 / Fedora 7 ]
ルートゾーン定義ファイルを作成する
[root@web ~]# vi /var/named/chroot/etc/named.root.hints
zone "." IN {
type hint;
file "named.ca";
};
マスタサーバーゾーン定義ファイルを作成する
[root@web ~]# vi /var/named/chroot/etc/named.i2kt.com.zone.lan
正引きゾーンマスターファイル
zone "i2kt.com" IN {
type master;
file "i2kt.com.db";
allow-update { none; };
};
逆引きゾーンマスターファイル
zone "0.168.192.in-addr.arpa" IN {
type master;
file "0.168.192.in-addr.arpa.db";
allow-update { none; };
};
DNS サーバーの設定について (マスターサーバー : 正引きゾーンマスターファイル)
DNS サーバーを構築するときには、必ずマスターサーバーの存在が必要になります。 マスターサーバーは、初期設定ファイルとルートサーバーリストファイル以外に、サーバーが権威を持つゾーンすべてに対するデータベースファイルを準備します。 ここでは、マスターサーバーとして動作させるために必要な正引きゾーンマスタファイル (i2kt.com.db) を作成します。
[ Fedora 8 / Fedora 7 ]
[root@web ~]# vi /var/named/chroot/var/named/i2kt.com.db
$TTL 86400
@ IN SOA i2kt.com. root.i2kt.com. (
2007091901 ; serial
3600 ; refresh
3600 ; retry
604800 ; expire
86400 ; minimum
)
IN NS i2kt.com.
IN MX 0 i2kt.com.
;
@ IN A 192.168.0.201
www IN A 192.168.0.201
smtp IN A 192.168.0.201
pop3 IN A 192.168.0.201
DNS サーバーの設定について (マスターサーバー : 逆引きゾーンマスターファイル)
マスターサーバーは、サーバーが権威を持つゾーンすべてに対する正引きゾーンマスタファイル以外に、逆引きゾーンマスタファイルを準備します。 ここでは、マスターサーバーとして動作させるために必要な逆引きゾーンマスタファイル (0.168.192.in-addr.arpa.db) を作成します。
[ Fedora 8 / Fedora 7 ]
[root@web ~]# vi /var/named/chroot/var/named/0.168.192.in-addr.arpa.db
$TTL 86400
@ IN SOA i2kt.com. root.i2kt.com. (
2007091901 ; serial
3600 ; refresh
3600 ; retry
604800 ; expire
86400 ; nagative
)
IN NS i2kt.com.
;
201 IN PTR i2kt.com.
DNS サーバーの設定について (所有者グループの変更)
DNS サーバーの設定において、作成したファイルの所有者グループを変更します。
[ Fedora 8 / Fedora 7 ]
[root@web ~]# chgrp named /var/named/chroot/etc/named.conf
[root@web ~]# chgrp named /var/named/chroot/etc/named.root.hints
[root@web ~]# chgrp named /var/named/chroot/etc/named.i2kt.com.zone.lan
[root@web ~]# chgrp named /var/named/chroot/var/named/i2kt.com.db
[root@web ~]# chgrp named /var/named/chroot/var/named/0.168.192.in-addr.arpa.db
DNS サーバーを起動する
パッケージをインストールした段階では、セキュリティを考慮しているため自動起動されません。 Fedora システムの再起動後に DNS サーバーを起動する場合には、自動起動の設定を行います。
[ Fedora 8 / Fedora 7 ]
DNS サーバーを起動する
[root@web ~]# /etc/rc.d/init.d/named start
named を起動中: [ OK ]
DNS サーバーの自動起動を設定する
[root@web ~]# chkconfig named on
[root@web ~]# chkconfig --list named
named 0:off 1:off 2:on 3:on 4:on 5:on 6:off