ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

DNSサーバ構築

DNSの概要

 DNSとは、Domain Name Systemの略で、インターネット上でのドメイン名やホスト名とIPアドレスの管理をする機能です。DNSは、インターネットでは標準的に使用されているため、インターネットを利用する場合には、必須と考えていいと思います。

 ASHでは、技術評論社SoftwareDesign誌の2001年7月号に、DNSの技術解説ページを執筆しました。 本ページでは、執筆時の設定ファイル一覧を公開していますので、ダウンロードして、必要な個所を修正して使うことができます。
 設定ファイルの内容の詳細は、技術評論社のSoftwareDesign誌を読んでください。
 なお、記事についての質問などがありましたら、ASHの掲示板でも受け付けます。

事前準備

バージョンの確認

 DNSサーバは、BINDパッケージのnamedというプログラムを使います。 BINDの設定は、4.X系と8.X系で、設定方法は、大きく異なります。
 ここに記載されている設定ファイルは、BIND8.XまたはBIND9.Xで動作するように調整されています。
 以下のコマンドでDNSサーバのバージョンを確認することができます。

unix# named -v
named 8.2.3-T6B Mon Nov 20 11:27:49 GMT 2000

ネットワーク構成

 DNSを導入するネットワークの構成図です。

ネットワーク構成図

設定ファイル

設定ファイル一覧

 各サーバの定義ファイルの内容です。掲載記事中で使用された内容がダウンロードできます。
 named.confは/etc に、ゾーンファイルは/var/named 配下に格納しています。 また、セカンダリでゾーン転送されたファイルは、/var/named/bak 配下に格納しています。

 ゾーンファイルは任意の名前をつけることができます。ASHでは、ファイル名から内容がわかりやすいように、正引きゾーンファイルはドメイン名から、逆引きゾーンファイルは逆引きドメイン名から名前をつけることにしています。

 DNSサーバの設定ファイルには、プライマリ用(P)とセカンダリ用(S)があります。
 Pはプライマリ用、とSはセカンダリ用の設定ファイルです。

BINDの設定ファイル
PSファイル名内容掲載記事との対応
  /etc/named.conf named起動時の設定(プライマリサーバ) リスト1-A
リスト1-B
リスト6
リスト7
リスト10
  /etc/named.conf named起動時の設定(セカンダリサーバ) リスト1-A
リスト1-C
リスト6
リスト7
リスト10
/var/named/named.root ルートキャッシュの設定 ---
/var/named/local.zone ループバックの正引きゾーンファイル リスト4
/var/named/0.0.127.rev ループバックの逆引きゾーンファイル リスト5
  /var/named/sub.ash.jp.zone sub.ash.jp(クラスCのサブネット)の正引きゾーンファイル リスト2
  /var/named/0.168.192.rev sub.ash.jpの逆引きゾーンファイル リスト3
  /var/named/ash.zone ash.jp(クラスC未満のグローバルネット)の正引きゾーンファイル ---
  /var/named/112h.241.18.211.rev ash.jpの逆引きゾーンファイル(非32bitアドレス) リスト11
  /var/named/241.18.211.rev ash.jpの逆引きゾーンファイル(非32bit→32bitアドレス変換) リスト12
/etc/resolv.conf リゾルバの設定 リスト15

ゾーンファイル記述方法メモ

キーワード内容
SOAドメイン管理情報 (start of authority)
ドメイン名. IN SOA ネームサーバ名. メールアドレス. (シリアル番号 管理情報)
NSネームサーバ情報 (name server)
ドメイン名. IN NS ネームサーバ名.
MXメールサーバ情報 (mail exchange)
ドメイン名. IN MX 優先度 メールサーバ名.
Aアドレス変換情報 (anchor)
ホスト名. IN A IPアドレス.
PTRドメイン名逆引き情報 (pointer)
逆引きドメイン名.in-addr.arpa. IN PTR ホスト名.
CNAME別名情報 (canonical name)
別名. IN CNAME ホスト名.

動作確認

named の起動状態の確認

 ps コマンドで、named が動作していることを確認します。
 named というプロセスが表示されれば、OKです。

unix# ps -aux | grep named

アドレスの登録確認

 nslookup コマンドで正しくアドレスが登録されているかを確認します。
 アドレスを指定する場合は、ドメイン名の最後に . を追加します。

unix# nslookup
> ns01.ash.jp.
Server:   localhost
Address:  127.0.0.1

Name:     ns01.ash.jp
Address:  211.18.241.114

DNSサーバの確認

 nslookup コマンドでDNSサーバのアドレスが正しく登録されているかを確認します。

unix# nslookup
> set type=NS
> ash.jp.

ash.jp           nameserver = ns01.ash.jp
ash.jp           nameserver = ns02.ash.jp
ash.jp           nameserver = dns4.dion.ne.jp
ns01.ash.jp      inet address = 211.18.241.114
ns02.ash.jp      inet address = 211.18.241.115
dns4.dion.ne.jp  inet address = 210.172.64.112

メールサーバの確認

 nslookup コマンドでメールサーバのアドレスが正しく登録されているかを確認します。

unix# nslookup
> set type=MX
> ash.jp.

ash.jp           preference = 10, mail exchanger = mx01.ash.jp
ash.jp           preference = 20, mail exchanger = mx02.ash.jp
mx01.ash.jp      inet address = 211.18.241.114
mx02.ash.jp      inet address = 211.18.241.115

セカンダリ情報の転送確認

 セカンダリ情報が正しくゾーン転送されているかどうかを確認します。
 セカンダリ指定の数とファイル数が一致していることを確認します。

unix# ls -l /var/named/bak

追加情報

 掲載記事に関する追加情報がありますので、ご覧下さい。



Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp