DNS(DomainNameServer)

 

DNSとは

ネットワーク上でホスト名とIPアドレスを検索し名前解決を行うサービス。

Protocol DNS
Port 53/TCP 53/UDP
Program /usr/sbin/named

ダウンロード先 (RPM版)

http://www.openna.com/download/bind/bind-download.htm
         (tar.gz版) http://www.isc.org/
   
Install 標準で入ってるので省く。
   
実行方法 /usr/sbin/named start
/sbin/service named start
   
備考 俺自身、正直あまり理解してないので、勉強のつもりで書いてる。
BINDで新しくドメインを追加するには、少なくとも、/etc/named.confと/var/named/以下に 正引き用の設定ファイル(zoneファイル)と逆引き用の設定ファイルresolv.confの4つの設定ファイルが必要になる。設定は、俺が判るように書く(汗
記述はBIND9を前提に書いた。
 

 

苦情・訂正・校正など・・ tomoyo@kmr.homeip.net
なんでもくれ・・いたずらは、あぼ〜ん
   
/etc/named.conf


設定内容

 

説明
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
include "/etc/rndc.key";

 

BIND9から登場した、rndcの為の設定を行う項目。
rdncって何?とか・・思って調べた。

俺的解釈:認証キー方式を使って、特定のホストからrdncコマンド使えるようにするプログラム。rndcのコマンドには何があるん?まで、調べる場合は、Red Hat Linux 7.2: オフィシャルここを読み漁れば幾らでも書いてある。サーバ管理を分散してるような特殊な事をしてない限りデフォのままで特に弄る必要はない。

     
options {
directory "/var/named/";
};

 

マスターファイルの置き場所を示している。マスターファイルって何だよ;;
俺的解釈:named.ca、named.local、localhost.zoneが置いてある場所。
通常は、左のようになってると思う。

     
zone "." {
type hint;
file "named.ca";
};

 

ルートネームサーバを示した場所を、named.caで示している。ルートネームサーバってのは、トップレベルドメインの権威を持つ名前を返してくれる。トップレベルドメインとは、jpや、comといった国を表すドメイン名の事だ。named.caの中身を見てもらうと、13のIPアドレスが記されてると思うが、世界に13個ルートネームサーバが存在する事を示している。米軍、NASAそして、日本など・・置いてあるところはさまざま・・
最新のルートネームサーバの情報を収得するには、ここから収得すると良い。

     
zone "0.0.127.in-addr.arpa" {
type master;
file "0.0.127.in-addr.arpa.zone";
};

 

ループバックアドレスの逆引き用の設定ファイルを指定。この場合、/var/named/0.0.127.in-addr.arpa.zoneファイルを参照する。
逆引きってのは、IPアドレスからホスト名を解決する事を言う。
type master;は、この設定ファイルがマスターサーバーである事を示している。
DNSのマスターサーバーとスレーブサーバについては、下のほうで書く事にする。

     
zone "localhost" {
type master;
file "localhost.zone";
};

 

正引き用のファイルを指定する。正引きってのは、上と逆で、ホスト名からIPアドレスを解決するためのもの。

     
zone "1.168.192.in-addr.arpa" {
type master;
file "1.168.192.in-addr.arpa.zone";
};
 

ローカルアドレス、192.168.1.1にとりあえず、名前を付けてみようと思い、逆引き用の設定ファイルを用意した。逆引きや正引き用のファイルは、.zoneなどとなっているが、特に決まりは無いので、自分のわかるファイルに変更しても良い

     
zone "kanae.moe" {
type master;
file "kanae.moe.zone";
};
 

ローカル内で、www.kanae.moeとゆう名前を解決させるために正引き用のファイル設定。ホスト名が逝ってるのは許してくれ

 

 

     
/var/named/1.168.192.in-addr.arpa(逆引き用設定ファイル)

設定内容
1.168.192.in-addr.arpa. IN SOA dns1.kanae.moe. tomoyo.kmr.homeip.net. (
13   ;serial
3600  ;reflesh
600  ;retery
86400 ;expire
3600 ) ;minumum

1.168.192.in-addr.arpa. ここの部分は現在、@に置き換えている。この当りの意味は正直良くわからないが、ほとんどの本で@になっているので、@で良いと思う。どちらでも動いてた。
INは、インターネットの意味を表すそうだ。

SOAレコードは、ゾーンに対する権威を示すデータとどの本にも書いてある。馬鹿なんでよく判らんが俺的解釈によると、ここで定義した、dns1.kanae.moeとゆう名前を使えるように宣言する事らしい。
続いて、tomoyo.kmr.homeip.net はメールアドレスを示す。tomoyo@の部分は、ピリオドに置き換える。

serial、これは、設定を変更するたびに数値を1増加させる
reflesh、ゾーンのデータベースがリフレッシュされる時間、秒単位で設定するらしい
retery、リフレッシュに失敗した場合再試行するまでの時間
expire、ゾーンの内容は一定期間を持って破棄される。これは破棄するまでの時間・・だとおもう
minumum、キャッシュサーバに残っている最小の時間

 
IN NS dns1.kanae.moe.

ネームサーバとなるホスト名を記述する。

 
1 IN PTR dns1.kanae.moe.

アドレスからホスト名へマッピングする。

 
/vae/named/kanae.moe.zone(正引き用設定ファイル)

設定内容
@ IN SOA dns1.kanae.moe. tomoyo.kmr.homeip.net. (
37
3600
600
86400
3600 )

上記の設定は、逆引きと同じなので省く。

 
IN NS dns1.kanae.moe.

逆引きと同じ。

 
IN MX 10 kmr.homeip.net

MXレコードを設定する。MXレコードとは、メール配送に置いて、自分の場所を知らせる重要な役割なのだが、ここではローカルのみの名前解決なので、インターネット上ここでは、意味をなさないが、固定IPなどを持っていて、外部にホスト名を出す時には大変重要・・だとおもう;;

 
dns1.kanae.moe. IN A 192.168.1.1

ftp IN CNAME dns1
pop IN CNAME dns1
mail IN CNAME dns1
smtp IN CNAME dns1
www IN CNAME dns1

最初の IN A 192.168.1.1 は名前からアドレス(正引き)へのマッピングをしている。
後の、CNAMEで設定しているのは、dns1の別名を指している。ここで、wwwや、mailなどの設定をしておくと、www.kanae.moe等のような名前が使えるようになる。権限を持っていれば、いくらでも設定してよい。

 
/etc/resolv.conf

設定内容
nameserver 192.168.1.1
nameserver 192.166.1.2
domain kanae.moe
search sakura.moe kanae.moe
上記は、ネームサーバを指定する、1番目は、自分のDNSサーバを指定しておけば、キャッシュも効いてるので検索がかなり速くなると思う。2番目はプロバイダのネームサーバでも指定しておけば良い。
domainのところは、ネームサーバのドメインを指定する。ここでは自分が建てた、dns1とゆう名前を検索させたいためkanae.moeを指定した。
search は、複数設定する事によって、ホストを検索する事が出来る。ドメインが補完できそうな、プロバイダの名前や自分の名前を登録しておく。
 

設定終了・・接続試験してみる・・

これ書いててマジで疲れた。DNSは、sendmailに続いて難関の1つだと思う。
たまにDNSがおかしくなって名前解決が出来なくなる時もあるんだが
多分、Winの方IEがおかしいのだと思う。
Operaがやっぱやっぱイイよ・・うん。

/etc/init.d/named start
これで、動いたので、とりあえず良い事にしておく。

***ウゴカネ〜場合***
動作がおかしい時は、最後のピリオドがないとか、シリアル番号を足してないとか、リゾルバの設定がおかしいとか・・色々その辺をあたる。
nslookup 等を利用して、名前が解決できてるかどうか確かめる。

馬力があれば、バッタ(DNS/BIND)本でも読むのがいいな・・うん、あれはいいよ、馬力ないよ;;;


 

俺的DNSの概念

作成中


Enter