2010年02月23日

Cent5.4 BINDその6 DNSキャッシュデータの確認、削除

今回は rndc を使用して、BINDのキャッシュデータを操作してみました。

(キャッシュ作成のための事前作業として、サーバ起動後にLAN内の別のPCのブラウザから http://www.yahoo.co.jp へ1回だけアクセスしておきました)

参考サイト:
@IT 連載記事 「実用 BIND 9で作るDNSサーバ」 (4)(9)
HP-UX リファレンス rndc(1)
JP DNS Web Page
DNSの仕組み

作業の前にrndcで使用可能なコマンドを確認。「dumpdb」でキャッシュをダンプ、「flush」でキャッシュデータをクリアします。

# /usr/local/named/sbin/rndc
Usage: rndc [-c config] [-s server] [-p port]
        [-k key-file ] [-y key] [-V] command

command is one of the following:

  reload        Reload configuration file and zones.
  reload zone [class [view]]
                Reload a single zone.
  refresh zone [class [view]]
                Schedule immediate maintenance for a zone.
  retransfer zone [class [view]]
                Retransfer a single zone without checking serial number.
  freeze        Suspend updates to all dynamic zones.
  freeze zone [class [view]]
                Suspend updates to a dynamic zone.
  thaw          Enable updates to all dynamic zones and reload them.
  thaw zone [class [view]]
                Enable updates to a frozen dynamic zone and reload it.
  notify zone [class [view]]
                Resend NOTIFY messages for the zone.
  reconfig      Reload configuration file and new zones only.
  stats         Write server statistics to the statistics file.
  querylog      Toggle query logging.
  dumpdb [-all|-cache|-zones] [view ...]
                Dump cache(s) to the dump file (named_dump.db).
  stop          Save pending updates to master files and stop the server.
  stop -p       Save pending updates to master files and stop the server
                reporting process id.
  halt          Stop the server without saving pending updates.
  halt -p       Stop the server without saving pending updates reporting
                process id.
  trace         Increment debugging level by one.
  trace level   Change the debugging level.
  notrace       Set debugging level to 0.
  flush         Flushes all of the server's caches.
  flush [view]  Flushes the server's cache for a view.
  flushname name [view]
                Flush the given name from the server's cache(s)
  status        Display status of the server.
  recursing     Dump the queries that are currently recursing (named.recursing)
  validation newstate [view]
                Enable / disable DNSSEC validation.
  *restart      Restart the server.

* == not yet implemented
Version: 9.6.1



●キャッシュデータのダンプ

出力先は named.conf 内の 「options」ステートメントの「directory」指令で指定されたディレクトリ内になるそうで、当方の環境では、/etc/named/named_dump.db として作成されました。
rpm でインストールした場合は、/var/named/named_dump.db になるようです。

# /usr/local/named/sbin/rndc dumpdb
# ls -la /etc/named
合計 52
drwx------  2 named named  4096  2月 19 10:18 .
drwxr-xr-x 80 root  root   4096  2月 19 10:04 ..
-rwx------  1 named named   207  2月  3 22:16 0.0.127.in-addr.arpa
-rwx------  1 named named   395  2月  3 22:29 1.168.192.in-addr.arpa
-rwx------  1 named named   286  2月  3 22:25 centos.local
-rwx------  1 named named   594  2月  3 22:31 named.conf
-rwx------  1 named named   600  2月  3 21:34 named.conf.org
-rwx------  1 named named  2940  2月  2 19:31 named.root
-rw-r--r--  1 named named 14733  2月 19 10:18 named_dump.db

ホームページを1ページ表示しただけで、約14KBのデータがキャッシュされました。

# cat named_dump.db
;
; Start view inside
;
;
; Cache dump of view 'inside'
;
$DATE 20100219011836
; authanswer
.                       518392  IN NS   A.ROOT-SERVERS.NET.  ルートネームサーバ
                        518392  IN NS   B.ROOT-SERVERS.NET.
                        518392  IN NS   C.ROOT-SERVERS.NET.
                        518392  IN NS   D.ROOT-SERVERS.NET.
                        518392  IN NS   E.ROOT-SERVERS.NET.
                        518392  IN NS   F.ROOT-SERVERS.NET.
                        518392  IN NS   G.ROOT-SERVERS.NET.
                        518392  IN NS   H.ROOT-SERVERS.NET.
                        518392  IN NS   I.ROOT-SERVERS.NET.
                        518392  IN NS   J.ROOT-SERVERS.NET.
                        518392  IN NS   K.ROOT-SERVERS.NET.
                        518392  IN NS   L.ROOT-SERVERS.NET.
                        518392  IN NS   M.ROOT-SERVERS.NET.
; glue
jp.                     172792  NS      A.DNS.jp.            JP DNSサーバ
                        172792  NS      B.DNS.jp.
                        172792  NS      C.DNS.jp.
                        172792  NS      D.DNS.jp.
                        172792  NS      E.DNS.jp.
                        172792  NS      F.DNS.jp.
                        172792  NS      G.DNS.jp.
; authauthority
yahoo.co.jp.            893     NS      ns04.ops.ogk.yahoo.co.jp.
                        893     NS      dnsg01.yahoo.co.jp.
; authauthority
b3.yahoo.co.jp.         893     \-AAAA  ;-$NXRRSET
; authanswer
                        893     A       124.147.46.4
; additional
gns01.net.bbt.yahoo.co.jp. 892  A       202.93.64.132
; additional
gns02.net.bbt.yahoo.co.jp. 892  A       202.93.64.133
; glue
dnsg01.yahoo.co.jp.     86392   A       211.14.12.10
; additional
gl.yahoo.co.jp.         892     NS      gns01.net.bbt.yahoo.co.jp.
                        892     NS      gns02.net.bbt.yahoo.co.jp.
; answer
www.ya.gl.yahoo.co.jp.  4       A       203.216.243.218
; authanswer
yjaxc.ya.gl.yahoo.co.jp. 52     A       124.83.215.183
; glue
ns04.ops.ogk.yahoo.co.jp. 86392 A       124.83.218.185
; authanswer
www.yahoo.co.jp.        892     CNAME   www.ya.gl.yahoo.co.jp.
; authanswer
yjaxc.yahoo.co.jp.      892     CNAME   yjaxc.ya.gl.yahoo.co.jp.
; glue
A.DNS.jp.               172792  A       203.119.1.1
; glue
                        172792  AAAA    2001:dc4::1
; glue
B.DNS.jp.               172792  A       202.12.30.131
; glue
                        172792  AAAA    2001:dc2::1
; glue
C.DNS.jp.               172792  A       204.74.112.245
; glue
                        172792  AAAA    2001:502:d399::245
; glue
D.DNS.jp.               172792  A       210.138.175.244
; glue
                        172792  AAAA    2001:240::53
; glue
E.DNS.jp.               172792  A       192.50.43.53
; glue
                        172792  AAAA    2001:200:c000::35
; glue
F.DNS.jp.               172792  A       150.100.2.3
; glue
                        172792  AAAA    2001:2f8:0:100::153
; glue
G.DNS.jp.               172792  A       203.119.40.1
; glue
yimg.jp.                86392   NS      ns04.ops.ogk.yahoo.co.jp.
                        86392   NS      dnsg01.yahoo.co.jp.


(長いので中略します・・・)


;
; Unassociated entries
;
;
; Start view _bind
;
;
; Cache dump of view '_bind'
;
$DATE 20100219011836           時刻はGMT表示
;
; Address database dump
;
;
; Unassociated entries
;
; Dump complete


ファイルの最初の部分でDNSの木構造が確認できます。ルートネームサーバについては、「named.root」に記述がありますが、これを参照しているのでしょうか?
またネームサーバのドメインとして xxx(任意).yahoo.co.jp 以外に xxx.akamaitech.net、xxx.akamai.net、xxx.akam.net などが記録されていました。

ちょっと気になったのが行頭の「authanswer」「authauthority」「glue」などの意味なんですが、Web検索では「見出し」であること以外、ちょっと分かりませんでした。
ちなみにこれはBINDのコンパイル前のソース、bind-9.6.1/lib/dns/masterdump.c の中に定義されていました。

/*
 * Dump all the rdatasets of a domain name to a master file.  We make
 * a "best effort" attempt to sort the RRsets in a nice order, but if
 * there are more than MAXSORT RRsets, we punt and only sort them in
 * groups of MAXSORT.  This is not expected to ever happen in practice
 * since much less than 64 RR types have been registered with the
 * IANA, so far, and the output will be correct (though not
 * aesthetically pleasing) even if it does happen.
 */

#define MAXSORT 64

static const char *trustnames[] = {
    "none",
    "pending-additional",
    "pending-answer",
    "additional",
    "glue",
    "answer",
    "authauthority",
    "authanswer",
    "secure",
    "local" /* aka ultimate */
};

・・・だそうです(まるで分かってません(^^))。



●キャッシュデータの削除

溜まったDNSキャッシュデータを削除します。
コマンド実行後、再度ダンプして内容を確認したところ、すっかりきれいになってました。

# /usr/local/named/sbin/rndc flush
# /usr/local/named/sbin/rndc dumpdb
# cat named_dump.db
;
; Start view inside
;
;
; Cache dump of view 'inside'
;
$DATE 20100219013101
;
; Address database dump
;
;
; Unassociated entries
;
;
; Start view _bind
;
;
; Cache dump of view '_bind'
;
$DATE 20100219013101
;
; Address database dump
;
;
; Unassociated entries
;
; Dump complete



だいぶ長くなりました。最後にこれら作業を実行時の /var/log/messages のnamed部分を抜粋して記載します。失敗した部分は削除済みです(^_^;)。

Feb 19 10:04:40 centos named[2065]: starting BIND 9.6.1 -u named -c /etc/named/named.conf
Feb 19 10:04:40 centos named[2065]: built with '--prefix=/usr/local/named' '--sysconfdir=/etc' '--with-openssl=no' '--enable-ipv6=no'
Feb 19 10:04:40 centos named[2065]: using up to 4096 sockets
Feb 19 10:04:40 centos named[2065]: loading configuration from '/etc/named/named.conf'
Feb 19 10:04:40 centos named[2065]: using default UDP/IPv4 port range: [1024, 65535]
Feb 19 10:04:40 centos named[2065]: using default UDP/IPv6 port range: [1024, 65535]
Feb 19 10:04:40 centos named[2065]: listening on IPv4 interface lo, 127.0.0.1#53
Feb 19 10:04:40 centos named[2065]: listening on IPv4 interface eth0, 192.168.1.3#53
Feb 19 10:04:41 centos named[2065]: command channel listening on 127.0.0.1#953
Feb 19 10:04:41 centos named[2065]: zone 0.0.127.in-addr.arpa/IN/inside: loaded serial 2004080101
Feb 19 10:04:41 centos named[2065]: zone 1.168.192.in-addr.arpa/IN/inside: loaded serial 2010020200
Feb 19 10:04:41 centos named[2065]: zone centos.workgroup/IN/inside: loaded serial 2010020200
Feb 19 10:04:41 centos named[2065]: running
Feb 19 10:18:36 centos named[2065]: received control channel command 'dumpdb'
Feb 19 10:18:36 centos named[2065]: dumpdb started
Feb 19 10:18:36 centos named[2065]: dumpdb complete
Feb 19 10:30:46 centos named[2065]: received control channel command 'flush'
Feb 19 10:31:01 centos named[2065]: received control channel command 'dumpdb'
Feb 19 10:31:01 centos named[2065]: dumpdb started
Feb 19 10:31:01 centos named[2065]: dumpdb complete
Feb 19 10:33:57 centos named[2065]: shutting down
Feb 19 10:33:57 centos named[2065]: stopping command channel on 127.0.0.1#953
Feb 19 10:33:57 centos named[2065]: no longer listening on 127.0.0.1#53
Feb 19 10:33:57 centos named[2065]: no longer listening on 192.168.1.3#53
Feb 19 10:33:57 centos named[2065]: exiting


posted by nambei-x at 23:15| Comment(0) | TrackBack(0) | Linux学習帳 - CentOS | このブログの読者になる | 更新情報をチェックする

2010年02月15日

Cent5.4 BINDその5 rndcの設定と基本操作

以前の記事で、named を制御するためのツールである rndc用に、rndc.conf と rndc.key を作成しました。
今回は実際にrndcを使用してみましたが、今回もconfファイルに問題がありました(^_^;)

# /usr/local/named/sbin/rndc status
rndc: error: /etc/rndc.conf:12: unknown option 'keys'
rndc: error: /etc/rndc.conf:12: unexpected token near '}'
rndc: could not load rndc configuration

/etc/rndc.conf は rndc-confgen で作成しましたが、作成後独自に追記した部分(サーバの設定)の書き方が間違っていました。

server 127.0.0.1 { keys { "samplekey";} };
server 192.168.1.3 { keys { "samplekey";} };

と書いたところを

server localhost { key "samplekey"; };

と書き換えてnamedを再起動しました。
もちろん localhost = 127.0.0.1 です。

# /etc/init.d/named restart
Shutting down named:                                       [  OK  ]
Starting named:                                            [  OK  ]

これで再度rndcを動かしたところ、今回は成功。

# /usr/local/named/sbin/rndc status
version: 9.6.1
number of zones: 3
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running


次に、以下のコマンドで現在のnamed統計をダンプします。

# /usr/local/named/sbin/rndc stats

これにより /var/run/named/named.stats が作成されます。

# cat /var/run/named/named.stats
+++ Statistics Dump +++ (1266229369)
++ Incoming Requests ++
                  80 QUERY
++ Incoming Queries ++
                  38 A
                   5 PTR
                  37 AAAA
++ Outgoing Queries ++
[View: inside]
                 121 A
                   1 NS
                  34 AAAA
[View: _bind]
++ Name Server Statistics ++
                  80 IPv4 requests received
                  80 responses sent
                  63 queries resulted in successful answer
                   7 queries resulted in authoritative answer
                  73 queries resulted in non authoritative answer
                  14 queries resulted in nxrrset
                   3 queries resulted in NXDOMAIN
                  69 queries caused recursion
++ Zone Maintenance Statistics ++
++ Resolver Statistics ++
[Common]
[View: inside]
                 156 IPv4 queries sent
                 155 IPv4 responses received
                   1 lame delegations received
                   5 query retries
                   1 query timeouts
                  14 IPv4 NS address fetches
                 107 queries with RTT 10-100ms
                  48 queries with RTT 100-500ms
[View: _bind]
++ Cache DB RRsets ++
[View: inside]
                 179 A
                  40 NS
                  34 CNAME
                  21 AAAA
                   1 RRSIG
                   1 NSEC
                  33 !AAAA
[View: _bind]
++ Socket I/O Statistics ++
                 158 UDP/IPv4 sockets opened
                   3 TCP/IPv4 sockets opened
                 156 UDP/IPv4 sockets closed
                   2 TCP/IPv4 sockets closed
                 156 UDP/IPv4 connections established
                   3 TCP/IPv4 connections accepted
++ Per Zone Query Statistics ++
--- Statistics Dump --- (1266229369)


zoneデータをリロードします。

# rndc reload
server reload successful


rndcからnamedを止めてみます。

# /usr/local/named/sbin/rndc stop

実際に止まっているかどうか・・・

#  nslookup yahoo.co.jp
;; connection timed out; no servers could be reached

# /usr/local/named/sbin/rndc start
rndc: connect failed: 127.0.0.1#953: connection refused


正しく停止したようなので、namedを立ち上げます。

# /etc/init.d/named start
Starting named:                                            [  OK  ]





posted by nambei-x at 22:51| Comment(0) | TrackBack(0) | Linux学習帳 - CentOS | このブログの読者になる | 更新情報をチェックする

2010年02月04日

Cent5.4 BINDその4 起動スクリプト作成 他

named が正常に動作しているようなので、続いて named を自動起動するスクリプトを作成しました。
サーバ起動時に各種サーバデーモンを立ち上げる、/etc/rc.d/init.d に置かれているヤツです。

これも実際は何度も書き直したんですが、現在正常に動いているものを以下に貼り付けます。

#!/bin/sh
#
# chkconfig: 345 55 45
# description: named (BIND) is a Domain Name server (DNS) ¥
# that is used to resolve host names to IP addresses.

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -f /usr/local/named/sbin/named ] || exit 0

