架设DNS服务器

fedora12下BIND架设DNS服务器

基础信息

1.要架设的DNS服务器类型

A.带转发功能的高速缓存域名服务器

B.主域名服务器
C.辅助域名服务器

D.子域名服务器

 

2.DNS相关概念

A记录
NS记录
MX记录
CNAME记录
IP地址
自定义网址
域别名
WHOIS目录

DNS基础知识

DNS
DNS是 Domain Name System 的缩写,用于管理和识别域名。主要功能是为域的一个或多个IP地址提供名称
以便于记忆网址等。

域名:
简称是与一个或多个IP地址关联的易于记忆的名称(www.welltest.com/mail.welltest.com)
www.welltest.com
welltest.com 是域名
com 是顶级域名
welltest 是com的一个子部分,代表第二级域名
www 是子域(也称为第三级域名或 CNAME)


域名注册商 
新网 www.xinnet.com
万网 www.net.cn


顶级域名
顶级域名是域名的最后一部分,也就是最后一个点号后面的字母
www.welltest.com   中的com为顶级域名
www.welltest.org   中的org为顶级域名

第二级域名
是仅次于顶级域名的

第二级域名     域名
welltest       welltest.com
welltest       welltest.org

第三级域名
也称为子域名和CNAME。在网址中,子域名会写在域名前面

子域名      网址
www         http://www.welltest.com
mail        http://mail.welltest.com


A记录
A记录也称主机记录 是重要的DNS记录。A记录会将域名或者子域名与某个IP地址链接
A记录和IP地址不一定是一一对应关系。多个A记录可以对应一个IP地址,即一台服务器可以提供多个网站服务
另外,一个A记录也可以对应多个IP地址。这有助于提高容错性和负载均衡
=====================================================================================
IP             对应主机名称                      说明
10.1.18.34     linux.welltest.com           主机名称为linux.welltest.com
               www.welltest.com             其它的三个主机名称为主机别名
               mail.welltest.com
               ftp.welltest.com
=====================================================================================
NS记录
引用如下描述(网中人)
DNS的NS记录,是用来做授权的,向下授权。

假設你註冊的 domain 叫 abc.com ,而你有 ns1 與 ns2 兩台 server 。
那,你必需從 .com 的權威伺服器授權給你,其設定或類似如此:

$ORIGIN com.
abc IN NS ns1.abc.com.
abc IN NS ns2.abc.com.
ns1.abc IN A 1.2.3.4
ns1.abc IN A 1.2.3.5

然後,你的 ns1 或 ns2 都可是權威伺服器了(各自的 SOA 設為自己即可)。
在 abc.com 的 db 中,最少還應類似如下的設定:

$ORIGIN abc.com.
@ IN NS ns1.abc.com.
@ IN NS ns2.abc.com.
ns1 IN A 1.2.3.4
ns2 IN A 1.2.3.5

不過,既然 SOA 是自己的話,那事實上,我可以改變 ns 或增加 ns 授權:

$ORIGIN abc.com.
@ IN NS ns1.abc.com.
@ IN NS ns2.abc.com.
@ IN NS ns3.abc.com.
ns1 IN A 1.2.3.4
ns2 IN A 1.2.3.5
ns3 IN A 1.2.3.6

假如你有 sub-zone 要授權,事實上也是利用 ns 啦:

$ORIGIN abc.com.
sub1 IN NS ns1.sub1.abc.com.
sub1 IN NS ns2.sub1.abc.com.
ns1.sub1 IN A 4.3.2.1
ns2.sub1 IN A 4.3.2.2

然而,不同版本的 resolver ,對最終的 ns 判定是不一樣的:
bind9 是以 abc.com 的權威主機的 ns 為依據,若找不到,那就沒結果。
而之前的版本,則可退而求次,以 com. 裡關於 abc.com 的 ns 為答案。

MX记录
邮件交换记录 (MX) 会将电子邮件定向到某个域的服务器,按照优先级排列。
CNAME记录
规范名称记录是A记录的别名。对于每条CNAME记录,可以选择别名和主机

简单理解正解反解

由hostname寻找出IP的过程叫 正解
由IP寻找出hostname的过程叫 反解

Zone
简单的说一个正解或者一个反解得设定就是一个zone
SRV 记录
SRV 记录:一般是为Microsoft的活动目录设置时的应用。DNS可以独立于活动目录,但是活动目录必须有DNS的帮助才能工作。为了活动目录能够正常的工作,DNS服务器必须支持服务定位(SRV)资源记录,资源记录把服务名字映射为提供服务的服务器名字。
活动目录客户和域控制器使用SRV资源记录决定域控制器的IP地址。

 

