client配置:
在resolv.conf下面配置的DNS服务器,以后系统中凡是使用域名的地方都会去指定的DNS服务器去解析IP。
Linux下的dns功能是通 过bind软件实现的。bind软件安装后,会产生几个固有文件,分为两类,一类是配置文件在/etc目录下,一类是dns记录文件在/var /named目录下。加上其他相关文件,共同设置dns服务器。下面是所有和dns设置相关文件的列表与说明。
  第一类:位于/etc目录下的有:hosts,hosts.conf,resolv.conf,named.boot,named.conf。
  1、“hosts”文件,定义了主机名和ip地址的对应,其中也有将要运行dns这台电脑的ip地址和主机名。内容:
  127.0.0.1 localhost.localdomain localhost
  10.0.0.39 netfinity.zrs.com netfinity
  2、“hosts.conf”文件,"order hosts bind"语句,指定了对主机名的解析顺序是先到hosts中查找,然后到dns服务器的记录里查找。“multi on”则是允许一个主机名对应多个ip地址。内容:
  order hosts, bind
  multi on
  nospoof on
  3、“resolv.conf”文件,“nameserver 10.0.0.211”指定了dns服务器的地址。注意,这个文件对普通非dns服务器的电脑(非windows的系统;Windows系统是在“网络属 性”中设置这项的)来说,是必不可少的。你如果没有设置本机为dns服务器,你又要能够解析域名,就必须指定一个dns服务器的地址。你可以最多写上三个 地址,作为前一个失败时的候选dns服务器。“domain zrs.com”指定默认的域。文件内容:
  domain zrs.com
  nameserver 10.0.0.39


server配置:[转]
1.前提:在构建DNS服务器之前最好先学习一下DNS的工作原理。

2.安装DNS套件:支持DNS的套件名称为bind和bind-utils,bind的名字源于很早以前美国的一个项目(印象中好象是^_^)。

3.DNS的相关文件:
设定文件为/etc/named.conf
zone的文件默认放在/var/named文件夹中。(zone可以看成是一个简单的配置文件)

3.配置DNS。首先查看/etc目录下有没有named.conf文件,这个是配置文件,对于DNS的正常启动非常关键。
现在假设我想把自己机器上的域名设置为linux.wellcom.com。下面是我的named.conf的内容:

options {
    listen-on port 53 { 127.0.0.1; };
    listen-on-v6 port 53 { ::1; };
    pid-file "/var/run/named/named.pid";    //can shutdown by rm file;
    directory     "/var/named";
    dump-file     "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
    //copy from web ,create cach-only DNS
    forward only;        //Only allow forword!
    forwarders{
        202.96.128.166;
        202.96.128.86;
    };
    
    allow-query     { any; };    //allow any client to query?
    allow-transfer    { none;};    
    recursion yes;
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {        
    type hint;            //选择的 type 为 hint (root . 专用)
    file "named.ca";     //设定档案的档名!预设为 named.ca或者named.root。
};

zone "wellcom.com" IN {    //正解:表示wellcom.com这个域名,而"主机名+域名->IP"的记录文件就是           
                             //named.wellcom.com
    type master;
    file "named.wellcome.com";
};

zone "0.0.127.in-addr.arpa"{        //反解:即“IP->hostName+domainName"的记录文件
    type master;
    file "named.127.0.0";
};

4.然后设置正解文件named.wellcom.com
$TTL    600            //Time To Live :呆在cache里面的时间。
; IN代表的是internet标准。而@代表相应的域名,如在这里代表wellcom.com,即表示
; 一个域名记录定义的开始。而linux.wellcom.com则是这个域的主域名服务器,而root.
; wellcom.com则是管理员的邮件地址。注意这里用.代表@符号。SOA表示授权开始。
@       IN      SOA     linux.wellcome.com.        root.wellcome.com. (
                        2008081722      ; Serial
                        28800           ; Refresh
                        14400           ; Retry
                        720000          ; Expire
                        86400   )       ; minimum
; 主机的设定参数部分,@符号好像可以省略
@               IN      NS      linux        ; linux.wellcom.com == linux
; NS表示这个主机是一个域名服务器,省略了后面的域。
@               IN      MX 10   linux
; MX定义了邮件记录
linux           IN      A       127.0.0.1
; A定义了一条地址记录,主机名于ip地址的对应关系
www             IN      CNAME   linux
; CNAME:定义了对应主机的一个别名,即www.wellcom.com == linux.wellcom.com

5.设置反解文件named.127.0.0
$TTL   600
@       IN      SOA     linux.wellcom.com.       root.wellcom.com. (
                2008081723      ; Serial
                28800           ; Refresh
                14400           ; Retry
                720000          ; Expire
                86400 )         ; Minimum
; The server's infomations
@               IN      NS      linux.wellcom.com.
1               IN      PTR     linux.wellcom.com.
;1表示的是127.0.0.1,同理2表示127.0.0.2。这个设置跟zone的设定有关。如果zone的设定为0.127.in-addr.arpa,则这里的数字可以用1.1代表127.0.1.1

6.测试:
调用命令:[service named start ]启动DNS服务器。
打开/etc/resolv.conf文件,往里面加入
search wellcom.com
nameserver 127.0.0.1
这样当你机器查找wellcom.com这个域名的时候就不会通过ISP的DNS了,而是连到自己机器上的DNS。

现在打开终端开始测试
[root@localhost named]# nslookup
> linux.wellcom.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   linux.wellcom.com
Address: 127.0.0.1

测试成功。


鸟哥的Linux学习笔记 DNS服务器知识


Linux DNS的负载均衡及子域委派