ひとつの DNS サーバーでサブドメインを運用する (CentOS 5.5): Linux の使い方


自分で取得したドメインを公開する

DNS では、サブドメインを使用して、ドメインの階層をどんどん掘り下げて行くことが可能です。

たとえば、"DOMAIN.XX.JP" というドメインがあった場合、そのサブドメイン "SUB1.DOMAIN.XX.JP" やさらにそのサブドメイン "SUB2.SUB1.DOMAIN.XX.JP" というように、そのドメインの管理者が自由にサブドメインを作成して行くことができるようになっています。

逆に "XX.JP" は "JP" のサブドメイン、"DOMAIN.XX.JP" は "XX.JP" のサブドメインという形になっています。

 

自分でドメインを取得して、自分の DNS でそのドメインを運用している場合には、そのサブドメインを利用することは簡単です。

具体的には、親ドメインとサブドメインとを別々のゾーンファイルで運用する方法と、親ドメインのゾーンファイル 1 つにサブドメインの定義も含める方法の 2 通りで設定することが可能です。

今回は CentOS 5.5 の BIND 9.3.6 を利用して、上記 2 つのやり方でサブドメインを運用する方法について記してみようと思います。

ちなみにもし、サブドメインを別の DNS で管理することも可能で、その場合には サブドメインを別の DNS サーバーへ委譲する でお話ししたような委譲設定を行うことになります。

 

親ドメインとサブドメインとを別々のゾーンファイルで管理する

親ドメインとサブドメインとを別々のゾーンファイルで管理したい場合には、他のドメインと同じように、それぞれを "zone" として登録して、そのゾーンファイルを作成するという形になります。

たとえば、親ドメインが "DOMAIN.XX.JP" で、そのサブドメイン "SUB1.DOMAIN.XX.JP" を作成したい場合には、まずは "/etc/named.conf" 内に "zone" として "SUB1.DOMAIN.XX.JP" を追記します。

zone "domain.xx.jp"

{

type master;

file "data/domain.xx.jp.zone";

};

 

zone "sub1.domain.xx.jp"

{

type master;

file "data/sub1.domain.xx.jp.zone";

};

このようにしたら、後は通常と同じように、ゾーンファイル (上記の例では "/var/named/data/sub1.domain.xx.jp.zone" ファイル) を用意して、いつもと同じようにゾーン情報を記載すれば大丈夫です。

設定完了後、"service named reload" を実行することで、サブドメイン "sub1.domain.xx.jp" が利用できるようになります。

 

親ドメインとサブドメインとを 1 つのゾーンファイルで管理する

サブドメインを、その親ドメインのゾーンファイル内で定義することも可能です。

記載は特に難しいことはなく、定義するレコードにサブドメイン名も合わせて記載する形になります。

たとえば、"SUB1.DOMAIN.XX.JP" というサブドメインを用意して、そこで Web サーバーやメールサーバーなどで使用するためのレコードを追加しようとする場合は、既存の "DOMAIN.XX.JP" のゾーンファイルの中に、次のような記載をする感じです。

$TTL 3600

 

@    IN SOA    ns1.domain.xx.jp. admin.domain.xx.jp. (

2010121501    ; serial

6m    ; refresh

3m    ; retry

4w    ; expiry

1d    ; minimum

)

 

    IN NS    ns1.domain.xx.jp.

    IN NS    ns2.domain.xx.jp.

 

ns1    IN A    192.168.0.1

ns2    IN A    192.168.0.2

 

@    IN MX 10    mail

 

www    IN A    192.168.0.3

mail    IN A    192.168.0.3

 

 

sub1    IN MX 10    mail.sub1

 

www.sub1    IN A    192.168.0.4

mail.sub1    IN A    192.168.0.4

上記の最後の 3 レコードがサブドメイン "sub1.domain.xx.jp" のためのレコードに当たります。

このように、レコード名に ".sub1" という記載を含めてあげれば、全体として "www.sub1.domain.xx.jp" や "mail.sub1.domain.xx.jp" というような FQDN (フルドメイン) も利用できるようになります。