安装配置

相关信息

域名:welltest.com

DNS:dns.welltest.com    10.1.18.34
邮件:mail.welltest.com   10.1.18.34
网址:www.welltest.com

 

安装
[root@linux ~]# yum install bind*

查看已安装相关信息

[root@linux ~]# rpm -qa bind*
bind-devel-9.6.1-13.P2.fc12.i686
bind-libs-9.6.1-13.P2.fc12.i686
bind-utils-9.6.1-13.P2.fc12.i686
bind-sdb-9.6.1-13.P2.fc12.i686
bindfs-1.8.3-3.fc12.i686
bind-dyndb-ldap-0.1.0-0.4.a1.fc12.i686
bind-chroot-9.6.1-13.P2.fc12.i686
bind-9.6.1-13.P2.fc12.i686
bind-to-tinydns-0.4.3-6.fc12.i686

配置:带转发功能的高速缓存域名服务器

修改/etc/named.conf文件如下

[root@linux ~]# vi /etc/named.conf

options {
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        forward only;
        forwarders { 61.177.7.1;10.0.139.112;};
};
logging {
        channel default_debug {
               file "data/named.run";
                severity dynamic;
        };
};
启动named服务

[root@linux ~]# service named restart

 

修改/etc/named.conf所属用户和群组,以及权限

[root@linux ~]# chown named:named /etc/named.conf

[root@linux ~]# chmod 770 /etc/named.conf

修改/var/named文件夹

[root@linux ~]# chown named:named /etc/named.conf

[root@linux ~]# chmod 770 /etc/named.conf

防火墙开放DNS

修改/etc/resolv.conf

[root@linux ~]# vi /etc/resolv.conf

nameserver 10.1.18.34

检查

[root@linux ~]# tail -n 15 /var/log/messages |grep named
Dec 29 13:59:12 linux named-sdb[1820]: adjusted limit on open files from 1024 to 1048576
Dec 29 13:59:12 linux named-sdb[1820]: found 1 CPU, using 1 worker thread
Dec 29 13:59:12 linux named-sdb[1820]: using up to 4096 sockets
Dec 29 13:59:12 linux named-sdb[1820]: SDB ldap zone database module loaded.
Dec 29 13:59:12 linux named-sdb[1820]: SDB postgreSQL DB zone database module loaded.
Dec 29 13:59:12 linux named-sdb[1820]: SDB sqlite3 DB zone database module loaded.
Dec 29 13:59:12 linux named-sdb[1820]: SDB directory DB zone database module loaded.
Dec 29 13:59:12 linux named-sdb[1820]: loading configuration from '/etc/named.conf'
Dec 29 13:59:12 linux named-sdb[1820]: using default UDP/IPv4 port range: [1024, 65535]
Dec 29 13:59:12 linux named-sdb[1820]: using default UDP/IPv6 port range: [1024, 65535]
Dec 29 13:59:12 linux named-sdb[1820]: listening on IPv4 interface lo, 127.0.0.1#53
Dec 29 13:59:12 linux named-sdb[1820]: listening on IPv4 interface eth0, 10.1.18.34#53
Dec 29 13:59:12 linux named-sdb[1820]: command channel listening on 127.0.0.1#953
Dec 29 13:59:12 linux named-sdb[1820]: command channel listening on ::1#953
Dec 29 13:59:12 linux named-sdb[1820]: running

客户端设置

DNS:10.1.18.34

客户端测试

 

配置:主域名服务器

修改/etc/named.conf文件如下

[root@linux ~]# vi /etc/named.conf

options {
         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";
        allow-query     { any; };
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside . trust-anchor dlv.isc.org.;
        //forward only;
        forwarders { 61.177.7.1;10.0.139.112;};
        allow-transfer { none;};
};

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

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

include "/etc/pki/dnssec-keys//named.dnssec.keys";
include "/etc/pki/dnssec-keys//dlv/dlv.isc.org.conf";


zone "welltest.com" IN {
        type master;
        file "named.welltest.com";
        allow-update { none; };
};


zone "1.10.in-addr.arpa" IN {
        type master;
        file "named.10.1";
        allow-update { none; };
};

 

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.127.0.0";
        allow-update { none; };
};

 

修改

/var/named/named.10.1

/var/named/named.127.0.0

/var/named/named.localhost

/var/named/named.welltest.com

[root@linux ~]# vi  /var/named/named.10.1

