DNS是目前互联网上最不可或缺的服务器之一,每天我
们在上网都需要DNS的帮助。DNS的主要工作是域名解析,
也就是把计算机名翻译成IP地址,面对这么一个重要的服务
器角色,我们有必要对它进行一番研究,本文尝试探讨一下
Linux 2.6内核下利用RPM包安装及其配置的DNS,从而让大
家能更好地了解 Linux下的DNS。DNS服务监听的端口:
TCP、UDP下监听的都是53端口!
我们本文说的是在linux下利用RPM包安装配置DNS,如果有
人想找到关于windows2003平台下的DNS的配置管理的文
章,本人在此给同志们推荐一个技术博客,希望对大家有所
帮助!
http://yuelei.blog.51cto.com
那我们接下来言归正传,步入正题,讨论一下linux下的
DNS:
要安装DNS,我们首先把Linux的安装镜像给挂载上,因为我
们这是在虚拟机上做实验!
准备工作:配置好dns
[root@localhost ~]# vi /etc/resolv.conf
nameserver 192.168.1.28
1、[root@localhost ~]# mkdir /mnt/cdrom
首先我们创建一个挂载点。
2、[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom
这就是我们的挂载命令,接下来出现mount: block device /dev/cdrom is write-protected, mounting read-only这串字符,就说明我们挂载成功。
3、cd /mnt/cdrom/Server
cd到这个目录下,ls查看一下里面的内容,这张截图上面的只是里面的一部分,我们安装DNS的RPM包就在这个目录下,
接下来我们开始安装,安装之前我们先说一下,在2.4和2.6内核上安装DNS时有点区别的,但是区别不大,在有区别的地方我会用##.....##开头来给表明。
4、[root@localhost Server]# rpm -ivh bind-9.3.3-10.el5.i386.rpm bind-utils-9.3.3-10.el5.i386.rpm caching-nameserver-9.3.3-10.el5.i386.rpm
如图我们安装成功:
我们这是在2.6内核上安装的,需要安装这四个RPM包!
##......## 2.6内核与2.4内核的区别: 2.6上只需要安装bind-9.3.3-10.el5.i386.rpm bind-utils-9.3.3-10.el5.i386.rpm caching-nameserver-9.3.3-10.el5.i386.rpm 这三个包即可!
安装完成,今天的实验我们就拿 www.sian.com 来说吧,假设 www.sian.com 这个域名对应得IP是192.168.1.28接下来我们要修改相关的配置文件使其生效,DNS相关的文件有以下四个:
/etc/named.conf :配置文件。
/var/named/named.ca :根域文件。
/var/named/localhost.zone :系统默认的域的正向区域文件。
/var/named/named.local :反向区域文件。
##......## 2.6内核与2.4内核唯一的区别:就是配置文件的存放路径变了,2.6内核存放在/etc/named.conf ,2.4内核存放在/var/named/chroot
首先我们来修改/etc/named.conf :配置文件,默认情况下这个文件中是没有配置的,如果我们自己来写很容易写错,那我们就到时先准备好的windows机器上去下载下来:
smbclient //192.168.15.3/src 下载:get named.conf
下载下来后我们打开看一下里面的配置:
5、 Vi /etc/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;
};
"/etc/named.conf" [noeol][dos] 39L, 924C
// 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";
};
// 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; };
};
在这么多内容当中我们只需要修改一下几行即可,但是切记“在修改配置文件的时候尽量不要在原基础上修改,如果不用,我们可以用#来注释掉,以防出错后我们找不到原来的配置”
这样我们就复制这几句,在其后面修改,下图就是我们修改后的配置,
6、新建记录前准备,复制named.local文件为相关文件,
[root@localhost ~]# cp /var/named/named.local /var/named/sina.zone
[root@localhost ~]# cp /var/named/named.local /var/named/sina.local
这时候有人会问,为什么不直接,
复制/var/named/named.zone 到 /var/named/sina.zone
而是 /var/named/named.local 到 /var/named/sina.zone
因为/var/named/named.zone的配置文件默认的二进制文件,修改起来特别的不方便,所以我们就用named.local 代替sina.zone
7、修改正向区域文件:
[root@localhost ~]# vi /var/named/sina.zone
8、修改反向区域文件:
[root@localhost ~]# vi /var/named/sina.local
9、修改相关文件的属组
[root@localhost ~]# cd /var/named/
[root@localhost named]# chgrp named sina.zone
[root@localhost named]# chgrp named sina.local
10、重启服务
[root@localhost ~]# service network restart
[root@localhost ~]# service named restart
完成了DNS的安装及配置,接下来我们来测试一下:
如图,成功了!
二、一个IP对应两个域名。
到这一步之后,有人就会问,有可能让一个IP对应两个域名吗?没问题,当然可以!
要在一个IP上解析两个域名,那么我们只需要在/etc/named.conf中有一个反向解析的区域就可以了,但是在/var/named/sina.local中添加上另一个域名的正反向解析。在这里就不细说了!