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