ドメイン登録記その2 bind9 の設定

申し込みをしてからだいぶ時間がたってますが、続きです^^;
後でまとめて、サーバ構築にもアップします。
まず、 whois データベースに登録されるのを待ちましょう。 確認の方法は、 プロンプトから

$ whois yondarikuwandari.com

です。 登録者の情報が表示されればよいです。 私の場合は、 24 時間後に確認したら登録されてました。

いよいよ、 bind9 の設定です。 設定するのは /etc/named.conf と zone ファイル各種。 ファイルの置かれているディレクトリは、ディストリビューションによっても変わります。適宜読み替えてください。 下の例は RedHat9 です。
LAN 側の正引きと逆引き、 WAN の正引きの zone ファイルを作成します。
ここで我が家の環境をおさらいしておきましょう。 持っている固定 IP アドレスは一個。 NTT-ME BA8000 Pro というブロードバンドルータを使用しています。 LAN 内にあるサーバは一台で、 ネームサーバほか、www, ftp, mail などのサーバも兼ねます。

(1) 取得したグローバル IP アドレス:218.45.162.65
(2) ローカルのネットワークアドレス:192.168.100.0/24
(3) ネームサーバの IP アドレス:192.168.100.1
(4) Gatway(ルータの ローカル IP アドレス:192.168.100.254
(5) 取得したドメイン:yondarikuwandari.com
(6) ネームサーバ名:ns (ns.yondarikuwandari.com)
(7) WWW サーバ名:www (www.yondarikuwandari.com)
(8) FTP サーバ名:ftp (ftp.yondarikuwandari.com)
(9) メールサーバ名:mail (mail.yondarikuwandari.com)
(10) サーバ管理者のメールアドレス root@yondarikuwandari.com

さて、 まずは /etc/named.conf です。 # 以降はコメントになります。file で指定されているファイル名はお好きなものに。 /var/named/ にちゃんとファイルがあればよいです。

# /etc/named.conf 2004/09/15

# ローカルなネットワークのACL
acl localnet {
    192.168.100.0/24;              # (2)
    127.0.0.1;
};

# Global Options
options {
    directory “/var/named”;        # zone ファイルをおくディレクトリ
    auth-nxdomain yes;             # NXDOMAIN で常に AA をセット
    allow-transfer { localnet; };  # zone 転送を許可するホスト群(Defaultに設定)
    allow-query { localnet; };     # 問合せを許可するホスト群(Defaultに設定)
};

# LAN 側の view 定義
view “inside” {
    match-clients { localnet; };   # この view の対象ホスト群
    recursion yes;                 # 再起検索設定をする

    # お約束
    zone “.” {
        type hint;
        file “named.root”;
    };

    # localhost の逆引き zone
    zone “0.0.127.in-addr.arpa”{
        type master;
        file “localhost.rev”;
    };

    # 自ドメインの正引き zone
    zone “yondarikuwandari.com”{   # (5)
        type master;
        file “mydomain.zone”;
    };

    # 自ドメインの逆引き zone
    zone “100.168.192.in-addr.arpa”{ # (2)から導き出しましょう
        type master;
        file “mydomain.rev”;
    };
};

# WAN 側の view 定義
view “outside” {
    match-clients { any; };
    allow-query { any; };
    recursion no;

    zone “yondarikuwandari.com” {  # (5)
    type master;
    file “mydomain_outside.zone”;
    allow-transfer { localnet; };  # LAN 内に許可
    notify yes;
    };
};

続いて zone ファイルです。 小さくて見づらいですが、末尾に “.” が書いてあるところがミソ。
SOA の後は、この定義ファイルが置かれているサーバの FQDN。 次の管理者アドレスの”@”は、”.“に置き換えて記述します。
“;” 以降がコメントになります(なんで named.conf と違うのかね)。
serial はファイルを編集したら必ず前のものより大きい値に書き換えてあげます。 慣例的に、 修正した年月日(YYYYMMDD) の後にその日の更新回数を二桁の数字をつけて表します。

・/var/named/named.root
  ftp://rs.internic.net/domain/named.root の内容をそのままコピーします。

・/var/named/localhost.rev

$TTL 86400
@         IN   SOA    ns.yondarikuwandari.com. root.yondarikuwandari.com. ( ;
                     
2004091401 ; serial(YYYYMMDDNN)
                     
3600 ; refresh every 1 hours
                     
3600 ; retry after 1 hour
                     
3600000 ; expire after 1000 hours
                     
36000 ; default ttl is 10 hours
                     
)
          IN   NS     localhost.
1         IN   PTR    localhost.

・/var/named/mydomain.zone

$TTL 86400
@         IN   SOA    ns.yondarikuwandari.com. root.yondarikuwandari.com. ( ;
                     
2004091401 ; serial
                     
3600 ; refresh every 1 hours
                     
3600 ; retry after 1 hour
                     
3600000 ; expire after 1000 hours
                     
36000 ; default ttl is 10 hours
                     
)
          IN   A      192.168.100.1 ; (3)
          IN   NS     ns.yondarikuwandari.com. ; (6)
          IN   MX     10 ns.yondarikuwandari.com.; (9) ns と mail は同じサーバなので ns に
ns        IN   A      192.168.100.1 ; (3)
www       IN   CNAME  ns ; (7)
ftp       IN   CNAME  ns ; (8)
mail      IN   CNAME  ns ; (9)
localhost IN   A      127.0.0.1

・/var/named/mydomain.rev

$TTL 86400
@         IN   SOA    ns.yondarikuwandari.com. root.yondarikuwandari.com. ( ;
                     
2004091402 ; serial
                     
3600 ; refresh every 1 hours
                     
3600 ; retry after 1 hour
                     
3600000 ; expire after 1000 hours
                     
36000 ; default ttl is 10 hours
                     
)
          IN   NS     ns.yondarikuwandari.com. ; (6)
1         IN   PTR    ns.yondarikuwandari.com. ; (3),(6) 1 は(3)の最終オクテット

・/var/named/mydomain_outside.zone

$TTL 86400
@         IN   SOA    ns.yondarikuwandari.com. root.yondarikuwandari.com. ( ;
                     
2004091501 ; serial
                     
3600 ; refresh every 1 hours
                     
3600 ; retry after 1 hour
                     
3600000 ; expire after 1000 hours
                     
36000 ; default ttl is 10 hours
                     
)
          IN   A      218.45.162.65 ; (1)
          IN   NS     ns.yondarikuwandari.com. ; (2)
          IN   MX     10 ns.yondarikuwandari.com. ; (9) ns と mail は同じサーバなので ns に
ns        IN   A      218.45.162.65 ; (1),(6)
www       IN   CNAME  ns ; (7)
ftp       IN   CNAME  ns ; (8)
mail      IN   CNAME  ns ; (9)

named-checkzone zone名 zoneファイル名 で文法チェックしておきます。
たとえば、mydomain_outside.zone をチェックしたいときは、

# named-checkzone yondarikuwandari.com mydomain_outside.zone

とします。
最後に、 named を再起動させて完了。

# /etc/rc.d/init.d/named restart

/var/log/messages を見てエラーが出ていないことを確認しましょう。

関連した記事:

投稿時刻: 1:36 PM | カテゴリー: 自宅サーバ関連 | パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です