俺の巣: 本格サーバ構築-3: DNSサーバ(その2)

ページ

2010年3月2日火曜日

本格サーバ構築-3: DNSサーバ(その2)

初めで言ったように、本来であれば、ドメインツリーにある「sunxiaobo.net」のドメイン空間を管理する
DNSサーバを自前で構築したほうがベストだが(自前ネームサーバ)、その場合は自前サーバのIPが上位DNSサーバ
(.netのDNSサーバ)に登録されて、DDNSのようにしょっちゅう変えちゃいけないらしいので、あきらめるしかない

目標は内部向けのキャッシング専用サーバ
最初の話も戻るが、自前のDNSサーバは何のメリットがあると言われたら
○勉強のため
○LAN内部ホストの名前解決(ホスト名でお互いに通信する)
早速構築開始
①bindのインストール
yum -y install bind bind-chroot caching-nameserver

②bind-chroot有効化
chrootとは、ルートディレクトリを別のディレクトリに変更する操作である
変更されたプロセスは、その範囲外のファイルにはアクセスできなくなるため、この操作をchroot監獄などとも呼ぶ
bindの場合は/var/named/chrootという「牢屋」へ変更する。つまり

※設定のファイルパスは特に「/var/named/chroot」を指定する必要がない
vi /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.
③ファイルをchrootディレクトリへコピー
cp /etc/named.conf /var/named/chroot/etc/
cp /etc/named.rfc1912.zones /var/named/chroot/etc/
cp /var/named/* /var/named/chroot/var/named/
cp -pR /etc/pki/dnssec-keys/* /var/named/chroot/etc/pki/dnssec-keys/

④設定ファイル修正
cd /var/named/chroot/etc
vi 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 { any;}; ←とりあえずはanyにする
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside . trust-anchor dlv.isc.org.;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "sunxiaobo.net" IN {←ゾーンの追加
type master;
file "sunxiaobo.net.internal.zone";
};
zone "11.168.192.in-addr.arpa" IN {←逆引きゾーンの追加
type master;
file "11.168.192.in-addr.arpa.zone";
};
include "/etc/named.rfc1912.zones";
include "/etc/pki/dnssec-keys//named.dnssec.keys";
include "/etc/pki/dnssec-keys//dlv/dlv.isc.org.conf";
⑤ゾーンファイルの作成
cd /var/named/chroot/var/named/
vi sunxiaobo.net.internal.zone
$TTL 86400
@ IN SOA ns.sunxiaobo.net admin.sunxiaobo.net.(
              2010030601 ;Serial
              28800 ;Refresh
              14400 ;Retry
              3600000 ;Expire
              86400 ) ;Negtive TTL
IN NS ns.sunxiaobo.net.
ns IN A 192.168.11.6
rooter IN A 192.168.11.1 ;rooter
pc IN A 192.168.11.2 ;desktop PC
nas IN A 192.168.11.3 ;NAS
note IN A 192.168.11.4 ;note PC
server IN A 192.168.11.5 ;Server-windows
linux IN A 192.168.11.6 ;Server-Linux
www IN CNAME server
admin IN CNAME server
逆引きゾーン
vi 11.168.192.in-addr.arpa.zone
$TTL 86400
@ IN SOA ns.sunxiaobo.net. admin.sunxiaobo.net.(
              20100306
              21600
              3600
              604800
              86400)
IN NS ns.sunxiaobo.net.
2 IN PTR pc.sunxiaobo.net.
3 IN PTR nas.sunxiaobo.net.
4 IN PTR note.sunxiaobo.net.
5 IN PTR server.sunxiaobo.net.
6 IN PTR linux.sunxiaobo.net.
⑥namedを起動
/etc/init.d/named start

⑦chrootの確認
ps -ef | grep named
named … /usr/sbin/named -u named -t /var/named/chroot

⑧名前解決の確認
まずはサーバ自身からの問い合わせ
a)リゾルバのDNSサーバを変更
vi /etc/resolv.conf
nameserver 127.0.0.1
nameserver 210.xxx.xxx.xxx
nameserver 210.xxx.xxx.xxx

b)確認
dig server.sunxiaobo.net
dig www.yahoo.co.jp

c)ping
ping server.sunxiaobo.net
ping www.yahoo.co.jp

同じ手順でLANにある他のPCから名前解決を確認
⑨起動設定
chkconfig named on
chkconfig --list named
named 0:off 1:off 2:on 3:on 4:on 5:on 6:off

以上でOK

0 コメント:

コメントを投稿