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