<<BINDの設定>>(改)

自宅でネームサーバーを立てるための設定方法を紹介します。かなり骨のある作業でした。

 <設定環境>
  ・BIND-9.2.1-1
  ・CyberBB(固定IP1個)
  ・固定IP : 43.244.205.18
  ・ドメイン : raicho.org
  ・外向きと内向き設定をする。ただし外の逆向きはプロバイダーの許可がないため設定しない。
  ・セカンダリーDNSは twisted4life.com に依頼する。(無償のサービス業者)

  * このネームサーバーの構築にあたっては House Srever High-Mountainさん、
     自宅サーバーマニアックスさんのアドバイスをいただいています。お二人の暖かい励ましに
     感謝しています。

ネットワーク
IPアドレス ホスト名 説明
192.168.1.1 - ルーター
192.168.1.2 ns1 www/mail/ftpサーバー
192.168.1.3 ns2 DNSサーバー
192.168.1.2 www -
192.168.1.2 ftp -
192.168.1.2 mail -
192.168.1.5 win2k デスクトップPC
192.168.1.6 winxp ノートPC
192.168.1.7 2000pro デスクトップPC
区切り線
-- named.conf の記述 --

# vi /etc/named.conf


acl localnet {
192.168.1.0/24;
127.0.0.1;
};

options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
auth-nxdomain yes;
allow-transfer {localnet; };
allow-query {localnet; };
version" ";            << バージョンを隠す設定です。
};

//
// a caching only nameserver config
//

view "inside" {
match-clients {localnet; };
recursion yes;

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

zone "0.0.127.in-addr.arpa" {
type master;
file "localhost.rev";
};

zone "raicho.org" {
type master;
file "in-raicho.zone";
};

zone "1.168.192.in-addr.arpa" {
type master;
file "in-raicho.rev";
};
};

view "outside" {
match-clients {any; };
allow-query {any; };
recursion no;

zone "raicho.org" {
type master;
file "out-raicho.zone";
allow-transfer {localnet; 203.115.193.183; };  << セカンダリーDNSのアドレス
};
};
区切り線
* 各zone fileの記述(新規作成します。)
 # vi /var/named/zone file名

* 文法的なチェックは次のように行い、OKと表示されれば文法的には大丈夫です。

 # /usr/sbin/named-checkzone ドメイン名 /var/named/ファイル名
区切り線2
-- localhost.rev の記述 --


$TTL 86400
@ IN SOA ns2.raicho.org. root.raicho.org. (
              2004100501
              7200
              3600
              2419200
              86400 )
      IN   NS   ns2.raicho.org.  << サーバー名
1     IN   PTR  localhost.
区切り線2
-- in-raicho.zone の記述 --


$TTL 86400
@ IN SOA ns2.raicho.org. root.raicho.org. (
              2004100501
              7200
              3600
              2419200
              86400 )
          IN NS ns2.raicho.org.
           IN MX 10 mail.raicho.org.
localhost     IN A 127.0.0.1
ns1        IN A 192.168.1.2
ns2        IN A 192.168.1.3
win2k       IN A 192.168.1.5
winxp       IN A 192.168.1.6
2000pro      IN A 192.168.1.7
www        IN CNAME ns1
ftp         IN CNAME ns1
mail        IN A 192.168.1.2
    << 別名(CNAME)を使わずIPアドレスを記述
区切り線2
-- in-raicho.rev の記述 --


$TTL 86400
@ IN SOA ns2.raicho.org. root.raicho.org. (
              2004100501
              7200
              3600
              2419200
              86400 )
          IN NS ns2.raicho.org.
2          IN PTR ns1.raicho.org.
3          IN PTR ns2.raicho.org.
5          IN PTR win2k.raicho.org.
6          IN PTR winxp.raicho.org.           
7          IN PTR 2000pro.raicho.org.    
区切り線2
-- out-raicho.zone の記述 --


$TTL 86400
@ IN SOA ns2.raicho.org. root.raicho.org. (
              2004100501
              7200
              3600
              2419200
              86400 )
          IN A 43.244.205.18     << この記述でwwwがなくても引ける
                              
          IN NS ns2.raicho.org.
          IN NS ns1.twisted4life.com.  << セカンダリーDNSサーバー
           IN MX 10 mail.raicho.org.
ns1         IN A 43.244.205.18
ns2        IN A 43.244.205.18
www        IN CNAME ns1
ftp         IN CNAME ns1
mail         IN A 43.244.205.18    << 別名(CNAME)を使わずIPアドレスを記述
区切り線

* 設定完了後、namedの起動。
  # /etc/rc.d/init.d/named start

* 下記の表示がされればOK。
  starting named:               OK

* また、Linux起動時に自動的にnamedが立ち上がるようにしておきます。
  # chkconfig named on

* サーバーが自分自身で名前解決できるように、/etc/resolv.conf ファイルのnameserver行に
  127.0.0.1
を追記します。

* 私は2台のサーバーに役割を分担して運用しています。このような場合、www/mail/ftpサーバーのns1サ   ーバーの /etc/resolv.confファイルの書き換えを忘れないでください。
  nameserver行に192.168.1.3(ns2のIPアドレス)
を書いてください。


* 以上で自前サーバーの設定は完了しましたが、確認のためdigコマンド等を使って、
  「正引き」「逆引き」「別名」「MXレコード検索」が確実にできるか確認しましょう。

  [root@ns1 /root]# dig www.raicho.org a   << Lan内の正引きを調べる場合
  ; <<>> DiG 9.2.1 <<>> www.raicho.org a
  ;; global options: printcmd
  ;; Got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29525
  ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

  ;; QUESTION SECTION:
  ;www.raicho.org. IN A

  ;; ANSWER SECTION:
  www.raicho.org. 86400 IN A 192.168.1.2

  ;; AUTHORITY SECTION:
  raicho.org. 86400 IN NS ns2.raicho.org.

  ;; ADDITIONAL SECTION:
  ns2.raicho.org. 86400 IN A 192.168.1.3

  ;; Query time: 3 msec
  ;; SERVER: 127.0.0.1#53(127.0.0.1)
  ;; WHEN: Fri Nov 21 10:21:10 2003
  ;; MSG SIZE rcvd: 82

  [root@ns1 /root]# dig -x 192.168.1.3        << 192.168.1.3の逆引きを調べる場合

* また、独自ドメインのレジストラ業者へのネームサーバーの登録(変更)も忘れずに行ってください。
  私の場合 名づけてねっと で独自ドメインを取得し、ネームサーバーを登録しています。

* さらにルーターの53番ポート(tcp,udp)の開放も忘れずに行います。