[ -f /etc/named/named.conf ] || exit 0

# See how we were called.

case "$1" in

  start)
        # Start daemons.
        echo -n $"Starting named: "
        daemon /usr/local/named/sbin/named -u named -c /etc/named/named.conf
        echo
        touch /var/lock/subsys/named
        ;;
  stop)
        # Stop daemons.
        echo -n $"Shutting down named: "
        killproc named
        rm -f /var/lock/subsys/named
        echo
        ;;
  status)
        status named
        exit $?
        ;;
  restart)
        $0 stop
        $0 start
        exit $?
        ;;
  reload)
        /usr/local/named/sbin/rndc reload
        exit $?
        ;;
  *)
        echo "Usage: named {start|stop|status|restart|reload}"
        exit 1

esac

exit 0

このスクリプトを読んでいて、「touch /var/lock/subsys/named」という動作が、何のために必要なのか気になって検索してみました。

参考サイト:IT技術の処方箋:起動スクリプトの作成

上記サイトの説明がとても分かりやすかったです。
起動時に /var/lock/subsys/named という空のファイルを自動作成、これが存在している限り、named は二重起動できない、ということみたいです。

# ls -la /var/lock/subsys/named
-rw-r--r-- 1 root root 0  2月  3 23:20 /var/lock/subsys/named

