DNS是大部分网络服务基石,DNS解释的主要作用就是让域名替换IP,即:人们通过记忆的域名找到该域名所对应的物理主机的真实地址,可以方便人记忆。所以说DNS解释是大部分网络服务的基石,可想而知,人记IP地址的话,最多可以记上几个!上一篇博文中介绍了RHEL6中搭建本地YUM库的方法。这里我们用上了。下面就用YUM软件包管理器的方法安装DNS服务器的所需组件。这里就是最简单的安装DNS服务,用的DNS服务的软件包是有名的BIND软件。这里和通常的不一样就是没有安装bind-chroot组件。所以配置可能会和通常的有点小小的差别。But,没关系,原理还是一样的。bind-chroot组件的作用就是可以改变DNS各种主要或者次要的默认配置文档的目录路径。
一、用yum安装bind软件。
检查系统中是否安装bind软件,
#rpm -qa | grep bind
bind-libs-9.7.3-8.P3.el6.i686 (这里没有安装bind主要软件包)
#yum install bind -y (这里的-y参数是确认安装的意思)
[root@localhost ~]# rpm -qc bind (查询bind软件包安装路径和各配置文档的具体路径,结果如下)
简单的DNS服务器只需要对DNS的主配置文档,正反向解释配置文档进行简单的配置就OK了!
上面列出的其中/etc/named.conf为主配置文档、正反向解释配置文档存放在目录/var/named/下。这里因为么有安装bind-chroot软件包。所以默认的解释文档就放在目录/var/named/下。
前提是修改本地DNS服务器的指向。这里我的RHEL6-Server的其中一张网卡IP地址为 192.168.3.15
# vi /etc/resolv.conf
search localdomain
nameserver 192.168.3.15
二、配置DNS主配置文档。
下面是RHEL6中DNS主配置文档默认的配置。我们只需进行小小的改动就可以了。
vi /var/named/chroot/etc/named.conf
options {
listen-on port 53 { 192.168.3.15; };(更改服务器侦听53端口的网络IP地址,这是我的RHEL6其中一张网卡的IP地址。)
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; };(更改允许DNS请求的范围。这里为了方便就填写any,允许所有。你也可以控制只允许某些)
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
//添加正向zone区域进行解释。这里得注重语法。不要错漏了末尾的“;”号。写错了是无法启动DNS服务的!
zone "iloxp.com" IN {
type master; (DNS服务器类型,master表示主域名服务器区域)
file "iloxp.com.zone"; (DNS服务器解释指向的配置文件,直接填写名字表明存放在默认路径/var/named/目录下)
allow-update { none;}; (不允许域名进行动态更新)
};
//添加反向zone区域解释。这里的zone区域命名有严格的要求,一般反向IP断后面的都有严格遵守它的写法。
zone "3.168.192.in-addr.arpa" IN {
type master;
file "1.168.192.zone";
allow-update { none;};
};
include "/etc/named.rfc1912.zones";
最后保存退出就OK了!
三、配置正反向解释文档。
#cd /var/named/
#cp -p named.localhost iloxp.com.zone (加-p参数确保copy后的文件某些权限还和源文件一样)
#vi iloxp.com.zone
添加以下简单代码:
dns IN A 192.168.3.15 (解释域名dns.iloxp.com指向的主机IP为192.168.3.15 即本地IP地址)
www IN CNAME dns.iloxp.com. (添加别名 ‘CNAME’表示别名 注意域名后面的‘.’不要错漏了!)
最后,保存退出!
#cp -p named.loopback 3.168.192.zone
#vi 3.168.192.zone
添加以下解释:
15 IN PTR dns.iloxp.com.
保存退出!
到此,RHEL6下简单的DNS服务器配置完成,接下来进行测试。
四、测试DNS服务器正反向的解释情况。
[root@localhost Packages]# nslookup www.iloxp.com
-bash: nslookup: command not found
[root@localhost Packages]#
RHEL6最小安装默认没有安装nslookup功能的软件包,不要紧,我们安装下就OK。
找到系统中COPY的RHEL6镜像文件中的Packages目录。用find命令查找bind
#find bind (按tab键,显示如下)
[root@localhost Packages]# find bind-
bind-9.7.3-8.P3.el6.i686.rpm bind-libs-9.7.3-8.P3.el6.i686.rpm
bind-chroot-9.7.3-8.P3.el6.i686.rpm bind-utils-9.7.3-8.P3.el6.i686.rpm
bind-dyndb-ldap-0.2.0-7.el6.i686.rpm
[root@localhost Packages]# find bind-
然后安装软件包bind-utils-9.7.3-8.P3.el6.i686.rpm即可。
#rpm -ivh bind-utils-9.7.3-8.P3.el6.i686.rpm
Preparing... ########################################### [100%]
1:bind-utils ########################################### [100%]
[root@localhost Packages]# nslookup www.iloxp.com
Server: 192.168.3.15
Address: 192.168.3.15#53
www.iloxp.com canonical name = dns.iloxp.com.
Name: dns.iloxp.com
Address: 192.168.3.15
[root@localhost Packages]#
[root@localhost /]# ping www.iloxp.com
PING dns.iloxp.com (192.168.3.15) 56(84) bytes of data.
64 bytes from dns.iloxp.com (192.168.3.15): icmp_seq=1 ttl=64 time=0.036 ms
64 bytes from dns.iloxp.com (192.168.3.15): icmp_seq=2 ttl=64 time=0.044 ms
64 bytes from dns.iloxp.com (192.168.3.15): icmp_seq=3 ttl=64 time=0.041 ms
^C
--- dns.iloxp.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2769ms
rtt min/avg/max/mdev = 0.036/0.040/0.044/0.006 ms
[root@localhost /]#
nslookup test