UnixPower on Networking
  http://www.unix-power.net/

 
  Top - Solaris8 - Solaris Bind



Domain 例:
Domain = domain1.com
FQDN = ns1.domain1.com


とします。事前に


libtool-1.4.2
openssl-0.9.6g
ANDIrand-0.7


の3つをインストールしておく必要があります。


# tar xvzf libtool-1.4.2.tar.gz
# cd libtool-1.4.2
# ./configure
# make
# make install

# tar xvzf ./openssl-0.9.6g.tar.gz
# chown -R root:other openssl-0.9.6g
# cd openssl-0.9.6g
# ./config
# make
# make install
# make build-shared
# cp libRSAglue.a /usr/local/lib/
# cp libcrypto.a /usr/local/lib/
# cp libcrypto.so /usr/local/lib/
# cp libcrypto.so.0 /usr/local/lib/
# cp libcrypto.so.0.9.6 /usr/local/lib/
# cp libssl.a /usr/local/lib/
# cp libssl.so /usr/local/lib/
# cp libssl.so.0 /usr/local/lib/
# cp libssl.so.0.9.6 /usr/local/lib/
# ln -s /usr/local/lib/libRSAglue.a /usr/lib/
# ln -s /usr/local/lib/libcrypto.a /usr/lib/
# ln -s /usr/local/lib/libcrypto.so /usr/lib/
# ln -s /usr/local/lib/libcrypto.so.0 /usr/lib/
# ln -s /usr/local/lib/libcrypto.so.0.9.6 /usr/lib/
# ln -s /usr/local/lib/libssl.a /usr/lib/
# ln -s /usr/local/lib/libssl.so /usr/lib/
# ln -s /usr/local/lib/libssl.so.0 /usr/lib/
# ln -s /usr/local/lib/libssl.so.0.9.6 /usr/lib/

# pkgadd -d ./ANDIrand-0.7-5.8-x86-1.pkg
# /etc/rc2.d/S60random start


bind本体のインストールを始める前に専用のアカウントを追加します。


# /usr/sbin/groupadd named
# /usr/sbin/useradd -g named -s /bin/false named


本体をインストールします。cshやtcshではうまくいかないので、shになって行います。


# tar xvzf bind-9.2.1.tar.gz
# cd bind-9.2.1
# sh
# CC=gcc ./configure --with-libtool --with-openssl=/usr/local/ssl
# make
# make install


キーの作成を行います。/etc/rndc.keyを作成させます。


# /usr/local/sbin/rndc-confgen -a


上記コマンドがうまくいかないときは次のコマンドを実行してIRQの設定をする


# rndcontrol -s 0
上記コマンドを実行してうまくいったら下記コマンドでIRQを開放する
# rndcontrol -c 0


共通鍵を作成します。


# dnssec-keygen -a hmac-md5 -b 512 -n HOST domain1


上記のコマンドでうまくいかない場合は次のコマンドを試します。


# dnssec-keygen -a hmac-md5 -r /dev/urandom -b 512 -n HOST domain1


現在自分がいるディレクトリの直下にKdomain1.+123+45678.keyとKdomain1.+123x+45678.privateが作成されたので、moreなりcatなりlessなりでKdomain1.+123+45678.privateを開きます。


# cat Kdomain1.+123+45678.private


例えば以下のような鍵が表示されるので、keyをメモ(メモリにコピー)しておく。

Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: AheAheAheAheAheAheAheAheAheAheAhe=


/etc/rndc.confをviで作成する。(secretには上記のKeyを貼り付ける)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	options {
		  default-server 127.0.0.1;
		  default-key     "domain1";
	};
	server 127.0.0.1{
		  key "domain1";
	};
	key "domain1" {
		  algorithm hmac-md5;
		  secret  "AheAheAheAheAheAheAheAheAheAheAhe=";
	};
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


作成したrndc.confと、rndc.keyのパーミッションを厳しくしておく。


# chmod 600 /etc/rndc.conf /etc/rndc.key
# chown named:named /etc/rndc.conf /etc/rndc.key


/etc/named.confをviで作成する。


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
options {
     directory "/var/named";
     auth-nxdomain yes;
     pid-file "/var/named/named.pid";
     version "10.3.2";
};

controls {
     inet 127.0.0.1 allow { 127.0.0.1; } keys { domain1; };
};

key "domain1" {
     algorithm hmac-md5;
     secret "AheAheAheAheAheAheAheAheAheAheAhe=";
};

zone "." {
        type hint;
        file "named.ca";
};

zone "domain1.com" {
    type master;
    file "domain1.zone";
    allow-transfer{
       local-area;
    };
    allow-query{
       any;
     };
};

zone "128.001.168.192.in-addr.arpa" {
        type master;
        file "192.168.001.128.zone";
       allow-transfer{
           local-area;
       };
       allow-query{
           any;
       };
};

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


それぞれのゾーンファイルの作成はこちらを参照。

起動ファイルの編集。このままだと再起動時に OS付属の in.named が起動してしまうので、起動ファイルをviで開いて編集しておく。


# vi /etc/rc2.d/S72inetsvc


以下のように変更記述して保存する。


===============================================================
.......省略
'stop')
        #/usr/bin/pkill -x -u 0 'in.named|inetd'		<---- コメントアウト
        /usr/bin/pkill -x -u 0 -u named  'named|inetd'			<---- 新規記述
        exit 0
        ;;


.......省略

#if [ -f /usr/sbin/in.named -a -f /etc/named.conf ]; then	<---- コメントアウト
#       echo 'starting internet domain name server.'		<---- コメントアウト
#       /usr/sbin/in.named &				<---- コメントアウト
#fi							<---- コメントアウト
if [ -f /usr/local/sbin/named -a -f /etc/named.conf ]; then		<---- 新規記述
/usr/local/sbin/named -u named ;  echo "starting internet domain name server."	<---- 新規記述
fi								<---- 新規記述

.......省略
===============================================================


一度停止させて再度起動させます。


# /etc/rc2.d/S72inetsvc stop
# /etc/rc2.d/S72inetsvc start



 
 Copyright(C) 2003-2015 UnixPower on Networking All rights reserved.