作成したスクリプトを /etc/rc.d/init.d/named として保存、サーバ起動時に立ちあがるように設定します。

# chkconfig --add named

この後サーバを再起動、で named が自動起動すると思います。



ここに至るまで、動作確認のために /var/log/messages を何度か確認したんですが、正常動作中にもちょっと気になるところがありました。

Feb  3 17:12:56 centos named[2603]: starting BIND 9.6.1 -u named -c /etc/named/named.conf
Feb  3 17:12:56 centos named[2603]: built with '--prefix=/usr/local/named' '--sysconfdir=/etc' '--with-openssl=no' '--enable-ipv6=no'
Feb  3 17:12:56 centos named[2603]: using up to 4096 sockets
Feb  3 17:12:56 centos named[2603]: loading configuration from '/etc/named/named.conf'
Feb  3 17:12:56 centos named[2603]: using default UDP/IPv4 port range: [1024, 65535]
Feb  3 17:12:56 centos named[2603]: using default UDP/IPv6 port range: [1024, 65535]
Feb  3 17:12:56 centos named[2603]: listening on IPv4 interface lo, 127.0.0.1#53
Feb  3 17:12:56 centos named[2603]: listening on IPv4 interface eth0, 192.168.1.3#53
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: 0.IN-ADDR.ARPA
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: 127.IN-ADDR.ARPA
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: 254.169.IN-ADDR.ARPA
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: 2.0.192.IN-ADDR.ARPA
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: 255.255.255.255.IN-ADDR.ARPA
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: D.F.IP6.ARPA
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: 8.E.F.IP6.ARPA
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: 9.E.F.IP6.ARPA
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: A.E.F.IP6.ARPA
Feb  3 17:12:56 centos named[2603]: automatic empty zone: view inside: B.E.F.IP6.ARPA
Feb  3 17:12:56 centos named[2603]: command channel listening on 127.0.0.1#953
Feb  3 17:12:56 centos named[2603]: zone 0.0.127.in-addr.arpa/IN/inside: loaded serial 2004080101
Feb  3 17:12:56 centos named[2603]: zone 1.168.192.in-addr.arpa/IN/inside: has no NS records
Feb  3 17:12:56 centos named[2603]: zone centos.workgroup/IN/inside: loaded serial 2004080101
Feb  3 17:12:56 centos named[2603]: runningd

