sleepingbird.net Home since May.11 2003
Copyright sleepingbird, 1993- All rights reserved.
Linux Server

TOP > Linux Server > DNS (named)

hosts.conf / named.conf

 named を使って DNS を構築する。

 /etc/hosts.conf を確認する。
 名前解決は、/etc/hosts を参照し、次にネームサーバーを利用する設定にしておく。

# vi /etc/host.conf
order hosts,bind
multi on
 次に /etc/named.conf を修正する。
 ここでは、設定ファイルの場所と、それぞれのファイル名を指定する。
 設定ファイルは /var/named ディレクトリ下に置く。
 forwarders に接続 ISP のネームサーバーを設定し、負荷を軽減する。(実際の設定では ***.***.***.*** には ISP の DNS IP アドレスを書き込む。)
 ファイル名はそれぞれ次のとおりとする。
  • ルートネームサーバー情報ファイル
    named.ca
  • ループバック順引きファイル
    localhost.zone
  • ループバック逆引きファイル
    named.local
  • 自ネットワーク順引きファイル
    qcp.zone
  • 自ネットワーク逆引きファイル
    qcp.rev
# vi /etc/named.conf
// generated by named-bootconf.pl
options {
               directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
                forward first;
                forwarders {
                                ***.***.***.***;
                                ***.***.***.***;
                                ***.***.***.***;
                };
};

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

zone "localhost" IN {
                type master;
                file "localhost.zone";
                allow-update { none; };
};

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

zone "qcp.jp" IN {
                type master;
                file "qcp.zone";
                allow-update { none; };
};

zone "1.99.10.in-addr.arpa" IN {
                type master;
                notify no;
                file "qcp.rev";
                allow-update { none; };
};

root name server 情報ファイル

 ルートネームサーバー情報ファイル named.ca の内容は、FTP.INTERNIC.NET サーバ内の /domain/named.root そのもの。
 情報が更新されている場合もあるので、必要があれば更新しておく。

# cd /var/named
# ftp FTP.INTERNIC.NET
Connected to FTP.INTERNIC.NET (192.0.34.27).
220 Internic FTP Server
Name (FTP.INTERNIC.NET:): anonymous
331 Anonymous login ok, send your complete email address as your password.
Password:
230 Anonymous access granted, restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,0,34,27,221,111).
150 Opening ASCII mode data connection for file list
drwxr-xr-x   2 nobody   nobody       4096 Feb  8 08:47 domain
226 Transfer complete.
ftp> cd domain
250 CWD command successful.
ftp> ls
227 Entering Passive Mode (192,0,34,27,221,112).
150 Opening ASCII mode data connection for file list
-rw-r--r--   1 root     root          784 Feb  8 03:11 INTERNIC_ROOT_ZONE.signatures
-rw-r--r--   1 root     root          804 Feb  8 02:50 arpa.zone.gz
-rw-r--r--   1 root     root           75 Feb  8 03:07 arpa.zone.gz.md5
-rw-r--r--   1 root     root           72 Feb  8 03:08 arpa.zone.gz.sig
-rw-r--r--   1 root     root         2515 Jan 28  2004 db.cache
-rw-r--r--   1 root     root           43 Jan 28  2004 db.cache.md5
-rw-r--r--   1 root     root           72 Jan 28  2004 db.cache.sig
-rw-r--r--   1 root     root       168840 Feb  8 02:50 edu.zone.gz
-rw-r--r--   1 root     root           74 Feb  8 03:07 edu.zone.gz.md5
-rw-r--r--   1 root     root           72 Feb  8 03:08 edu.zone.gz.sig
-rw-r--r--   1 root     root         2164 Feb  8 02:50 inaddr.zone.gz
-rw-r--r--   1 root     root           77 Feb  8 03:07 inaddr.zone.gz.md5
-rw-r--r--   1 root     root           72 Feb  8 03:08 inaddr.zone.gz.sig
-rw-r--r--   1 root     root         3465 Feb  8 08:42 int.zone.gz
-rw-r--r--   1 root     root           46 Feb  5  2003 int.zone.gz.md5
-rw-r--r--   1 root     root           38 Feb  8 08:42 int.zone.md5
-rw-r--r--   1 root     root         2518 Jan 28  2004 named.cache
-rw-r--r--   1 root     root           46 Jan 28  2004 named.cache.md5
-rw-r--r--   1 root     root           72 Jan 28  2004 named.cache.sig
-rw-r--r--   1 root     root         2517 Jan 28  2004 named.root
-rw-r--r--   1 root     root           45 Jan 28  2004 named.root.md5
-rw-r--r--   1 root     root           72 Jan 28  2004 named.root.sig
-rw-r--r--   1 root     root        15448 Feb  8 02:50 root.zone.gz
-rw-r--r--   1 root     root           75 Feb  8 03:07 root.zone.gz.md5
-rw-r--r--   1 root     root           72 Feb  8 03:08 root.zone.gz.sig
226 Transfer complete.
ftp> get named.root named.ca
local: named.ca remote: named.root
227 Entering Passive Mode (192,0,34,27,221,113).
150 Opening BINARY mode data connection for named.root (2517 bytes).
226 Transfer complete.
2517 bytes received in 0.00211 secs (1.2e+03 Kbytes/sec)
ftp> quit
221 Goodbye.
# ls -la
合計 28
drwxr-xr-x    2 named    named        4096 Feb  9 07:34 ./
drwxr-xr-x   20 root     root         4096 Dec 19 00:48 ../
-rw-r--r--    1 root     root          478 Feb  8 22:41 localhost.zone
-rw-r--r--    1 root     root         2517 Feb  9 07:36 named.ca
-rw-r--r--    1 root     root          319 Feb  8 22:50 named.local
-rw-r--r--    1 root     root          708 Feb  8 22:13 qcp.rev
-rw-r--r--    1 root     root         1270 Feb  8 22:08 qcp.zone
# 
# less named.ca

