Tips記事
» 2000年11月08日 00時00分 UPDATE

DNSキャッシュを有効にしたい

[木田佳克,ITmedia]

 Linuxを使いIPフォワードを有効にするとルータとして利用することができる。この場合にLinux上でDNS(named)を動作させると,ネームサーバとして使うことが可能だ。さらにDNSキャッシュが設定されていると,ISPなどのDNSサーバに問い合わせをしなくてもローカルで瞬時に名前解決ができるようになる。パフォーマンス向上の1つとして設定しておくとよいだろう。

 Red Hat Linuxでは,システムインストール時にnamedを選択しておくと,標準でDNSキャッシュが有効になるよう設定される。しかし,次の設定を加えておくことでより効果的に働かせることが可能だ。

 まず最初にnamedの動作状況を確認しよう。次のように表示されれば稼動中と判断できる。

# /etc/rc.d/init.d/named status
named 8.2.2-P5 Mon Feb 28 10:17:53 EST 2000 root@porky.devel.redhat.com:/usr/sr
c/bs/BUILD/bind-8.2.2_P5/src/bin/named
number of zones allocated: 64
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
server is DONE priming
server IS NOT loading its configuration

 次のリストの中で,ボールド(太字)になっている個所が付け加える設定だ。IPアドレスは,加入しているISP(プロバイダ)のネームサーバを記述しよう(ここでは2つのIPを指定している場合)。

# vi /etc/named.conf

// generated by named-bootconf.pl

options {
   directory "/var/named";
   //allow-query { 192.168.0.0/24; localhost; };
   //allow-transfer { 192.168.0.0/24; localhost; };
   forward first;
   forwarders {
      202.217.0.xx;
      202.217.0.xx;
     };

};

//
// a caching only nameserver config
//
zone "." {
   type hint;
   file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
   type master;
   file "named.local";
};

logging {
  category statistics { no_info_messages;};
};

 編集後は,次のように指定してnamedの再起動を行おう。

# /etc/rc.d/init.d/named restart

 効果を確かめるには,次のように試してみればよい。

# nslookup
Default Server: localhost
Address: 127.0.0.1  ←※プライマリDNSがローカルになっている

> www.zdnet.co.jp    ←1回目
Server: localhost
Address: 127.0.0.1

Name: www.zdnet.co.jp
Address: 210.155.143.70

> www.zdnet.co.jp    ←2回目
Server: localhost
Address: 127.0.0.1

Non-authoritative answer:
Name: www.zdnet.co.jp
Address: 210.155.143.70

>

 上記は,2回目にwww.zdnet.co.jpをDNSに問い合わせしたところ,「Non-authoritative answer:」の表示が返されており,ISPのDNSでなくローカルのDNS(named)で名前解決ができたことを表している。このように表示されれば,DNSキャッシュが働いていることを意味する。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