$TTL 1D
@       IN SOA linux.welltest.com. root.linux.welltest.com.      (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum


@         IN       NS     linux.welltest.com.
34        IN       PTR    linux.welltest.com.

[root@linux ~]# vi /var/named/named.127.0.0

$TTL 1D
@       IN SOA  localhost. root.localhost. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

@       IN      NS  localhost.
1       IN      PTR localhost.

 

[root@linux ~]# vi  /var/named/named.localhost

$TTL 1D
@       IN SOA  localhost. root.localhost. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

 

@       IN      NS     localhost.
localhost. IN    A      127.0.0.1

 

 

[root@linux ~]# vi  /var/named/named.welltest.com

 $TTL 1D
@       IN SOA  linux.welltest.com. root.linux (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

 

@             IN     NS    linux.welltest.com.
linux         IN     A     10.1.18.34
@             IN     MX   10   linux

www           IN     CNAME    linux
mail          IN     CNAME    linux

 

 

 

重新启动

[root@linux ~]# service named restart

 

检查

[root@linux ~]# tail -n 15 /var/log/messages |grep named

Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: 0.IN-ADDR.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: 127.IN-ADDR.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: 254.169.IN-ADDR.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: D.F.IP6.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: 8.E.F.IP6.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: 9.E.F.IP6.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: A.E.F.IP6.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: automatic empty zone: B.E.F.IP6.ARPA
Dec 29 15:47:51 linux named-sdb[2788]: command channel listening on 127.0.0.1#953
Dec 29 15:47:51 linux named-sdb[2788]: command channel listening on ::1#953
Dec 29 15:47:51 linux named-sdb[2788]: zone 1.10.in-addr.arpa/IN: loaded serial 0
Dec 29 15:47:51 linux named-sdb[2788]: zone 1.0.0.127.in-addr.arpa/IN: //.1.0.0.127.in-addr.arpa/NS '1.0.0.127.in-addr.arpa' has no address records (A or AAAA)
Dec 29 15:47:51 linux named-sdb[2788]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
Dec 29 15:47:51 linux named-sdb[2788]: zone welltest.com/IN: loaded serial 0
Dec 29 15:47:51 linux named-sdb[2788]: zone localhost/IN: loaded serial 0
Dec 29 15:47:51 linux named-sdb[2788]: running

 

C.辅助域名服务器

修改主域名服务器配置文件/etc/named.conf

[root@linux ~]# vi /etc/named.conf

options {
         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";
        allow-query     { any; };
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside . trust-anchor dlv.isc.org.;
        //forward only;
        forwarders { 61.177.7.1;10.0.139.112;};
        allow-transfer { none;};
};

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

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

include "/etc/pki/dnssec-keys//named.dnssec.keys";
include "/etc/pki/dnssec-keys//dlv/dlv.isc.org.conf";


zone "welltest.com" IN {
        type master;
        file "named.welltest.com";

     allow-transfer { 辅助域名服务器IP; };

};


zone "1.10.in-addr.arpa" IN {
        type master;
        file "named.10.1";

   allow-transfer { 辅助域名服务器IP; };

};

 

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

zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.127.0.0";
};

 

[root@linux ~]# service named restart

 

修改辅助域名服务器配置文件/etc/named.conf

[root@linux ~]# vi /etc/named.conf

options {
         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";
        allow-query     { any; };
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside . trust-anchor dlv.isc.org.;
        //forward only;
        forwarders { 61.177.7.1;10.0.139.112;};
        allow-transfer { none;};
};

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

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

include "/etc/pki/dnssec-keys//named.dnssec.keys";
include "/etc/pki/dnssec-keys//dlv/dlv.isc.org.conf";


zone "welltest.com" IN {
        type slave;
        file "named.welltest.com";

     masters { 10.1.18.34; };

};


zone "1.10.in-addr.arpa" IN {
        type slave;
        file "named.10.1";
     masters { 10.1.18.34; };

};

 

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

zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.127.0.0";
};

 

修改辅助域名服务器 /var/named/named.localhost   /var/named/named.127.0.0

 

D.子域名服务器

[root@linux ~]# vi  /var/named/named.welltest.com

 $TTL 1D
@       IN SOA  linux.welltest.com. root.linux (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

 

@             IN     NS    linux.welltest.com.
linux         IN     A     10.1.18.34
@             IN     MX   10   linux

www           IN     CNAME    linux
mail          IN     CNAME    linux

 

参考内容

1.http://www.google.com/support/a/bin/answer.py?hl=cn&answer=48090

2.http://linux.vbird.org/

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值