「automatic empty zone」で検索、こちらのサイトを発見。
/etc/named/named.conf の「options」欄に「empty-zones-enable no;」と追記することで、これらの出力が停止しました。

# grep named /var/log/messages
Feb  3 17:19:45 centos named[2635]: starting BIND 9.6.1 -u named -c /etc/named/named.conf
Feb  3 17:19:45 centos named[2635]: built with '--prefix=/usr/local/named' '--sysconfdir=/etc' '--with-openssl=no' '--enable-ipv6=no'
Feb  3 17:19:45 centos named[2635]: using up to 4096 sockets
Feb  3 17:19:45 centos named[2635]: loading configuration from '/etc/named/named.conf'
Feb  3 17:19:45 centos named[2635]: using default UDP/IPv4 port range: [1024, 65535]
Feb  3 17:19:45 centos named[2635]: using default UDP/IPv6 port range: [1024, 65535]
Feb  3 17:19:45 centos named[2635]: listening on IPv4 interface lo, 127.0.0.1#53
Feb  3 17:19:45 centos named[2635]: listening on IPv4 interface eth0, 192.168.1.3#53
Feb  3 17:19:45 centos named[2635]: command channel listening on 127.0.0.1#953
Feb  3 17:19:45 centos named[2635]: zone 0.0.127.in-addr.arpa/IN/inside: loaded serial 2004080101
Feb  3 17:19:45 centos named[2635]: zone 1.168.192.in-addr.arpa/IN/inside: has no NS records
Feb  3 17:19:45 centos named[2635]: zone centos.workgroup/IN/inside: loaded serial 2004080101
Feb  3 17:19:45 centos named[2635]: runningd

