1,下载apt-get install bind9        bind 是一种开源的实现DNS协议的软件

软件下几个主要文件

 

/etc/named.conf

BIND进程的工作属性

区域的定义

wKiom1g6eGOxJVXSAAB8PwIokp8824.png-wh_50

 

/etc/rndc.key

rndc: Remote Name Domain Controller

密钥文件

配置信息:/etc/rndc.conf


/var/named/

区域数据文件

 

/etc/rc.d/init.d/named

{start|stop|restart|status|reload}


二进制程序:named

 

 

 

 

 

/etc/bind/named.conf //维护服务器与其他dns服务器的沟通,没啥可改的,不动就行
/etc/bind/named.conf.options //主要完成对转发地址的修改,一般维持为8,8,8,8就行了,没啥可改的,forwarders需要解注释,注意:这里的forwarders是指options括号内的那一个!
/etc/bind/named.conf.local //这是主服务器记录,外部加入的域名和IP之间的对应关系都在这里进行规划,里面会记录对应的IP、域名文件位置,这个地方一般就不讲究,都放入/etc/bind/目录下就行啦

 

 

 

(1)、修改/etc/bind/named.conf.local文件,添加一下内容:
    zone "songmao.com"{

        type master;

        file "ns1.songmao.com";

        };

        zone “0.0.127.in-addr.arpa” {

        type master;

        notify no;

        file “/etc/bind/ns1.songmao.com.rev”;

        };


    说明:添加域songmao.com,type master:为主服务器,file "ns1.songmao.com"指定域的文件。该文件保存在/var/cache/bind目录下。
创建/var/cache/bind/ns1.songmao.com文件,可以拷贝/etc/bind下的db.local文件来做模板修改: cp /etc/bind/db.local /var/cache/bind/ns1.songmao.com
/var/cache/bind/ns1.songmao.com文件修改如下:
;

; BIND data file for local loopback interface

;

$TTL    604800

@       IN      SOA     songmao. root.songmao. (

                              2         ; Serial

                         604800         ; Refresh

                          86400         ; Retry

                        2419200         ; Expire

                         604800 )       ; Negative Cache TTL

;

@       IN      NS      localhost.

@       IN      A       127.0.0.1

@       IN      AAAA    ::1

www     IN      A       127.0.0.1   ;这个是子域,也就是web服务器的域名了;
修改/etc/bind/named.conf.options文件:
    将forwarders这段的注释“//”去掉,改成
    forwarders{
        8.8.8.8;
    };
这个作用是,dns服务器解析不了的地址,转发到8.8.8.8(google的域名服务器)上解析;
最后重新启bind9服务器:#/etc/init.d/bind9 restart

测试:
    可以通过nslookup命令来测试!
如:nslookup www.songmao.com
如果看到这样的返回结果:

wKioL1g6eHfgYSrIAAA0GGipXUA206.png-wh_50


   说明你搭建成功了!
从浏览器输入http://www.songmao.com即可访问本地web服务器了。

 

 

 

 

配置bind9   源码

 

 

[root@YYzs tmp]# tar xvf bind-9.6.1.tar.gz

[root@YYzs tmp]# cd bind-9.6.1

[root@YYzs bind-9.6.1]# ./configure --prefix=/usr/local/named --disable-openssl-version-check

//开启多线程处理能力

[root@YYzs bind-9.6.1]#make

[root@YYzs bind-9.6.1]#make install

//由于安装程序不会自动创建主配置文件所以我们要手动创建

 

之后进入/usr/local/named       如果没有etc得创建

[root@YYzs bind-9.6.1]#cd /usr/local/named 

[root@YYzs named]# mkdir etc 

 //从rndc.conf文件中提取named.conf用的key

root@linux?named]#cd sbin

[root@YYzs sbin]# ./rndc-confgen | tail -10 | head -9 | sed s/#\ //g > /usr/local/named/etc/named.conf

//自动在/usr/local/named/etc生成named,conf文件 

 

二、更改bind配置文件

