DNS的安装(详细)
以下内容转载自http://www.uusnn.com/?p=117
域名系统(DNS)是实现名称解释的一种解决方案,也是目前普遍 使用的名称解析方案。在Linux中,DNS服务器是基于BIND软件并通过配置/etc和/var/named目录中的相关文件,使用守护进程named,为网络中的客户机提供主机名与IP地址之间的解析服务。
安装DNS服务器,首先查看是否已经安装了DNS服务器,使用命令【rpm -qa | gerp bind】(Linux中的DNS服务器是通过BIND软件来实现的)
BIND系统包含的软件包括:
Ø Bind-* :DNS名称服务器软件。
Ø Bind-devel-* :DNS开发工具,不是必需的。
Ø Bind-utils-*: dig、host一级nslookup等DNS测 试工具.
Ø Caching-nameserver-*:缓存DNS服务器的基本配置文件,包括样本文件/etc/named.Conf和/var/named/localhost.Zone文件。
Ø Systme-config-bind-*:GUI DNS配置工具。
把CentOS 5.4安装光盘放入光驱中,在终端输入命令挂载光驱:mount /dev/cdrom /mnt/cdrom
进入光盘的CentOS目录(cd /mnt/cdrom/centos),在终端安装如下软件包。(另外也可以使用yum安装。)
本文使用yum安装:yum install bind* 然后yum install caching-nameserver*.这些是必须要安装的,如果安装了前者没有安装后者,使 用service named start命令,则会发生这样的错误:
Locating /var/named/chroot//etc/named.conf failed:
配 置主DNS服务器
配置DNS服务器可以通过修改DNS配置文件来实现,DNS服务器的配置文件主要有以下几个:
/etc/named.conf ……………DNS服务器的全局配置文件
/etc/named.rfc1912.zones …………..DNS服务器的区域配置文件
/var/named/named.ca …………指向根域名服务器的指示文件
/var/named/named.loal …………用于本地回环地址解析的文件
/var/named/localhost.zone …………..用于本地回环地址解析的文件
/var/named/domainname.zone ………….用户建立的本地主机区域数据库文件
DNS主 配置文件有两个,一个全局配置文件,一个是区域配置文件。全局配置文件为/var/named/chroot/etc/named.caching-nameserver.conf ;区域配置文件为/var/named/chroot/etc/named.rfc1912.zones。
如果使用yum 安装,安装的软件包主要有:
bind-devel-9.3.6-4.P1.el5_4.2
ypbind-1.19-12.el5
bind-9.3.6-4.P1.el5_4.2
bind-libbind-devel-9.3.6-4.P1.el5_4.2
bind-utils-9.3.6-4.P1.el5_4.2
bind-chroot-9.3.6-4.P1.el5_4.2
bind-libs-9.3.6-4.P1.el5_4.2
bind-sdb-9.3.6-4.P1.el5_4.2
caching-nameserver-9.3.6-4.P1.el5_4.2
主配置文件named.conf的配置
首先进入/var/named/chroot/etc/目录,主配 置文件named.Conf就在这个目录下进行配置。
由于安装了以上的软件包,这个目录下就默认 会生成一个named.conf文件,但这 个named.conf文件 只是个解释文档,所以我们要通过以下命令来把named.conf文件的模板拷贝一份。命令如下:
# cp -p named.caching-nameserver.conf named.conf
Named.conf文件的的修改如下(红色为需要修改的地方):
options {
listen-on port 53 { 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”;
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { any; };
allow-query-cache { localhost; };
};
logging {
channel default_debug {
file ”data/named.run”;
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include ”/etc/named.rfc1912.zones”;
};
在此目录下区域配置文件(named.rfc1912.zones)添加如下内容 (根据自身的情况):
zone ”guoguang.com” {
type master;
file ”guoguang.com”;
};
zone ”1.168.192.in-addr.arpa” {
type master;
file ”192.168.1.rev”;
};
配 置正反解析文件
正反解文件都在相同目录下,由于安装了chroot包后,所以配置正反解文件要到/var/named/chroot/var/named/目录下,而且在此目录下也有正反解的模板文件。正向解析文件的模板是:localdomain.zone;反向解析文件的模板是:named.local。
首先进入/var/named/chroot/var/named/目录下,使用命令分别复制正反向的模板文件。
#cp -p localdomain.zone guoguang.com
#cp -p named.local 192.168.1.rev
使用命令是不要忘记加参数P,然后分别编辑正向解析文件(guoguang.com)和反向解析文件(192.168.1.rev),具体如下:
正向解析配置文件(guoguang.com):
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS localhost
localhost IN A 127.0.0.1
www IN A 192.168.1.2
mail IN A 192.168.1.2
ftp IN CNAME www
@ IN MX 10 mail
反向解析配置文件(192.168.1.rev):
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
2 IN PTR www.guoguang.com.
2 IN PTR mail.guoguang.com.
下面将是配置DNS客户端和测试DNS服务器是否正常运行。
配 置DNS客户机
如果是Linux客户机,通过修改配置文件来设置,也可用图形界面设置,使用命令的配 置文件设置如下:打开/etc/resolv.conf文件,在文件中加入如下命令:
Nameserver 192.168.1.2
如果是windows客户机,在【Internet协议(TCP/IP)】复选框,单击【属性】按钮,在【Internet协议(TCP/IP)】属性对话框中设置DNS服务器的地址即可。
DNS域 名解析
使用命令nslookup测试。
在Linux下的测试结果:
[root@localhost ~]# nslookup
> 192.168.1.2
Server: 192.168.1.2
Address: 192.168.1.2#53
2.1.168.192.in-addr.arpa name = www.guoguang.com.
2.1.168.192.in-addr.arpa name = mail.guoguang.com.
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: www.guoguang.com
Address: 192.168.1.2
> mail.guoguang.com
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: mail.guoguang.com
Address: 192.168.1.2
Windows客户机下测试:
另外,在Linux下还可以使用host命令测试:
[root@localhost ~]# host 192.168.1.2
2.1.168.192.in-addr.arpa domain name pointer www.guoguang.com.
2.1.168.192.in-addr.arpa domain name pointer mail.guoguang.com.
[root@localhost ~]# host www.guoguang.com
www.guoguang.com has address 192.168.1.2
[root@localhost ~]# host mail.guoguang.com
mail.guoguang.com has address 192.168.1.2
[root@localhost ~]#
如果在本机(DNS服务器)上可以测试DNS服务器正常运行,在客户机上却不可以,应该是服务 器的防火墙没有关闭。