スッキリ、です。


posted by nambei-x at 12:11| Comment(0) | TrackBack(0) | Linux学習帳 - CentOS | このブログの読者になる | 更新情報をチェックする

2010年02月03日

Cent5.4 BINDその3 zoneファイル作成~動作確認

前回の作業からずいぶん時間が経過してしまいました。

今回は実際は昨晩からの作業開始だったんですが、各種ファイル作成後、namedを起動しようとしたところ予想通り立ち上がらず、2日がかりとなりました。
ファイルの記載内容の誤りを確認・修正しても起動せず戸惑いましたが、ユーザーおよびグループを、以前に設定した named に変更していなかったことが原因でした。



前回の作業で作成した named.conf に記載した通り、named.root および各zoneファイルの置き場所は一般的な /var/named ではなく、/etc/named/ としました。
各zoneファイルは、参考書を見ながら当方の環境に合わせて作ってみましたが、間違いや無駄な行があるかもしれません。

# vi 0.0.127.in-addr.arpa       ローカルホストの逆引き定義

$TTL 86400
@       IN      SOA     centos.workgroup.       root.centos.workgroup. (
                       
2010020200      ;serial
                        28800           ;refresh
                        7200            ;retry
                        604800          ;expire
                        86400           ;minimum
                        )

        IN      NS      centos.workgroup.