#allow-query配置项用来设置允许DNS查询的客户端地址,默认的客户端地址为本机。#这里可以设置为某个网段、所有、具体的某台主机3种情况。下面是配置文件的默认设置:#allow-query     { localhost; }; 

#如果设置其他情况,修改大括号“{}”中的localhost就可以了。any表示允许所有,#如允许192.168.1.0网段,设置为“192.168.1.0/24”,具体的主机设为“主机的IP”。

[root@YYzs etc]# vi /usr/local/named/etc/named.conf

//加入以下代码

options {  

#named区文件目录 

directory "/var/named";  

#进程id文件名  

pid-file "named.pid"; 

};  

controls {      

   inet 127.0.0.1 allow { c; } keys { rndckey; }; 

};

zone "." IN {         

    type hint;        

    file "named.root";

}; 

zone "localhost" IN { 

    type master;      

    file "localhost.zone";      

    allow-update { none; };

}; 

# 指定 named 作为127.0.0网段地址转换主服务器。

# named.local 文件中包含了 127.0.0.* 形式的地址到域名的转换数据。

#(127.0.0网段地址是局域网接口的内部 loopback 地址)

zone "0.0.127.in-addr.arpa" IN {    

    type master;        

    file "named.local";       

    allow-update { none; }; 

}; 

# 指定 named 作为 test.com 域的主域名服务器。

# test.zone 文件中包含所有 *.test.com 形式的域名转换数据。

zone "test.com" IN {   

    type master;       

    file "test.zone";       

    allow-update { none; };

}; 

#指定 named 作为 192.168.1 网段地址转换主服务器。

# test.local文件中包含了所有 192.168.1.* 形式的地址到域名的转换数据。

zone "1.168.192.in-addr.arpa" IN {    

    type master;       

    file "test.local";         

    allow-update { none; }; 

}; 

 

三、建立区文件目录 

[root@YYzs etc]# mkdir /var/named

//进入/var/named  

[root@YYzs etc]# cd /var/named/

//建立localhost.zone文件

[root@YYzs named]# vi localhost.zone

 

$TTL    86400 $

ORIGIN localhost.

@                       1D IN SOA       @ root (

                              42              ; serial (d. adams)   

                              3H              ; refresh        

                              15M             ; retry      

                              1W              ; expiry     

                              1D )            ; minimum  

                        1D IN NS        @

                        1D IN A         127.0.0.1

 

 

//建立named.local文件

[root@YYzs named]# vi named.local

$TTL    86400

@       IN      SOA     localhost. root.localhost.  (

                                    1997022700 ; Serial   

                                    28800      ; Refresh

                                    14400      ; Retry

                                    3600000    ; Expire

                                    86400 )    ; Minimum

        IN      NS      localhost.

1       IN      PTR     localhost.

~                                    

//dig命令直接生成named.root文件 

[root@YYzs named]# dig > named.root

 

//建立test.com域名正向解析文件 

[root@YYzs named]# vi test.zone

$ttl    1D

@               IN SOA  test.com.  root.test.com. (

                                        1053891162

                                        3H

                                        15M

                                        1W

                                        1D )

                IN NS          test.com.

                IN MX    5     test.com.

www             IN A           192.168.1.107

 

//建立test.com域名反向解析文件

$TTL 86400 

@       IN SOA test.com. root.test.com.(

                    20031001;   

                    7200;

                    3600;

                    43200;

                    86400);

@       IN NS       test.com.

82      IN PTR      dns.test.com.

四、启动bind服务器

[root@YYzs named]/usr/local/named/sbin/named -c /usr/local/named/etc/named.conf & 

5642 

 

五、测试DNS 

[root@YYzs named]# host 192.168.1.107 

107.1.168.192.in-addr.arpa domain name pointer dns.test.com.

//如上显示表示DNS反向解析正常 

[root@YYzs named]# ping www.test.com PING www.test.com (192.168.1.107) 56(84) bytes of data. //如上显示表示正向解析正常 

//DNS配置完成。