更新日
03/10/06
DNSサーバー導入
トップ 構成 サーバー ネットワーク ドメイン DNS パソコン強化

1. DNSサーバー(BIND)の立ち上げ(2003/09/15作成)
固定IPアドレスを取得した時にはレジストラーのDNSを利用していました。独自ドメインを運営する上ではレジストラーのDNSでも十分ですが、せっかく固定IPアドレスを持っている特権(?)を活用しないのは「宝の持ち腐れ」になるのでDNSを立ち上げてみました。
(その他の理由)
・勉強:DNSの仕組みを理解するには、やはり実際に立ち上げてみないとわからない。
WinsdowsXP-Proで立ち上げてみたい。
- Unix系のBINDの設定とほとんど変わらないことが分かりました。
(お願い)
DNSをなんとか立ち上げましたが動作に自信がありません。もし、誤り等に気づかれた方がおられましたら、連絡をお願いいたします。
1) DNSサーバーを立ち上げるための前提条件
a) 独自ドメインを取得している。
b) 固定IPアドレスを取得している。
2) ネットワーク構成
DNSサーバーはプライマリー・サーバーとセカンダリー・サーバーが必要です。
このドメインでは、自宅のDNSサーバーをプライマリーで使用し、無料のDNSサービスをセカンダリーとして使用しています。今回はセカンダリーDNSとして「xname」を使用しました。
(個人的にはWebインターフェースが使いやすく感じています)
3) BIND9.2.3rc1の導入(2003/09/14時点で最新版)
a) INTERNET SOFTWARE CONSORTIUN」より「Current Release Candidate」の「Windows NT 4.0 and Windows 2000 (binary): BIND9.2.3rc1 - PGP Signature」をダウンロードし解凍します(WindowsXPには対応していないようですが私の環境では無事に動作しています)
安定版を好まれるかたは「Current release」の「Windows NT / Windows 2000 Binary Kit - BIND 9.2.2 - PGP Signature」をご利用されると良いと思います。
b) Windows NT 4.0 and Windows 2000 (binary): BIND9.2.3rc1 - PGP Signature」を解凍したフォルダー内の「BINDInstall.exe」を起動します。
c) 全てデフォルトのままで、「Install」ボタンをクリックしBINDを導入します。
・C:\WINDOWS\system32\dns\bin にプログラムが導入されます。
・C:\WINDOWS\system32\dns\etc に設定ファイルを格納するフォルダーが作成されます。
4) BIND9の設定
・上記ネットワーク構成におけるBINDの設定方法を記述します。
・WindowsXPの環境にて記述しています。Windows2000の方は「c:\windows」を「c:\winnt」と置き換えてください。
a) 共通鍵の作成(必須)
共通鍵は、必ず自分で作成し後述の「named.conf」の中の値と置き換えてください。
・DOSのコマンド・プロンプトにて、カレントフォルダーを「c:\windows\system32\dns\etc」に移動し次のコマンドを入力します。

  c:
  cd \windows\system32\dns\etc
  ..\bin\rndc-confgen.exe >rndc.key

・尚、このコマンドで作成される共通鍵は、実行する毎に別の値が作成されます。
b) 設定情報の作成
・太字で示した箇所は、ご自宅の環境に合わせて変更してください。
(named.conf)
acl local_network {
127.0.0.1;
192.168.0.0/16;   //適正なネットマスクを設定してください。
};
acl secondary_dns {  //セカンダリーDNSの値(xnameを使用される場合は変更不要です)
195.20.105.149;     // ns0.Xname.org
213.133.115.5;      // ns1.Xname.org
217.160.129.106;    // ns3.Xname.org
195.20.105.150;     // www.xname.org,(Webインターフェースにて使用しています)
};

# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "ycTOYYlk45g2PJrRPAn95g==";    //a)で作成した共通鍵と置き換えてください
};

options {
directory "c:\windows\system32\dns\etc";
auth-nxdomain yes;
allow-transfer {
local_network;
secondary_dns;
};
version "";
};

//loggingには500KB必要とします
logging {
channel my_file {
file "named.run" versions 5 size 100k;
severity debug 0;
print-category yes;
print-severity yes;
print-time yes;
};

category default {my_file;};
category queries {my_file;};
category lame-servers { null;};
category xfer-out {my_file;};
category config {my_file;};
};

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; }
keys { "rndc-key"; };
};

// ルートサーバーの情報
zone "." {
type hint;
file "cache.db";
};

