![]() |
|
DNSサーバーは固定グローバルIPアドレス環境でなければ構築できません。大袈裟に言うと、これはDNSサーバーを構築することにより全世界のDNSサーバーの一躍を担うことになるからです。 えッ・・・・そんな大袈裟な〜・・・・だって、自分のサイトのホスト名とIPアドレスを繋ぎ合わせるだけだよ!!!!。 確かにそうなんですが、それが大変なことなんです!!! 簡単ですがDNSとは? から紹介して行きます。 DNSとは、ドメインネームシステム (Domain Name System) の略です。 何をするためのものかというと、「ホスト名を元に、ホストの IP アドレスを調べる」というのが一番大きな仕事です。 例えば、このサイトにアクセスしようと、“www.papa-net.info”にアクセスしたとします。アクセス先の IP アドレスを教えてもらわないとアクセスできないので、DNSサーバーに「“www.papa-net.info”の IP アドレスは何番ですか?」と問い合わせをします。すると、DNSサーバーは、ホスト名を元にDNSサーバーに登録された情報を検索し、IPアドレスを調べて返します。そして、“www.papa-net.info”にアクセスできるようになります。 もし、そのDNSサーバーに登録されていないホスト名を聞かれたら、上位のDNSサーバーに問い合わせをし、IPアドレスを調べてきてくれます。そして、その上位のDNSサーバーでも解らない場合はまたその上位のDNSサーバーへ、そしてある上位のDNSサーバーでヒントが見付かると今度は詳細を調べるために下位DNSサーバーへと下って行きます。 下の図ではインターネット閲覧PCで www.papa-net.info を閲覧しようとした場合にDNSサーバー@に問い合わせをします。DNSサーバー@は上位DNSサーバーFに問い合わせをします。そして上位DNSサーバーFは更に上位DNSサーバーHに問い合わせをします。 そしてDNSサーバーは次々(I→G→D)に問い合わせを繰り返し目的のWebサーバー(www.papa-net.info)に辿り着く と今度はさっきとは逆(D→G→I→H→F→@→インターネット閲覧PC)に情報を返して来ます。これでインターネット閲覧PCはWebサーバーのグローバルIPアドレスを入力しなくてもドメイン名の入力だけWebサーバー内にあるWebサイトを見ることができるのです。
自宅でDNSサーバーを構築すると言うことは上の図で言うDNSサーバーDを構築すると言うことなんです。 もし、DのDNSサーバーのIPアドレスが変わってしまったらGの上位DNSサーバーで検索・問い合わせが止まってしまいます。それだけなら自分のサイトを公開できなかったりと自分だけの問題で済みますが・・・・・実はGにはDのドメイン・IPアドレス情報が登録されているのです!!! DのIPアドレスが変わってしまったらこの情報は嘘の情報になってしまいます、逆に言うと嘘の情報を登録した事になってしまうのです。 また、もし変わってしまったIPアドレスが他の人(PC)に割り当てられたら・・・・・そうです! まったく違うサイトにアクセスするこになってしまいます。 これではDNSサーバーの意味が無くなってしまい混乱を招きます。 したがって、DNSサーバーを構築すると言うことは大変責任の重いことになります。 上記のような理由でDNSサーバーを構築する場合は固定グローバルIPアドレスでなければなりません。 堅い事を書きましたがインターネットを愛する者として正確で安定した使い易いネット環境であって欲しいと思っています。 だいぶ話しがそれてしまいましたが、ここではプライベートIPアドレスを使ったLAN内だけで有効なDNSサーバーを構築してみます。 LAN内にあるWebサーバーにアクセスする場合 http://192.168.*.** 等のIPアドレスでアクセスしますが、これを http://www.papa-net.info のようにドメイン名でアクセスできるようにします。 ただ、最近のルーター等は性能が良いので最初から問題無くドメイン名でアクセスできる事が多いです。ですが一応知識として・・・・・ |
|
| ◆ | bind のインストール |
|
bind は通常OSと一緒にインストールされていますので改めてインストールすることは無いのですが一応確認します。 デスクトップ上で右クリックをしてメニューを表示させ“端末を開く(E)”をクリックします。この操作には root 権限が必要になりますので user でログインしている場合は su コマンドで root になって下さい。 下図のように rpm -q bind と入力して Enter キーを押します。
下図のように bind のバージョン番号が表示されればインストールされています。。
もし、上図のようにバージョン番号が表示されない場合はインストールされていませんので下図のように yum install bind と入力して Enter キーを押します。
ダウンロードが開始されます。
途中で ls this ok [y/n] と問われるので y を入力して Enter キーを押します。 “ complete! ” と表示されればインストールの完了です。 |
|
| ◆ | bindの設定 |
|
bind の設定は root 権限がないとできませんのであらかじめ root
でログインしておいて下さい。 デスクトップ上部にあるメニューバーより“アプリケーション”⇒“アクセサリー”⇒“GNOMEテキスト・エディタ”を選択して“gedit”を起動します。 “gedit”が起動したら、画面メニューバーより“ファイル(E)”⇒“開く(O)”を選択して /etc/ にある named.conf を開きます。 下図のような画面が表示されます。
これが bind の設定ファイルです。 この設定ファイルを使ってもいいのですが問題があった時にすぐに戻せるようにこのファイルを namedbk.conf のように別名で保存して新たに named.conf ファイルを作って設定を行います 下記に新しく作る bind の設定ファイル( named.conf )の全文を掲載します。下記のように“GNOMEテキスト・エディタ”でファイルを作り /etc/ に named.conf と言う名前で保存して下さい。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
options { −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(1) = ゾーンファイルの保存場所。 (4)(5)(9)は自分の環境に合わせて変えて下さい。 これで bind の設定は終了です。 |
|
| ◆ | 正引きゾーン&逆引きゾーンのデータベース作成 |
|
データベースの作成は root 権限がないとできませんのであらかじめ root
でログインしておいて下さい。 デスクトップ上部にあるメニューバーより“アプリケーション”⇒“アクセサリー”⇒“GNOMEテキスト・エディタ”を選択して“gedit”を起動します。 “gedit”が起動したら、画面メニューバーより“ファイル(E)”⇒“新規(N)”を選択して新規ファイルを開きます。
まずは、localhost.zone(ローカルホストの正引きゾーン)のデータベース作成です。下記のように“GNOMEテキスト・エディタ”でファイルを作り /var/named に localhost.zone と言う名前で保存して下さい。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
$TTL 1D(1) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(1) =
TTLは外部に対するキャッシュデータの有効期間。 外部に公開しないので何でも良い。 とりあえず1日(1D)。 次は、named.local(ローカルホストの逆引きゾーン)のデータベース作成です。下記のように“GNOMEテキスト・エディタ”でファイルを作り /var/named に named.local と言う名前で保存して下さい。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
$TTL 1D(1) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(1)〜(10) は前項と同じ。 続いて、papa-net.info.db(ドメインの正引きゾーン)のデータベース作成です。下記のように“GNOMEテキスト・エディタ”でファイルを作り /var/named に papa-net.info.db と言う名前で保存して下さい。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
$TTL 1D(1) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(1)〜(10) は前項と同じ。 最後に、0.168.192.in-addr.arpa(ドメインの逆引きゾーン)のデータベース作成です。下記のように“GNOMEテキスト・エディタ”でファイルを作り /var/named に 0.168.192.in-addr.arpa と言う名前で保存して下さい。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
$TTL 1D(1) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(1)〜(10) は前項と同じ。 これでデータベースの作成は終了です。 |
|
| ◆ | bind の起動 |
|
デスクトップ上部にあるメニューバーより“デスクトップ”⇒“システム設定”⇒“サーバ設定”⇒“サービス”を選択しします。 “naned” の前のチェックボックスにチェックを入れ “開始” ボタンをクリックします。
“OK(O)” ボタンをクリックして起動が完了します。
これでLAN内のDNSサーバーが完成しました。 |
|
| ◆ | ローカルホストのアドレス設定 |
|
設定は root 権限がないとできませんのであらかじめ root
でログインしておいて下さい。 デスクトップ上部にあるメニューバーより“アプリケーション”⇒“アクセサリー”⇒“GNOMEテキスト・エディタ”を選択して“gedit”を起動します。 “gedit”が起動したら、画面メニューバーより“ファイル(E)”⇒“開く(O)”を選択して /etc/ にある resolv.conf を開きます。 下図のような画面が表示されます。
自分自身がDNSサーバーになったのでIPアドレスを自分自身を表す 127.0.0.1 に変更して保存します。 |
|
| ◆ | ルーターの設定 |
|
ルーターの設定は皆さん使っているルーターが違うと思いますので詳しく書けませんがLAN内向けのDNSサーバーのアドレスを記述するところに上記のDNSサーバーのIPアドレスを記述して下さい。 また、ルーターによってはDHCPの設定の中にある物もあります。 注意!!!・・・・・・・ ルーターに設定項目が無い場合はお使いのルーターは最初から問題無くドメイン名でアクセスできる物になっているはずです。このようなルーターをお使いの場合、上記のようにDNSサーバーを立ち上げてしまうと正常にアクセスできなくなる場合がありますのでDNSサーバーの構築は辞めた方が良いです。 ・・・・・・・ |
|
| ◆ | クライアント側の設定 |
|
最後にクライアント側の設定です。 下図の例は Windows XP ですが他のOSでも基本は同じなので同じように設定して下さい。 ローカルエリア接続のプロパティを開きます。
インターネットプロトコル(TCP/IP)を選択して、“プロパティ(R)”をクリックします。 下図のように“優先DNSサーバー(P)”にDNSサーバーのアドレスを入力して“OK”をクリックします。
これでクライアント側からドメイン名でWebサーバーにアクセスできるようになります。 |
|