;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  <file>"
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC 
;       under anonymous FTP as
;           file                /domain/named.root
;           on server           FTP.INTERNIC.NET
;       -OR-                    RS.INTERNIC.NET
;
;       last update:    Jan 29, 2004
;       related version of root zone:   2004012900
;
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     192.228.79.201
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
;
; formerly NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; operated by VeriSign, Inc.
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     192.58.128.30
;
; operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129 
;
; operated by ICANN
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; operated by WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
; End of File

loop back の設定

 ループバック順引きファイルとループバック逆引きファイルの設定は次のとおり。
 なお、SOAレコードの最初のパラメータは、ネームサーバの名前で、二つ目は管理者の電子メールアドレスの `@' を `.' に置き換えたもの。必要な場合にはこのアドレスにメールが送られる。
 NS レコードには、ネームサーバーを指定する。

# vi /var/named/localhost.zone
      $TTL 3D
      $ORIGIN localhost.
      @             IN           SOA
      ns.qcp.jp. hostmaster.qcp.jp. (
                                              1
      ; serial
                                            8H
      ; refresh
                                            2H
      ; retry
                                            4W
      ; expiry
                          1D ) ; minimum
                 IN       NS     localhost.
      localhost. IN       A      127.0.0.1
# vi /var/named/named.local
      $TTL 3D
@       IN      SOA     ns.qcp.jp. hostmaster.qcp.jp. (
                        1       ; Serial
                        8H      ; Refresh
                        2H      ; Retry
                        4W      ; Expire
                        1D)     ; Minimum
                NS      ns.qcp.jp.

1               PTR     localhost.

