グローバルアドレスとプライベートアドレス,ドメイン,DNS
【概要】 IPアドレスには,インターネット通信用のグローバルアドレスと内部ネットワーク用のプライベートアドレスがあり,DNSにより分散管理されている.DNSは,インターネット上のホストをIPアドレスとホスト名で一意に識別し,各ドメインのネームサーバがゾーン情報を管理する.主となるプライマリサーバとバックアップ用のセカンダリサーバがあり,BINDの設定ファイルで動作を制御する.
グローバルアドレスとプライベートアドレス
IPアドレスには,グローバルアドレスとプライベートアドレスの2種類が存在する.インターネットに直接接続されるホストには,世界で唯一のグローバルアドレスが割り当てられる.これは,インターネットの管理組織によって重複が厳密に防止されている.一方,組織内のLANでは,システム管理者が規定された範囲内でプライベートアドレスを柔軟に割り当てることができる.プライベートアドレスとして利用可能な範囲は以下の通りである.
(プライベートアドレスの範囲)
10.0.0.0∼10.255.255.255
172.16.0.0∼172.31.255.255
192.168.0.0∼192.168.255.255
例えば,3階の内部ホストには192.168.0.?,4階の内部ホストには192.168.33.?をプライベートアドレスとして割り当てることができる.また,server1,server2,server3,ns1,ns2などのインターネット接続ホストには,グローバルアドレスとして203.0.113.?が割り当てられている.プライベートアドレスは組織内ネットワークでのみ有効であるため,インターネット通信にはNATによるグローバルアドレスへの変換が不可欠である.
ドメイン
インターネット上のホストへのアクセスには,本来IPアドレスによる指定が必要である.しかし,実際にはユーザの利便性を最大限に考慮して,www.dept.example.ac.jpのような直感的な名前でアクセスが可能である.この例では,wwwがホスト名であり,dept,example,ac,jpの4つがドメイン名のラベルを構成する.これにより,以下の4つのドメインが形成される.
dept.example.ac.jp
example.ac.jp
ac.jp
jp
これらのドメインは階層的な木構造を形成しており,最上位にルートドメインが配置される.ドメイン名は,ルートに向かって順に記述し,ラベル間を"."で区切る.
DNS(Domain Name System)
ホスト名とドメイン名の組み合わせにより,ネットワーク上のホストを一意に特定できる.しかし,コンピュータによる処理には,ホスト名とIPアドレスの相互変換が必要不可欠である.小規模なLANでは,各ホストの/etc/hostsにテーブルを作成して管理することも可能であるが,ホストの更新時に全ホストのテーブル更新が必要となり,運用管理が複雑化する.また,特定のホストにテーブルを集中管理させる方式も考えられるが,インターネットのような大規模ネットワークでは,サーバ負荷と情報管理の観点から現実的ではない.この課題を効率的に解決するために設計されたのがDNSである.DNSは各ドメインで分散的にホスト名を管理することで,サーバ負荷を最適に分散できる.
ネームサーバ
DNSのサービスを提供するサーバをネームサーバと呼び,各ドメインに設置される.ネームサーバは,自身が管理するゾーン(1つ下の階層のIPアドレスとホスト名の対応関係)の情報のみをデータベースとして保持する.ゾーン(zone)とは,ドメイン名空間における管理範囲を示す.
ネームサーバのサービスを利用するクライアントをリゾルバという.リゾルバからの変換要求に対し,ネームサーバはまず自身のデータベースを検索する.該当情報が存在する場合はそれを返し,存在しない場合は他のネームサーバに問い合わせを実行する.ネームサーバには,プライマリサーバとセカンダリサーバの2種類が存在する.
プライマリサーバ
ドメインの情報を一元的に保持し管理する.自身の管理情報に関する他のネームサーバからの問い合わせに応答する.通常,ドメインには1つのプライマリサーバが設置される.セカンダリサーバ
プライマリサーバの障害発生時やアクセス集中時のバックアップとして機能する.プライマリサーバと定期的に通信を行い,ネットワーク経由で情報を自動的に同期する.
DNS関連設定ファイル
DNSサービスの代表的なソフトウェアBIND(Berkeley Internet Name Domain)の設定ファイルは,通常/etc以下に配置される.
ネームサーバ(ns1,ns2)の設定ファイル
コンフィギュレーションファイル
ネームサーバ起動時に最初に読み込まれ,データファイルの配置場所とファイル名を指定する/etc/named.confファイル.データファイル
ホスト名とIPアドレスの対応関係を記述するファイルで,ゾーンデータファイルとリバースデータファイルが存在する.ゾーンデータファイル
ネームサーバが管理するホストのホスト名からIPアドレスへの変換(正引き)を定義する.各行の先頭にホスト名,末尾に対応するIPアドレスを記述する.CNAMEは別名を示す.
host1 IN A 192.168.33.1 host2 IN A 192.168.33.17 ns1 IN CNAME host1
逆引きデータファイル
ネームサーバが管理するホストのIPアドレスからホスト名への変換(逆引き)を定義する.各行の先頭にIPアドレス(ネットワーク番号は省略可能),末尾にホスト名を記述する.
1 IN PTR host1.4f.dept.example.ac.jp. 17 IN PTR host2.4f.dept.example.ac.jp.
ルートキャッシュファイル
ネームサーバが管理外ドメインの問い合わせを受信した場合,このファイルを参照して適切なサーバに問い合わせを転送する.全世界のネームサーバを管理するルートサーバのIPアドレスとホスト名が記述された/etc/namedb/named.rootファイル.
リゾルバ(各ホスト)の設定ファイル
クライアントであるリゾルバの設定は,各ホストの/etc/resolv.confファイルで管理する.所属するドメイン名と問い合わせ先ネームサーバのIPアドレスを指定する.複数のネームサーバを指定することが可能である.domain 4f.dept.example.ac.jp search 4f.dept.example.ac.jp dept.example.ac.jp nameserver 192.168.33.1 # ns1/host1 nameserver 203.0.113.160 # server1