| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
IPアドレスではなく、コンピュータ名でアクセスできるように設定します。
なお、自分の環境は固定IPではないので、ここでの設定は内部でのみの利用となります。
「BIND」の他にキャッシングサーバもインストールします。
また、セキュリティを考えてbind-chrootもインストールします。
[root@CentOS ~]# yum -y install bind caching-nameserver bind-chroot <= 「BIND」関連のインストール [root@CentOS ~]# yum clean packages <= ダウンロードしたパッケージの削除 |
named.caching-nameserver.conf ファイルを直接編集すると、「BIND」がアップデートされた時に置き換えられる恐れがあるので、
named.conf にファイル名を変更して設定します。
なお、named.conf は named.caching-nameserver.conf より優先されるので、
named.caching-nameserver.conf ファイルは変更しなくても問題ありません。
また、「CentOS」のバージョンによって記述されていない項目もありますが、その場合は何もしなくて構いません。
[root@CentOS ~]# cp -p /var/named/chroot/etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf
<= 設定ファイルのコピー
[root@CentOS ~]# vi /var/named/chroot/etc/named.conf <= 設定ファイルの編集
options {
version "unknown"; <= 追加(バージョン情報を非表示)
# 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";
query-source port 53;
# query-source-v6 port 53; <= コメントアウト
# allow-query { localhost; }; <= コメントアウト
以下を追加
allow-query{
127.0.0.1;
192.168.0.0/16; <= DNSサーバを利用するネットワークを指定
};
allow-recursion{
127.0.0.1;
192.168.0.0/16; <= DNSサーバをキャッシュサーバとして利用するネットワークを指定
};
allow-transfer{
127.0.0.1;
192.168.0.0/16; <= DNSサーバのゾーンデータの転送先のネットワークを指定
};
forwarders{
192.168.0.1; <= このDNSサーバで名前解決ができなかった場合の問合せ先を指定
};
ここまで
};
rndcを利用する場合、以下のように設定
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; }; <= rndcが利用可能なホスト(localhostのみ可)
};
include "/etc/rndc.key"; <= rndc.keyのパス
ここまで
以下を追加(逆引きのエラーログをとらない)
なお、すでにlogging 節がある場合、その中に記述する
logging {
category lame-servers { null; };
};
|
view機能を利用したzoneの設定
まず、「BIND」を設定します。
[root@CentOS ~]# vi /var/named/chroot/etc/named.conf <= 設定ファイルの編集
view節が以下のようになるように修正
view localhost_resolver { <= キャッシュ専用サーバの設定
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
include "/etc/named.crimson-snow.net.zones";
};
view "internal" { <= 内部向けDNSサーバの設定
match-clients { localnets; };
match-destinations { localnets; };
recursion yes;
include "/etc/named.root.hints";
include "/etc/named.crimson-snow.net.zones";
};
|
次にゾーン定義ファイルを作成します。
[root@CentOS ~]# vi /var/named/chroot/etc/named.root.hints <= ルートゾーン定義ファイルの作成
zone "." IN {
type hint;
file "named.ca";
};
[root@CentOS ~]# vi /var/named/chroot/etc/named.crimson-snow.net.zones <= crimson-snow.netの定義ファイルの作成
zone "crimson-snow.net" IN { <= 正引きゾーンファイル
type master;
file "crimson-snow.net.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; };
};
|
view機能を利用しないzoneの設定
view節があると、その外にゾーンの定義を記述できないので、view節は全てコメントアウトまたは削除します。
[root@CentOS ~]# vi /var/named/chroot/etc/named.conf <= 設定ファイルの編集
view節を全てコメントアウトまたは削除
view … {
…
}
ここまで
最終行に以下を追加
zone "crimson-snow.net" IN { <= 正引きゾーンファイル
type master;
file "crimson-snow.net.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; };
};
|
ルートゾーンの最新化
念の為、ルートゾーンを最新にします。
[root@CentOS ~]# dig > /var/named/chroot/var/named/named.ca |
正引きゾーンファイルの作成
ホスト名(ドメイン名)からIPアドレスを解決する為のファイルを作成します。
[root@CentOS ~]# vi /var/named/chroot/var/named/crimson-snow.net.db <= 正引きゾーンファイル作成
$TTL 86400
@ IN SOA crimson-snow.net. root.crimson-snow.net.(
2005030801 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS crimson-snow.net.
IN MX 10 crimson-snow.net.
@ IN A 192.168.0.2 <= サーバのIPアドレス
windows IN A 192.168.0.3 <= クライアントのIPアドレス
www IN CNAME @ <= http://www.crimson-snow.netでもアクセスできるようにする
|
逆引きゾーンファイルの作成
IPアドレスからホスト名(ドメイン名)を解決する為のファイルを作成します。
[root@CentOS ~]# vi /var/named/chroot/var/named/0.168.192.in-addr.arpa.db <= 逆引きゾーンファイル作成
$TTL 86400
@ IN SOA crimson-snow.net. root.crimson-snow.net.(
2005030801 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS crimson-snow.net.
2 IN PTR crimson-snow.net. <= サーバ名
3 IN PTR windows <= クライアント名
|
[root@CentOS ~]# /etc/rc.d/init.d/named start |
DNSサーバの自動起動
CentOSを起動する際に自動的にDNSサーバも起動するようにします。
[root@CentOS ~]# chkconfig named on |
Linuxで参照するDNSサーバを変更する場合、以下のようにします。
[root@CentOS ~]# vi /etc/resolv.conf <= 設定ファイルの編集 nameserver xxx.xxx.xxx.xxx <= 元々参照していたDNSサーバ ↓ nameserver 192.168.0.2 <= サーバのIPアドレスを指定 |