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.