[solaris Top]

DNSのセットアップ


solaris8にはbind 8.1.2が標準で入っていますので、構成ファイルを作成すればそのまま動きます。

ドメイン構成で紹介のとおり、グローバルなDNSは外部にあり、ここではBIND自体の設定はローカルアドレス、プライマリ設定とします。

named.confの作成

solaris8では/etc/init.d/inetsvcによりデーモンが起動されたときに/etc/named.confはin.namedによって読み取られます。インストールしたままでは、/etc/named.confは存在しないので新規に作成します。

/etc/named.conf

// ゾーンファイルのありかを指定
options {
        directory "/var/named/pri";
};

// b-dash.netゾーンの正引きファイル
zone "b-dash.net" {
        type master;
        file "b-dash.net";
};

// ネットワークの逆引きファイル
zone "0.168.192.in-addr.arpa" {
        type master;
        file "192.168.0";
};

// localhostの正引きファイル
zone "localhost" {
        type master;
        file "localhost";

};

// localhostの逆引きファイル
zone "0.0.127.in-addr.arpa" {
        type master;
        file "127.0.0";
};

// トップドメインのキャッシュファイル
zone "." {
        type hint;
        file "root.cache";
};

1,derectoryはデータベースファイルを置くディレクトリを指定。ここでは/var/named/pri
2.zoneブロックはゾーン固有の情報を指定。
3..typeの種類はプライマリはmaster、セカンダリはslave、ゾーン情報だけを持つサーバー指定にはhintを指定。4.fileは各ファイル名を指定。

zoneファイルの作成

named.confで指定した各ファイルを作成します


/var/named/pri/b-dash.net

@         IN   SOA  sol.b-dash.net. root.sol.b-dash.net. (
                                2000090901       ; serial,
                                10800            ; refresh,
                                3600             ; retry,
                                604800           ; expire,
                                86400 )          ; minimum, ……(1)
                        NS      sol              ;          ……(2)
                        MX      10 mail          ;          ……(3)

sol             IN      A       192.168.0.3      ;          ……(4)
dns1            IN      CNAME   sol.b-dash.net.  ;          ……(5)
mail            IN      CNAME   sol.b-dash.net.
www             IN      CNAME   sol.b-dash.net.
ftp             IN      CNAME   sol.b-dash.net.

各ゾーンデータベースファイルの書式

書式:
key@はORIGIN(オリジン)を表し、カレントドメイン名の省略形

key      IN      resource-record      value 

(1) resource-recordがSOA(Start Of Authority)の場合の書式:

key      IN      SOA      nameserver     postmasetr    (・・・・・)
nameserverはネームサーバーのFQDN
postmasterはネームサーバーの管理者宛メールアドレス。通常のアドレスとは異なり@の代わりにドットで区切る
(・・・・・)には次の数字が入る。セミコロン(;)以下はコメント
・serial データファイルのシリアル番号。ファイル更新時には必ず数字を増やす。
・refresh セカンダリサーバがプライマリサーバのserial値をチェックする間隔。
・retry セカンダリサーバがプライマリサーバ参照に失敗した場合の再試行間隔。
・expire セカンダリサーバがプライマリサーバ参照に失敗した場合、データを破棄するまでの時間。
・minimum キャッシュした情報の保持時間。

(2) key省略時には前レコードのkeyを引き継ぎます。resource-recordはNS(Name Server)であり、ネームサーバーが sol であることを定義しています。

(3) 同じく resource-recordはMX(Mail eXchenger)であり、このドメイン宛のメールを送付するホストを指定します。"10"はMXレコードにおけるプリファレンス値。同一ドメイン内に複数のメールサーバがある場合に、次の行に"20 mail2"の記述があれば、mailへの配送失敗時にmail2に配送を試みます。

(4)  resource-recordはA(Address)であり、ホスト名とIPアドレスの対応を表します。この場合、solのIPアドレスが192.168.0.3であることを定義しています。sol のように後ろにドットを付けない不完全指定ではカレントドメイン名(b-dash.net)が付加され、sol.b-dash.netというFQDNになります。

(5) resource-recordはCNAME(Cannonical Name)であり、マシンの別名を定義します。この場合、solの別名をそれぞれ、dns1 mail www ftp と定義しています。


/var/named/pri/192.168.0

@       IN      SOA  sol.b-dash.net. root.sol.b-dash.net. (
                                2000090901        ; serial
                                10800             ; refresh
                                3600              ; retry
                                604800            ; expire
                                86400 )           ; minimum
        IN              NS      sol               ;         ……(1)
3       IN              PTR     sol.b-dash.net.   ;         ……(2)

(1) SOAレコードは前記と同じ。ただし逆引きのオリジン(@)は0.168.192.in-addr.arpaです。

(2) resource-recordはPTR(Point TeR)であり、IPアドレスに対するホスト名を定義します。この場合の3は、ドットが付いていないため、逆引きのIPアドレス3.0.168.192.in-addr.arpaに対するホスト名はsol.b-dash.net.になります。


/var/named/pri/localhost

$TTL 3600
@               IN      SOA     localhost. postmaster.localhost. (
                                2000090901      ;serial
                                3600            ;refresh
                                1800            ;retry
                                604800          ;expiration
                                3600 )          ;minimum

                        NS      localhost.
                        A       127.0.0.1

/var/named/pri/127.0.0

$TTL 3600
@               IN      SOA     localhost. postmaster.localhost. (
                                2000090901      ;serial
                                3600            ;refresh
                                1800            ;retry
                                604800          ;expiration
                                3600 )          ;minimum

                        NS      localhost.
1                       PTR     localhost.

/var/named/pri/root.cache

rootcacheファイルは世界のトップドメインを記述します。

ftp.rs.internic.net/domain/named.rootより、最新のこのファイルを入手しroot.cacheとして保存します。

;       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 registration services
;       under anonymous FTP as
;           file                /domain/named.root
;           on server           FTP.RS.INTERNIC.NET
;       -OR- under Gopher at    RS.INTERNIC.NET
;           under menu          InterNIC Registration Services (NSI)
;              submenu          InterNIC Registration Archives
;           file                named.root
;
;       last update:    Aug 22, 1997
;       related version of root zone:   1997082200
;
;
; 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     128.9.0.107
;
; 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
;
; temporarily housed at NSI (InterNIC)
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129 
;
; temporarily housed at ISI (IANA)
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; housed in Japan, operated by WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
; End of File

リゾルバの設定

ネットワークの設定では/etc/resolv.confファイルに外部のDNSを設定しましたが、ここでは以下のように変更します。

/etc/resolv.conf

domain          b-dash.net
nameserver      127.0.0.1

hostsファイルの変更

同じく/etc/hostsファイルに別名定義を追加します。

# Internet host table
#
127.0.0.1       localhost
192.168.0.3     sol www mail dns1 ftp loghost

BINDの起動

以上の準備が整ったら以下のコマンドにてin.namedを起動します。

# /etc/rc2.d/S72inetsvc start

namedの再起動は

# kill -HUP `cat /etc/named.pid`

動作確認

DNSの問い合わせ確認をします。

% nslookup sol
Server: localhost
Address: 127.0.0.1

Name: sol.b-dash.net
Address: 192.168.0.3

IPアドレスより逆引きの確認

% nslookup 192.168.0.3
Server: localhost
Address: 127.0.0.1

Name: sol.b-dash.net
Address: 192.168.0.3