DNSサーバはインターネットにとって大変重要な機能を提供します。これがなければ、世界中のPCを行き来する今日のインターネットの発展はなかったでしょう。しかし、Dynamic DNSでの運用であれば、DNSサーバの設置は必要ありません。むしろ設置が困難なだけに、誤った設置を行い、メールサーバが運用できないなんてことにもなります。あくまでも予備知識として理解しようとするページです。でも、うまく設置できれば、ネットワークトラフィックを低減することもできます。
| -----関連づけの方向----
正引き----ドメイン名からIPアドレス返すこと。(例 hoge.e-sen.com → 192.168.0.1 ) 逆引き---IPアドレスからドメイン名を返すこと。(例 192.168.0.1 → hoge.e-sen.com) 例は、あくまでプライベートアドレスなので、Lan内での話。インターネットの世界では、プライベートアドレスの部分がグローバルアドレスになる。 -----HOSTSファイルによる名前の解決---- 数台程度のLAN内部での名前の解決は、HOSTSファイルを利用するのが便利で簡単。この場合は、DNSサーバはいりません。次のようなファイルを拡張子なしの hosts 名で作成し、c:\winnt\system32\drivers\etc フォルダに入れておけばよい。同じ要領で、このファイルをすべてのネットワーク内のPCにコピーすること。同フォルダには sam という拡張子を持つサンプルファイルがあるので参照すること
|
すべてのPCのアドレスをデータとして持っているわけではなく、自分が担当するゾーン内のPCについての情報を持っているだけ。そこに含まれないデータはある規則に従って、他のネームサーバに問い合わせる仕組みが備わっていれば良い。
| マスターサーバ(プライマリサーバ) | ゾーンデータベースの正本(マスター)を持つサーバ。自分の持っているデータから応答する。1つのゾーンには必ず1つのマスターサーバが存在しなければならない。 |
| スレーブサーバ(セカンダリサーバ) | マスターサーバのゾーンデータベースをコピーしてきて名前の解決を行うサーバ。マスターサーバのサービス停止などの非常時や、マスターサーバの負荷分散を目的に、少なくとも1台のスレーブサーバを設置することが推奨されています。 |
| キャッシングオンリーサーバ | 自分ではゾーンデータベースを持たず、名前の問い合わせがあったときに他のネームサーバに問い合わせをし、その結果を一定期間保持する(キャッシュする)サーバ。 |
ゾーンデータベースを格納したファイルをゾーンファイルと呼び、そのファイルの中に記述された情報のデータそのものをリソースレコードと呼びます。ゾーンファイルは、以下の5つ(1の正引き用ゾーンファイルに、3のローカルループバック用正引きゾーンファイルを含めて扱われるのが通常のため4つ)のゾーンファイルによって構成される。
当サイトが取得している e-sen.com というドメインですが、ダイナミック DNSサービスは 、このドメインと IP アドレス を 動的にアサインし、インターネットから e-sen.com というドメイン名でアクセスできるようにしていると考えられます。これによって私のサイト ( 正確にはルーター ) までたどり着けば、ルーター のポートフォワーディング設定で各種サーバーへ導くことができるようになります。
|
HOST |
TTL |
Type |
クライアントに回答する項目 |
|
|---|---|---|---|---|
|
e-sen.com |
60 |
A |
211.131.132.132 ←グローバルアドレスの例 |
(1) |
|
*.e-sen.com |
43200 |
CNAME |
e-sen.com. |
(2) |
|
www.e-sen.com |
43200 |
CNAME |
e-sen.com. |
(3) |
|
e-sen.com |
43200 |
MX |
5 e-sen.com. |
(4) |
上の例は、DynDNS.orgのCustom DNS での設定例ですが、外部からのクライアント ( メールの場合は、メールサーバー SMTP ) に回答されている項目は次のように考えられます。
LAN内部でのホスト同士の名前の解決(この場合には、 hosts ファイルの代わりとしての利用)および、外部のドメイン情報がほしくなったPC がわざわざルーター外のDNSサーバに問い合わせないで、LAN内の DNS サーバーに問い合わせて(この場合は、キャッシュサーバーとして利用)、いち早く接続情報を手に入れ、目的のサイトへジャンプする。まぁ。こんな感じでしょうか!!
以下の例では、ドメイン名などの値を下表の通りとします。
|
ドメイン名 |
e-sen.com |
|
www.e-sen.com |
192.168.0.1 |
|
sub.e-sen.com |
192.168.0.2 |
#以下はコメント行です。.(コンマ)や;(セミコロン)は大変重要です。忘れないように。ファイル名は、一例で、自由に設定できます。
/etc/named.conf
BIND のデフォルト起動用設定ファイル(DNSサーバーが管理するドメイン名、各設定ファイルの格納場所や名前、動作オプションなどを記述する。このファイル名は変更しない方が無難。)
options {
directory "/var/named" ;#以下の4つのゾーンファイルの在処をしまします。
forwarders {
143.90.130.21;#契約しているプロバイダのDNSサーバのアドレス(プライマリ)
143.90.130.38;#同上(セカンダリ)
};
forward only;#ほかのDNSサービスへの照会を禁止。
version "" ;#バージョン情報の秘匿
}; # 以下ルートDNSサーバの指定(ファイル名は変えない方が無難。)
# 以下正引き用の設定(ファイル名とその在処を示す。ファイル名は何でも良い。)
# 以下逆引き用の設定(ファイル名とその在処を示す。ファイル名は何でも良い。)
# 以下ローカルループバックの設定(ファイル名とその在処を示す。ファイル名は何でも良い。)
|
/var/named/named.e-sen.com
上のnamed.conf で正引き用に指定したファイルの中身
|
$TTL 86400 |
/var/named/named.0.168.192.in-addr.arpa
上の named.conf で指定したファイルの中身(注)ファイル名は、アドレスを逆さまにしてホスト部をのぞいた名前(すなわちネットワーク部).+in-addr.arpaになります。ネットワークの次には必ずコンマを忘れずに。
|
$TTL 86400 |
/var/named/named.local
上のnamed.confで指定したファイルの中身
|
@ IN SOA localhost. root.localhost. ( |
ここまで設定したら、Bindを起動します。
# etc/rc.d/int.d/named start
内部向けに正常に名前の解決ができているか確認します。
#nslookup コマンドで
>192.168.0.2
と入力して、
|
Server www.e-sen.com Name sub.e-sen.com |
と表示されれば、アドレスからのホスト名の検索、逆引きがうまく設定されるとなります。
また、
>sub.e-sen.com
と入力して、
|
Server www.e-sen.com Name sub.e-sen.com |
と表示されれば、ホスト名からのアドレスの検索、すなわち正引きがうまく設定されることになります。