3       IN      PTR     localhost.

# vi centos.local               LAN内部向け正引き定義

$TTL 86400
@       IN      SOA     centos.workgroup.       root.workgroup. (
                        2010020200      ;serial
                        28800           ;refresh
                        7200            ;retry
                        604800          ;expire
                        86400           ;minimum
                        )

        IN      NS      centos.workgroup.       ;primary
        IN      MX 10   centos.workgroup.
        IN      A       192.168.1.3
mail    IN      A       192.168.1.3
www     IN      A       192.168.1.3

# vi 1.168.192.in-addr.arpa     LAN内部向け逆引き定義

$TTL 86400
@       IN      SOA     centos.workgroup.       root.workgroup. (
                        2010020200      ;serial
                        28800           ;refresh
                        7200            ;retry
                        604800          ;expire
                        86400           ;minimum
                        )

        IN      NS      centos.workgroup.       ;primary
3       IN      PTR     centos.workgroup.

外部より named.root を入手、同じディレクトリに置きます。

# wget ftp://ftp.rs.internic.net/domain/named.root

/etc/named 以下すべてのファイルのユーザー、グループを root から named に変更。
パーミッションも変更します。

# chown -R named:named /etc/named
# chmod -R 700 /etc/named

確認。

# ls -la /etc/named
合計 36
drwx------  2 named named 4096  2月  3 22:31 .
drwxr-xr-x 80 root  root  4096  2月  3 22:13 ..
-rwx------  1 named named  207  2月  3 22:16 0.0.127.in-addr.arpa
-rwx------  1 named named  395  2月  3 22:29 1.168.192.in-addr.arpa
-rwx------  1 named named  286  2月  3 22:25 centos.local
-rwx------  1 named named  594  2月  3 22:31 named.conf
-rwx------  1 named named 2940  2月  2 19:31 named.root

