Linux--DNS服务器
DNS是Internet上使用最普遍,也是最重要的服务之一,通过DNS我们才可以访
问丰富多彩的网络,而DNS服务器就是为了实现域名解析功能而搭建的。
域名系统采用层次结构,按地理区域或机构区域进行分层。在书写时,采用圆点(.)
将各个层次域隔开。从右到左依次为顶级域名、第二层域名等,最左的一个字段为主机
名。
在Red Hat Linux 9下建立DNS服务器,使用了BIND(Berkeley Internet Name
Domain,伯克利因特网名字域系统)软件。BIND采用客户机/服务器架构,它的客户
机方面称为转换程序(resolver)负责产生域名查询的信息,并将这类信息发送给服务
器。它的服务器方面是一个称为named的守护进程,负责处理和回送查询
(1) 安装域名服务器
进入软件目录
[root@lab root]# cd /root/labsoft
安装bind软件
[root@lab labsoft]# rpm -ivh bind-utils-9.2.1-16.i386.rpm
[root@lab labsoft]#rpm -ivh bind-9.2.1-16.i386.rpm
[root@lab labsoft]# rpm -ivh caching-nameserver-7.2-7.noarch.rpm
(2) named.conf文件的配置
进入/etc目录
[root@lab labsoft]# cd /etc
编辑bind的配置文件named.conf
[root@lab etc]# vi named.conf
// generated by named-bootconf.pl
options {
directory "/var/named"; #指定解析文件的目录
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN { #设置根域正向解析文件位置
type hint;
file "named.ca";
};
zone "localhost" IN { #设置本地域正向解析文件位置
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN { #设置本地反向解析文件位置
file "named.ca";
};
zone "test.com" IN { #设置正向解析文件位置
type master;
file " test.com.zone";
};
zone "100.168.192.in-addr.arpa" IN { #设置反向解析文件位置
type master;
file "100.168.192.in-addr.arpa.zone";
};
include "/etc/rndc.key";
按照网络的具体情况修改以上配置文件。
(3) 正向解析文件的配置
创建test.com.zone,并进行编辑
[root@lab etc]# vi /var/named/test.com.zone
$TTL 86400
test.com. IN SOA dns.test.com. root.test.com. (
2005081501 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ; TTL
)
test.com. IN NS dns.test.com.
dns. test.com. IN A 192.168.100.253 #域名服务器的地址
www1. test.com. IN A 192.168.100.1 #域名解析
ftp. test.com. IN A 192.168.100.2
www. test.com. CNAME www1 #别名
根据网络的实际情况配置此文件,不要忘记域名最后不能缺少“。” 。
(4) 反向解析文件的配置
建立反向解析文件100.168.192.in-addr.arpa.zone
[root@lab root]# vi /var/named/100.168.192.in-addr.arpa.zone
$TTL 86400
@ IN SOA @ root.test.com. (
2005081501 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ; Minimum
)
@ IN NS dns.test.com.
1IN PTR www1.test.com.
2 IN PTR ftp.test.com.
这个文件根据你的正向解析文件来配置。
(5) resolv.conf文件的配置
这个文件用来设定本机的nameserver
nameserver IP地址
在相应位置填写你的本机dns服务地址(一般就是本机地址)
(6) 启动服务器
启动域名服务
[root@lab etc]# cd /etc/init.d/named start
启动DNS服务后,机器将监听53端口,等待解析请求,可以使用以下命令查询:
[root@lab root]# netstat -an | grep 53
(7) 服务器测试
<1>在本机上使用nslookup命令测试
[root@lab root]# nslookup
如能正常查询解析文件中的地址,则服务器正常工作
<2>选取一台客户机(windows),将其DNS服务器地址设置为你建立的DNS服务器
地址;在命令窗口(windows中使用运行-cmd)中使用nslookup命令进行域名解析,若可
以查询到解析文件中的地址,则服务器正常工作。
(8) 停止服务器:
停止域名服务
[root@lab root]# /etc/init.d/named stop
更改配置后,需要重新启动服务器,使用命令为:
[root@lab root]# /etc/init.d/named restart
(9) 实验结束
实验结束后,将实验过程保存下来,将软件卸载,清除,使用如下命令:
[root@lab root]# /etc/init.d/named stop
[root@lab root]# rpm -e caching-nameserver
[root@lab root]# rpm -e redhat-config-bind-1.9.0-13
[root@lab root]# rpm -e bind-9.2.1-16
[root@lab root]# rpm -e bind-utils-9.2.1-16
[root@lab root]# rm -f /var/named/test.com.zone
[root@lab root]# rm -f /var/named/100.168.192.in-addr.arpa.zone