自ネットワークの設定

 /etc/named.conf で zone に domain を指定してあるので名前の最後に `.' を付けなければマシン名を FQDN (Fully Qualified Domain Name)に補完してくれる。
 MX にはメールサーバーを指定し、IN A レコードでマシン名とIP アドレスを関連づける。IN CNAME はマシン名の別名定義。参照する元の名前は必ず IN A レコードで定義したものにする。

# vi /var/named/qcp.zone
;
;
; Zone file for qcp.jp
;
; The full zone file
;
$TTL 3D
@       IN      SOA     ns.qcp.jp. hostmaster.qcp.jp. (
                        200303301       ; serial, todays date + todays serial #
                        8H              ; refresh, seconds
                        2H              ; retry, seconds
                        4W              ; expire, seconds
                        1D )            ; minimum, seconds
;
                NS      ns              ; Inet Address of name server
                MX      10 mail         ; Primary Mail Exchanger

localhost IN A 127.0.0.1

ns              IN      A       10.99.1.101
                MX      10      mail
spike           IN      CNAME   ns
www             IN      CNAME   ns
ftp             IN      CNAME   ns
mail            IN      CNAME   ns
ntp             IN      CNAME   ns

rerun           IN      A       10.99.1.103
                MX      10      mail

woodstock       IN      A       10.99.1.1
                MX      10      mail

linus           IN      A       10.99.1.3
                MX      10      mail

VAIO-GR7E       IN      A       10.99.1.5
                MX      10      mail

lucy            IN      A       10.99.1.107
                MX      10      mail

sally           IN      A       10.99.1.109
                MX      10      mail
 自ネットワークの逆引きファイル。
 PTR レコードで IP アドレスとマシン名を関連づける。
# vi /var/named/qcp.rev
;
; Reverse Zone file for qcp.rev
;
; The full zone file
;
$TTL 3D
@       IN      SOA     ns.qcp.jp. hostmaster.qcp.jp. (
                        200303301       ; serial, todays date + todays serial #
                        8H              ; refresh, seconds
                        2H              ; retry, seconds
                        4W              ; expire, seconds
                        1D )            ; minimum, seconds
;
                NS      ns              ; Inet Address of name server

101             PTR     ns.qcp.jp.
103             PTR     spike.qcp.jp.
1               PTR     woodstock.qcp.jp.
3               PTR     linus.qcp.jp.
105             PTR     VAIO-GR7E.qcp.jp.
107             PTR     lucy.qcp.jp.
109             PTR     sally.qcp.jp.

起動と確認

 /etc/resolv.conf でネームサーバーを指定する。

# vi /etc/resolv.conf
nameserver 127.0.0.1
search qcp.jp
 named を起動する。
/etc/init.d/named start
 設定の確認を dig で行う。
# dig -x 127.0.0.1
; <<>> DiG 8.3 <<>> -x 
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUERY SECTION:
;;      1.0.0.127.in-addr.arpa, type = ANY, class = IN

;; ANSWER SECTION:
1.0.0.127.in-addr.arpa.  3D IN PTR  localhost.

;; AUTHORITY SECTION:
0.0.127.in-addr.arpa.   3D IN NS        ns.qcp.jp.

;; ADDITIONAL SECTION:
ns.qcp.jp.    3D IN A         10.99.1.101

;; Total query time: 0 msec
;; FROM: spike.qcp.jp to SERVER: default -- 127.0.0.1
;; WHEN: Sat May  3 14:38:55 2003
;; MSG SIZE  sent: 40  rcvd: 112
# dig localhost
; <<>> DiG 8.3 <<>> localhost 
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUERY SECTION:
;;      localhost, type = A, class = IN

;; ANSWER SECTION:
localhost.              3D IN A         127.0.0.1

;; AUTHORITY SECTION:
localhost.              3D IN NS        localhost.

;; ADDITIONAL SECTION:
localhost.              3D IN A         127.0.0.1

;; Total query time: 0 msec
;; FROM: spike.qcp.jp to SERVER: default -- 127.0.0.1
;; WHEN: Sat May  3 14:39:12 2003
;; MSG SIZE  sent: 27  rcvd: 73
 ここまで確認できたら、試しにいろいろなサイトの IP アドレスを引いてみる。逆引き(IP アドレスから名前を引く)の場合は -x オプションを付ける。うまくいったら、次回再起同時に自動実行するようにサービス起動設定をしておく。
# chkconfig named on