linuxベースDNSサーバの構成


DNSは、コンピュータドメイン名システム(Domain Name SystemまたはDomain Name Service)の略であり、インターネットのコアサービスである.ドメイン名とIPアドレスを互いにマッピングできる分散型データベースとして、機械で直接読み取ることができるIP数列を覚えることなく、インターネットへのアクセスを容易にすることができます.DNSは解析器とドメイン名サーバからなる.ドメイン名サーバとは、そのネットワーク内のすべてのホストのドメイン名と対応するIPアドレスを保存し、ドメイン名をIPアドレスに変換する機能を有するサーバである.ドメイン名は1つのIPアドレスに対応する必要がありますが、IPアドレスは必ずしも1つのドメイン名に対応するわけではありません.ドメイン名システムは、ディレクトリツリーのような階層を採用しています.ドメイン名サーバは、クライアント/サーバモードのサーバ側であり、プライマリサーバと転送サーバの2つの形式があります.インターネット上でドメイン名とIPアドレスの间は1対1(あるいは多対1)で、DNSポーリングを采用して1対多を実现することができて、ドメイン名は人々の记忆に便利ですが、机械の间はIPアドレスだけを认めて、それらの间の転换の仕事はドメイン名の解析と称して、ドメイン名の解析は専门のドメイン名の解析のサーバーから完成する必要があって、DNSはドメイン名の解析を行うサーバーです.
DNSはインターネット用のTCP/IPネットワークに命名され、ユーザーに優しい名前でコンピュータとサービスを検索します.ユーザがアプリケーションにDNS名を入力すると、DNSサービスは、IPアドレスなどの他の情報に関連する名前を解析することができる.なぜなら、あなたがインターネットを利用するときに入力したウェブサイトは、ドメイン名分析システムの解析を通じて対応するIPアドレスを見つけたので、インターネットを利用することができます.実は、ドメイン名の最終的な指向はIPです.
DNSクライアントのクエリープロセスは以下の通りである:1.クライアントは自分の/etc/hostsファイルをチェックし、あれば直接終了し、なければ次のステップに進みます.2.クライアントは自分のDNSキャッシュ情報をチェックし、あれば終了し、なければ次のステップに進む.3.クライアントは再帰クエリ要求を優先DNSサーバーに送信し、次のステップに進む.優先DNSが応答しない場合、解析要求を代替DNSサーバーに送信する.4.DNSサーバは要求を受けた後、まず自分が担当している領域かどうかを確認し、もしそうであれば対応するレコードを検索してクライアントに戻り、クエリーを終了し、そうでなければ次のステップを行う.5.DNSサーバは自分のDNSキャッシュをチェックし、ある場合はクライアントに戻ってクエリーを終了し、ない場合はルートDNSサーバに反復クエリー要求を送信する.6.DNSサーバは反復クエリを経て、最終クエリの結果をクライアントに返し、クエリを終了する.
DNSサーバのインストール:下にredhat 5.8システムインストールCDのbind 97を例にインストール手順を説明し、yumソースがローカルのCDであるように事前に構成しておきます.
rmp -qa | grep bind         //       bind   
rpm -e bind-libs bind-utils       //             
yum install bind97 bind97-libs bind97-utils          //        
service named start             //           
netstat -tunlp          //  53  
chkconfig --add named       //       
chkconfig named on              //      
cp /etc/named.conf /etc/named.conf.bak  //        

新しいプロファイルの作成と編集
vim /etc/named.conf
options {
directory       "/var/named/";  //    ,         
 
};
zone "." IN {          //     
type hint;                //      ,     hint!!!
file "named.ca";          //   13 dns   
};
zone "baidu.com" IN {    //  baidu.com  
type master;            //   DNS   ,     master!!!
file "baidu.com.zone
};

領域プロファイル/var/named/baiduを作成して編集します.com/zone
$TTL 600            //dns        
$ORIGIN baidu.com.  //    
@       IN      SOA     ns.baidu.com.       admin.localhost.  //@            (
2012062101   //     
30M   //    
10M   //      
2D   //    
1D) //      
IN      NS      ns
ns  IN      A       192.168.56.101
www IN      A       192.168.56.1
mail      IN      MX      10      smtp
smtp    IN      A       192.168.56.1
imap    IN      CNAME   smtp
ftp IN      A       192.168.56.101
chown :named /var/named/baidu.com.zone  //        named
chmod 640 /var/named/baidu.com.zone     //       640
service named resatr            //      
dig -t A www.baidu.com @127.0.0.1       //        

逆領域ファイル/var/named/in-addrを作成して編集します.baidu.com.zone
vim /var/named/in-addr.baidu.com.zone
$TTL 600
@   IN  SOA     ns.baidu.com    admin.localhost.com (
2012062101
30M
10M
3D
1D )
IN  NS  ns.baidu.com.
101 IN  PTR ns.baidu.com.
IN  PTR ftp.baidu.com.
1   IN  PTR www.baidu.com.
IN  PTR smtp.baidu.com.

この場合もファイルの権限を変更します
chown :named /var/named/in-addr.baidu.com.zone  //    
chmod 640 /var/named/in-addr.baidu.com.zone  //     
service named reload        //    
dig -x 192.168.56.1 @127.0.0.1  //