| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
IPアドレスではなく、コンピュータ名でアクセスできるように設定します。
なお、自分の環境は固定IPではないので、ここでの設定は内部でのみの利用となります。
また、簡単に導入する為にパッケージよりインストールすることとします。
ユーザの作成
「BIND」用のユーザを作成します。
Solaris# groupadd -g 10004 named Solaris# useradd -u 10004 -g named -s /bin/false named |
パッケージをダウンロードし、インストールします。
Solaris# wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/bind-9.3.1-sol10-intel-local.gz Solaris# gunzip bind-9.3.1-sol10-intel-local.gz <= ダウンロードしたファイルの展開 Solaris# pkgadd -d bind-9.3.1-sol10-intel-local |& tee pkg-bind.log <= パッケージのインストール Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: <= 空Enter Do you want to install these conflicting files [y,n,?,q] <= y |
鍵の作成
rndc経由でnamedを操作する為に、鍵を作成します。
Solaris# rndc-confgen -a <= /etc/rndc.key の作成
Solaris# dnssec-keygen -a hmac-md5 -b 512 -n USER rndc <= 共通鍵の作成
Krndc.+123+45678
Solaris# cat Krndc.+123+45678.private <= 鍵の確認
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogeho==
<= Key: の後の乱数をコピーする
Solaris# vi /etc/rndc.key <= 鍵の編集
secretの後ろの部分を変更する
key "rndc-key" {
algorithm hmac-md5;
secret "iEiDVMLLrN2ZAS01Uswjyw==";
↓
secret "hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogeho==";
<= 作成した鍵の Key: より後ろの部分に変更
};
Solaris# rm Krndc.+123+45678.* <= 鍵の削除
|
まず、「rndc」の設定ファイルを編集し、その後「BIND」の設定ファイルを編集します。
Solaris# vi /etc/rndc.conf <= 「rndc」の設定ファイルの作成
include "/etc/rndc.key" <= インクルードする鍵を指定
options {
default-server 127.0.0.1;
default-key "rndc-key"; <= /etc/rndc.key ファイルで指定したkeyの名前を指定
};
Solaris# vi /etc/named.conf <= 「BIND」の設定ファイルの作成
options {
directory "/var/named"; <= 設定ファイルのあるディレクトリを指定
pid-file "/var/named/named.pid"; <= プロセスIDを格納するファイルを指定
version "unknown"; <= バージョン情報を非表示
allow-query{
127.0.0.1;
192.168.0.0/16; <= DNSサーバを利用するネットワークを指定
};
allow-recursion{
127.0.0.1;
192.168.0.0/16; <= DNSサーバをキャッシュサーバとして利用するネットワークを指定
};
allow-transfer{
127.0.0.1;
192.168.0.0/16; <= DNSサーバのゾーンデータの転送先のネットワークを指定
};
forwarders{
192.168.0.1; <= このDNSサーバで名前解決ができなかった場合の問合せ先を指定
};
};
include "/etc/rndc.key"; <= インクルードする鍵を指定
controls {
inet 127.0.0.1 allow { 127.0.0.1; } keys { rndc-key; };
<= keys の後ろは /etc/rndc.key ファイルで指定したkeyの名前を指定
};
logging {
category lame-servers { null; }; <= 逆引きのエラーログをとらない
};
view "internal" {
match-clients { 192.168.0.0/16; 127.0.0.0/8; }; <= 許可するネットワーク
recursion yes; <= 再帰検索を行う
zone "." {
type hint;
file "named.root";
};
zone "localhost" {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "localhost.rev";
};
zone "crimson-snow.net" { <= 正引きゾーンファイル
type master;
file "crimson-snow.net.zone";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" { <= 逆引きゾーンファイル
type master;
file "0.168.192.in-addr.arpa";
allow-update { none; };
};
};
|
ディレクトリの作成
必要なディレクトリを作成します。
Solaris# mkdir /var/named |
ルートゾーンの最新化
最新のルートゾーンの定義ファイルをダウンロードします。
Solaris# wget ftp://rs.internic.net/domain/named.root <= 最新の定義ファイルのダウンロード Solaris# mv named.root /var/named/ <= 定義ファイルを移動 |
localhostのゾーンファイル作成
まず、localhostのゾーンファイルを作成します。
正引きゾーンファイル
ホスト名(ドメイン名)からIPアドレスを解決する為のファイルを作成します。
Solaris# vi /var/named/localhost.zone <= 正引きゾーンファイルの作成
$TTL 86400
@ IN SOA crimson-snow.net. root.crimson-snow.net.(
2005071701 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS crimson-snow.net.
localhost. IN A 127.0.0.1
|
逆引きゾーンファイル
IPアドレスからホスト名(ドメイン名)を解決する為のファイルを作成します。
Solaris# vi /var/named/localhost.rev <= 逆引きゾーンファイルの作成
$TTL 86400
@ IN SOA crimson-snow.net. root.crimson-snow.net.(
2005071701 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS crimson-snow.net.
1 IN PTR localhost.
|
LAN内の端末用のゾーンファイル作成
次に、LAN内の端末用のゾーンファイルを作成します。
正引きゾーンファイル
ホスト名(ドメイン名)からIPアドレスを解決する為のファイルを作成します。
Solaris# vi /var/named/crimson-snow.net.zone <= 正引きゾーンファイルの作成
$TTL 86400
@ IN SOA crimson-snow.net. root.crimson-snow.net.(
2005071701 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS crimson-snow.net.
IN MX 10 crimson-snow.net.
@ IN A 192.168.0.2 <= サーバのIPアドレス
windows IN A 192.168.0.3 <= クライアントのIPアドレス
www IN CNAME @ <= http://www.crimson-snow.netでもアクセスできるようにする
|
逆引きゾーンファイル
IPアドレスからホスト名(ドメイン名)を解決する為のファイルを作成します。
Solaris# vi /var/named/0.168.192.in-addr.arpa <= 逆引きゾーンファイルの作成
$TTL 86400
@ IN SOA crimson-snow.net. root.crimson-snow.net.(
2005071701 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS crimson-snow.net.
2 IN PTR crimson-snow.net. <= サーバ名
3 IN PTR windows <= クライアント名
|
作成したディレクトリと設定ファイルのパーミッションとオーナーを変更します。
また、起動に必要なライブラリのシンボリックリンクをはります。
Solaris# chmod -R 700 /var/named <= パーミッションの変更 Solaris# chown -R named:named /var/named <= オーナーの変更 Solaris# ln -s /usr/sfw/lib/libcrypto.so.0.9.7 /usr/local/lib/ <= ライブラリのシンボリックリンクをはる |
Solaris# /usr/local/sbin/named -c /etc/named.conf -u named |
DNSサーバの自動起動
Solarisを起動する際に自動的にDNSサーバも起動するようにします。
Solaris# vi /etc/init.d/named <= 起動スクリプトファイルの作成
#!/sbin/sh
PID=`/usr/bin/ps -aef | /usr/bin/awk '{print $1" "$2}' | /usr/bin/grep named | /usr/bin/awk '{print $2}'`
case "$1" in
'start')
if [ -f /usr/local/sbin/named -a -f /etc/named.conf ]; then
if [ $PID ]; then
echo "named has started"
else
/usr/local/sbin/named -c /etc/named.conf -u named
echo "Running: named"
fi
fi
;;
'stop')
if [ $PID ]; then
kill -TERM $PID
echo "Stopping: named"
else
echo "named has stopped"
fi
;;
'restart')
$0 stop
sleep 3
$0 start
;;
'status')
if [ $PID ]; then
echo "named starts"
else
echo "named stopped"
fi
;;
*)
echo "Usage: $0 { start | stop | restart | status }"
exit 1
;;
esac
exit 0
Solaris# chmod 744 /etc/init.d/named <= 起動スクリプトに実行権限付加
Solaris# ln /etc/init.d/named /etc/rc2.d/S72named <= ランレベル2で起動する
Solaris# ln /etc/init.d/named /etc/rc3.d/S72named <= ランレベル3で起動する
Solaris# ln /etc/init.d/named /etc/rc0.d/K72named <= ランレベル0で停止する
|
Solarisで参照するDNSサーバを変更する場合、以下のようにします。
Solaris# vi /etc/resolv.conf <= 設定ファイルの編集 nameserver xxx.xxx.xxx.xxx <= 元々参照していたDNSサーバ ↓ nameserver 192.168.0.2 <= サーバのIPアドレスを指定 |