続いて /etc/resolv.conf を修正。

# vi /etc/resolv.conf

nameserver 127.0.0.1

これで問題なければ named を手動で起動できるはずです。

# /usr/local/named/sbin/named -u named -c /etc/named/named.conf
# ps aux | grep named
named     2482  0.0  1.0   5872  4116 ?        Ss   22:59   0:00 /usr/local/named/sbin/named -u named -c /etc/named/named.conf
root      2488  0.0  0.1   4992   760 pts/0    R+   22:59   0:00 grep named

起動が確認できたところで、まずは自分自身について名前解決を実行。

# nslookup centos.workgroup
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   centos.workgroup
Address: 192.168.1.3

# nslookup 192.168.1.3
Server:         127.0.0.1
Address:        127.0.0.1#53

3.1.168.192.in-addr.arpa        name = centos.workgroup.

外部サーバについても確認。

# nslookup jugem.jp
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   jugem.jp
Address: 210.172.182.89
Name:   jugem.jp
Address: 210.172.182.98

# nslookup 210.172.182.89
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
89.182.172.210.in-addr.arpa     name = www.jugem.jp.
89.182.172.210.in-addr.arpa     name = jugem.cc.
89.182.172.210.in-addr.arpa     name = jugem.jp.
89.182.172.210.in-addr.arpa     name = balance0.jg.jugem.jp.
89.182.172.210.in-addr.arpa     name = balance0.jugem.jp.
89.182.172.210.in-addr.arpa     name = m.jugem.jp.
89.182.172.210.in-addr.arpa     name = www.jugem.cc.

Authoritative answers can be found from:
89.182.172.210.in-addr.arpa     nameserver = dns1.jugem.jp.
89.182.172.210.in-addr.arpa     nameserver = dns0.jugem.jp.

一応大丈夫そう?
さらに、Vista機のDNS設定を変更した上で、コマンドプロンプトにて動作確認。

Microsoft Windows [Version 6.0.6002]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

C:¥Users¥xxx>nslookup 192.168.1.3
サーバー:  centos.workgroup
Address:  192.168.1.3

名前:    centos.workgroup
Address:  192.168.1.3


C:¥Users¥xxx>nslookup centos.workgroup
サーバー:  centos.workgroup
Address:  192.168.1.3

名前:    centos.workgroup
Address:  192.168.1.3


C:¥Users¥xxx>nslookup jugem.jp
サーバー:  centos.workgroup
Address:  192.168.1.3

権限のない回答:
名前:    jugem.jp
Addresses:  210.172.182.89
          210.172.182.98


C:¥Users¥xxx>nslookup 210.172.182.89
サーバー:  centos.workgroup
Address:  192.168.1.3

名前:    jugem.cc
Address:  210.172.182.89

おそらく問題ないと思います。



posted by nambei-x at 23:24| Comment(0) | TrackBack(0) | Linux学習帳 - CentOS | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。