コマンドまたはファイル名が違います -3ページ目

コマンドまたはファイル名が違います

札幌のシステムエンジニアがコンピュータと戯れている様子を綴っています。

CentOSでDNSキャッシュサーバを設定してみました。

インストールされているBINDのバージョンを確認してみます。
# rpm -qa | grep bind
bind-libs-9.3.6-16.P1.el5
bind-chroot-9.3.6-16.P1.el5
system-config-bind-4.0.3-4.el5.centos
bind-utils-9.3.6-16.P1.el5
bind-9.3.6-16.P1.el5

bind-chrootが入っているので、設定ファイルは/var/named/chroot配下になります。

まずはヒントファイル(named.root)をダウンロードします。
# cd /var/named/chroot/var/named
# wget ftp://ftp.internic.net/domain/named.root
# chown named.named /var/named/chroot/var/named/named.root

次にnamed.confを作成します。
# vi /var/named/chroot/etc/named.conf
acl localnet {
       192.168.1.0/24;  ←環境に合わせて変更
};

options {
       recursion       yes;
       version         "unknown";
       directory       "/var/named";
       pid-file        "/var/run/named/named.pid";
       max-ncache-ttl  300;  ←ネガティブキャッシュの最大TTL(秒単位)
       max-cache-ttl   3600;  ←キャッシュの最大TTL(秒単位)
       lame-ttl        600;  ←lame情報を保持することで無駄な問い合わせを減らす

       allow-query {
               localhost;
               localnet;
       };

       allow-recursion {
               localhost;
               localnet;
       };
};

zone "." {
       type    hint;
       file    "named.root";
};

zone "localhost" {
       type    master;
       file    "localhost.zone";
};

zone "0.0.127.in-addr.arpa" {
       type    master;
       file    "localhost.rev";
};

// Log
logging {
       channel "log_queries" {
       file "/var/log/named/queries.log" versions 10 size 10m;
       severity info;
       print-time yes;
       print-category yes;
       };

       channel "log_default" {
               file "/var/log/named/named.log" versions 10 size 10m;
               severity info;
               print-time yes;
               print-category yes;
       };

       channel "lame-servers" {
               file "/var/log/named/lame-servers.log" versions 10 size 10m;
               severity info;
               print-time yes;
               print-category yes;
       };

       category queries {
               "log_queries";
       };

       category default {
               "log_default";
       };

       category lame-servers {
               "lame-servers";
       };
};



localhostのゾーンファイルを作成します。
# vi /var/named/chroot/var/named/local.zone
$TTL 86400
@       IN      SOA     localhost.      root.localhost. (
       2011110801      ; serial
       28800           ; refresh 8hr
       14400           ; retry 4hr
       604800          ; expire 1w
       86400           ; default_ttl 24hr
)

               IN      NS      localhost.
               IN      A       127.0.0.1

# vi /var/named/chroot/var/named/local.rev
$TTL 86400
@       IN      SOA     localhost.      root.localhost. (
       2011110801      ; serial
       28800           ; refresh 8hr
       14400           ; retry 4hr
       604800          ; expire 1w
       86400           ; default_ttl 24hr
)

       IN      NS      localhost.
1       IN      PTR     localhost.



ログ用のディレクトリを作成します。
chrootが効いているので/var/named/chroot/var/log/namedを作成して/var/logにリンクを張ります。
# mkdir /var/named/chroot/var/log/named
ln -s /var/named/chroot/var/log/named/ /var/log/named


bindを起動します。
# service named start
named を起動中:                                            [  OK  ]

bindを自動起動に設定します。
# chkconfig named on

参考にしたサイト
http://www.atmarkit.co.jp/flinux/rensai/bind901/bind901a.html