红联Linux门户
Linux帮助

RHEL6服务器搭建DNS服务器

发布时间:2015-05-11 22:24:32来源:linux网站作者:sbwolftotem

DNS domain name system 域名系统
特点:(1)具备递归查询和迭代查询
(2)分布式数据库
(3)将域名解析为IP
(4)具有主DNS服务器、辅DNS服务器和缓存DNS服务器三种类型
(5)全球13台根域服务器


1、软件包
bind.i386 --主服务软件包
bind-chroot.i386 -- 笼环境软件包
bind-devel.i386 --开发包
bind-libs.i386 --库文件
bind-utils.i386 --工具包
[root@rootbug ~]# rpm -qa |grep ^bind- --rhel6.3下的包
bind-utils-9.8.2-0.10.rc1.el6.x86_64
bind-chroot-9.8.2-0.10.rc1.el6.x86_64
bind-libs-9.8.2-0.10.rc1.el6.x86_64
bind-9.8.2-0.10.rc1.el6.x86_64
bind-dyndb-ldap-1.1.0-0.9.b1.el6.x86_64
-------------看到软件包有点纠结,为啥呢??因为这些软件包的名字跟DNS这三个词每半点关系---------


2、安装软件包
[root@rootbug ~]#yum install bind* -y


3、查看配置文件
RHEL6下不管是安装了bind-chroot还是不安装,配置文件都是以/var/named.conf文件为主。
(1)修改/etc/named.conf
[root@rootbug ~]#vim /etc/named.conf
-------省略其他万行代码----------------

options {
listen-on port 53 { any; }; --将原配置文件中的127.0.0.1改为any,表示监听所有
listen-on-v6 port 53 { ::1; };
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; }; --将配置文件的localhost改为any,表示所有人能查询这台服务器
recursion yes;

-------省略其他万行代码----------------
修改之后保存退出
(2)配置/etc/named.rfc1912.zones,增加域的配置
[root@rootbug ~]#vim /etc/named.rfc1912.zones
按照配置文件格式添加一个域,这里我添加一个rootbug.com的域,域的数据文件放在directory "/var/named"当前目录下的data下,名称为:master.rootbug.com.zone。配置域时请注意“;”分号。
zone "rootbug.com" IN {
type master;
file "data/master.rootbug.com.zone";
};

配置好之后保存退出。

(3)创建master.rootbug.com.zone的数据文件
[root@rootbug ~]#vim /var/named/data/master.cluster.com.zone

$TTL 3600
@ IN SOA rootbug. zhangsan. (
2013090801 --版本号,下面的是各种时间,作用是主从DNS服务器的同步时间
30
60
90
3600 )
IN NS 172.16.2.151. --这里就是DNS服务器的IP(实际应该是公网IP,但这里是内网环境,所以写的内网IP),但是ip地址最后还有一个“.”记得加点,也可以写DNS服务器的外网域名;并且这里可以写多个NS,代表了你公司的多台DNS服务器
mail IN A 1.1.1.1 --A记录就是真正的数据,这里代表mail.rootbug.com的公网地址为1.1.1.1
dns IN A 172.16.2.151
bbs IN A 2.2.2.2

保存退出

(4)启动DNS服务器
[root@rootbug ~]#/etc/init.d/named start ----第一次配置开启过程需要等待一段时间

(5)客户端认证DNS服务器是否正确
windows客户端认证
在IP配置DNS栏中将首选DNS填写为172.16.2.151即可
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\ruutbug>nslookup mail.rootbug.com
*** Can't find server name for address 172.16.2.151: Server failed
*** Default servers are not available
Server: UnKnown
Address: 172.16.2.151

Name: mail.rootbug.com
Address: 1.1.1.1

C:\Documents and Settings\ruutbug>nslookup dns.rootbug.com
*** Can't find server name for address 172.16.2.151: Server failed
*** Default servers are not available
Server: UnKnown
Address: 172.16.2.151

Name: dns.rootbug.com
Address: 172.16.2.151

C:\Documents and Settings\ruutbug>nslookup bbs.rootbug.com
*** Can't find server name for address 172.16.2.151: Server failed
*** Default servers are not available
Server: UnKnown
Address: 172.16.2.151

Name: bbs.rootbug.com
Address: 2.2.2.2

linux客户端认证
[root@rootbug ~]# vim /etc/resolv.conf
nameserver 172.16.2.151
保存退出
[root@rootbug ~]#nslookup mail.rootbug.com
Server: 172.16.2.151
Address: 172.16.2.151#53

Name: mail.rootbug.com
Address: 1.1.1.1

[root@rootbug ~]#nslookup bbs.rootbug.com
Server: 172.16.2.151
Address: 172.16.2.151#53

Name: bbs.rootbug.com
Address: 2.2.2.2


4、反向解析DNS服务器
IP解析为域名
(1)第一步:主配置文件添加以下区域:
[root@rootbug ~]# vim /etc/named.rfc1912.zones
zone "2.16.172.in-addr.arpa" IN {
type master;
file "data/master.2.16.172.in-addr.arpa.zone";
};

(2)第二步:建立区域数据文件
[root@rootbug ~]#vim /var/named/data/master.2.16.172.in-addr.arpa.zone

$TTL 86400
@ IN SOA rootbug. abc. (
2013091101
30
60
90
86400 )
IN NS 172.16.2.151.
151 IN PTR dns.rootbug.com. --172.16.2.151这个IP被反向解析为dns.rootbug.com
保存退出

[root@rootbug ~]#/etc/init.d/named restart

客户端认证是否正确
[root@rootbug ~]# nslookup 172.16.2.151
Server: 172.16.2.151
Address: 172.16.2.151#53

151.2.16.172.in-addr.arpa name = dns.rootbug.com.


5、主从DNS服务器
主服务器IP为172.16.2.151,从服务器IP为172.16.2.152
从服务器上同样需要安装DNS服务器的各个软件包,安装情况上面。
(1)配置named.conf

[root@rootbug ~]#
vim /etc/named.conf --打开此文件,和主的配法一样

options {
listen-on port 53 { any; }; --改为any
listen-on-v6 port 53 { ::1; };
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; }; --改为any
recursion yes;

[root@rootbug ~]# vim /etc/named.rfc1912.zones --在最后加上下面一段

zone "rootbug.com" IN {
type slave; --类型定义为slave
file "slaves/slave.rootbug.com.zone"; --最好把zone文件定义到slaves目录下;
masters { 172.16.2.151; }; --指定主DNS服务器的IP地址
};

[root@rootbug ~]# /etc/init.d/named start --启动named服务
Starting named: [ OK ]

[root@localhost ~]# ls /var/named/slaves/ --再次查看发现是主上面下载过来了
slave.rootbug.com.zone
如果不能下载过来:
查看网络是否连通,就是ping一下
查看iptables,selinux是否关闭
时间是否同步等。


CentOS中DNS服务器的搭建:http://www.linuxdiyf.com/linux/11420.html

在CentOS7.0上搭建Chroot的Bind DNS服务器:http://www.linuxdiyf.com/linux/10212.html

CentOS上配置主DNS服务器的简易指南:http://www.linuxdiyf.com/linux/10661.html

手动配置Ubuntu指定DNS服务器地址:http://www.linuxdiyf.com/linux/886.html