// 逆引ローカルループバックファイル
zone "0.0.127.in-addr.arpa" {
type master;
file "127.0.0.db";
};

// master
zone "korosuke.biz" {    //独自ドメイン名
type master;
file "korosuke.biz.db";    //ゾーン定義ファイル名
notify yes;
};
(cache.db)
・変更する必要はありませんので、下記のサンプルファイルをそのまま使用してください。
(127.0.0.db)
;;;;;;;;;;; 127.0.0.db file by Len Conrad
$TTL 86400
$ORIGIN 0.0.127.IN-ADDR.ARPA.
@ SOA ns2.korosuke.biz.admin.korosuke.biz. (
2001060101 ; zone serial number in ccyymmddxx format
3600 ; slave polls master for SOA/serial number
1800 ; slave re-polls unreachable master
864000 ; slave expires zone after master unreachable
3600 ; TTL for negative answers
)
;nameservers
@ NS ns2.korosuke.biz.
;
1 PTR localhost.
(korosuke.biz.db)
;example of forward zone file: korosuke.biz
;
$TTL 86400
@ SOA ns2.korosuke.biz.admin.korosuke.biz. (
2003091501 ; zone serial number in ccyymmddxx format
3600 ; slave polls master for SOA/serial number
1800 ; slave re-polls unreachable master
864000 ; slave expires zone after master unreachable
3600 ; TTL for negative answers
)
;
;nameservers
@ NS ns2.korosuke.biz.
@ NS ns0.xname.org.
;
localhost A 127.0.0.1
;
;mail
@ MX 10 mail.korosuke.info. ; internet sends mail here
;
@ A 210.155.223.112 ; for URL without www prefix
ns2 A 210.155.223.112 ;
mail A 210.155.223.112 ;
;
www CNAME ns2.korosuke.biz. ;
ftp CNAME ns2.korosuke.biz. ;
;
c) サンプルファイル
・下記のサンプルファイルを「c:\winnt\system32\dns\etc」にダウンロードし、自分の環境用に変更します。
named.conf
cache.db
127.0.0.db
korosuke.biz.db
d) 便利なツール(バッチファイル)
・下記のバッチファイルを「c:\winnt\system32\dns\etc」にダウンロードし、自分の環境用に変更します。
rndc-confgen.bat    :秘密鍵の作成
chk_conf.bat       :named.confの文法チェック
rndc-stop.bat      :BINDの停止(秘密鍵を置き換えてください)

設定用の資料: The BIND 9 Administrator Reference Manual

5) プライマリー・ネームサーバーの登録
・ゾーンファイルの中で使用したプライマリー・ネームサーバーをドメインを取得したレジストラにて登録します。
・「korosuke.biz」を所得したレジストラ「Go Daddy」のWebサイトにてネームサーバーを登録します。(登録手順
(参考:ネームサーバーがWebサイトより登録する機能は多くのレジストラでありますが、削除する機能は「Go Daddy」、「registerfly」と「GANDI」にはあるようです。また、ネームサーバーは登録したレジストラでしか削除ができません。(ドメインを他のレジストラへTransferする前に削除が必要なようです))
ドメイン名 ネームサーバー名 IPアドレス
korosuke.biz ns2.korosuke.biz 210.155.223.112
6) セカンダリーDNSの登録
・固定IPアドレスを1個でDNSを自宅で立ち上げた場合に次に必要となるのが「Secondary DNSサーバー」です。無料のセカンダリーDNSサーバーは「The Public DNS」、「zoneedit」、「everydns」、「xname」が利用できます。
・今回は「xname」を利用してみました。(登録手順
(参考:「zoneedit」の設定方法はこちらを参照してください)
(参考:「everydns」の設定方法はこちらを参照してください)
7) ドメイン名にネームサーバーを登録
・取得したドメイン名をインターネット上で利用するためには、ドメイン名を管理するDNSサーバー(ネーム・サーバー)の登録が必要です。
ドメイン名を取得したレジストラのWebサイトにて、SecondaryDNSをサポートしているDNSサーバーを登録します。(登録後インターネット上に反映されまで、24〜48時間かかります)(登録手順)
ドメイン名 Primary Secondary
korosuke.biz ns2.korosuke.biz ns0.xname.org


メッセージ、コメントはkoro@koro.infoまで、お便りください。
ご来訪ありがとうございました。
作成日:2002/09/15 更新日:03/10/06