Chinaunix首页 | 论坛 | 博客
  • 博客访问: 516648
  • 博文数量: 240
  • 博客积分: 791
  • 博客等级: 军士长
  • 技术积分: 1694
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-23 18:21
文章分类

全部博文(240)

文章存档

2013年(21)

2012年(219)

我的朋友

分类:

2012-10-25 09:56:55

原文地址:在rhel5中配置DNS服务器 作者:l495051275

RHEL5.4下搭建和配置DNS服务器

一、域名与域名解析

网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为IP 地址。但这些数字难以记忆,所以就采用域名的方式来取代这些数字了。不过最终还是必须将域名转换为对应的IP 地址才能访问主机。

DNS Domain Name System服务,又叫域名解析服务,即提供域名与IP地址的相互转换。域名的正向解析是将主机名转换成IP 地址的过程,域名的反向解析是将IP地址转换成主机名的过程。通常我们很少需要将IP 地址转换成主机名,即反向解析。反向解析经常被一些后台程序使用,用户看不到。

二、DNS 架构

域的层次结构如同一棵倒立的树,层次结构非常清晰,如图所示。根域位于顶部,紧接着在根域的下面是几个顶级域,每个顶级域又可以进一步划分为不同的二级域,二级域再划分出子域,子域下面可以是主机也可以是再划分的子域,直到最后的主机。在Internet 中的域是由InterNIC负责管理的,域名的服务则由DNS 来实现。

 

三、DNS 解析流程

1、客户机请求解析IP 地址,如果本地hosts文件中没有相关解析,

则向本地DNS服务器发出解析请求;

2、如果本地DNS服务器有该域名的解析信息,则直接返回给客户机;如果本地DNS服务器没有该域名的解析信息,则本地DNS 服务器向根DNS服务器询问IP地址;

3、如果根DNS 服务器有该域名的解析信息,则直接返回信息给本地DNS 服务器,本地DNS 服务器再将解析信息返回给客户机;如果根DNS 服务器没有该域名的解析信息,则返回管辖.cn解析业务的DNS 服务器的IP 地址;

4、本地DNS 服务器向管辖.cnDNS 服务器询问IP 地址;

5、如果.cn 服务器有该域名的解析信息,则直接返回信息给本地DNS 服务器,本地DNS

服务器再将解析信息返回给客户机;如果.cn DNS 服务器没有该域名的解析信息,则管辖.cn解析业务的DNS服务器告知.com.cnDNS 服务器的IP地址;

6、本地DNS 服务器向管辖.com.cnDNS服务器询问IP 地址;

7、如果.com.cn 服务器有该域名的解析信息,则直接返回信息给本地DNS 服务器,本地DNS 服务器再将解析信息返回给客户机;如果.com.cn DNS 服务器没有该域名的解析信息,则管辖.com.cn解析业务的DNS 服务器告知.example.com.cnDNS服务器的IP地址;

8、本地DNS服务器向管辖.example.com.cnDNS 服务器询问www. example.com.cn IP 地址;

9、管辖.example.com.cnDNS服务器告知DNS服务器的IP地址;

10、本地DNS服务器解析出IP 地址,并传回给客户机。

Linux下的DNS服务器分为以下几种:

1、 缓存域名服务器

主要功能是提供域名解析的缓存。
2
、 主域名服务器

是特定域所有信息的权威性信息源,对于某个指定域,主域名服务器是唯一存在的;主域名服务器中保存了指定域的区域文件。
3
、 从域名服务器

从主域服务器中获取相应的文件进行保存。

四、搭建Linux 下的DNS多域解析服务器

1首先使用下列命令来查看bind软件包是否已经安装,如果安装可以直接进行配置,如果没有则进行安装:
[root@localhost ~]# rpm -qa | grep bind

bind-chroot-9.3.6-4.P1.el5

kdebindings-3.5.4-6.el5

bind-libs-9.3.6-4.P1.el5

ypbind-1.19-12.el5

bind-9.3.6-4.P1.el5

system-config-bind-4.0.3-4.el5

bind-utils-9.3.6-4.P1.el5

其中软件包bind-chroot是为了系统的安装而装的,它可以使原本存放DNS配置文件的位置改变。如未安装这个包之前DNS的配置文件存放在/etc/named.conf下面,安装了这个包后,DNS的配置文件就改存在/var/named/chroot/etc/named.conf里了。

[root@localhost ~]# mount /dev/cdrom /media

为了以后的安装包方便下面说一下简单的本地yum的配置,以后就不用使用rpm命令装软件包了!!下面修改一下yum的配置文件,然后就可以使用yum命令来安装软件包了!!
[root@localhost etc]# cd yum

yum/         yum.conf     yum.repos.d/

[root@localhost etc]# cd yum.repos.d/

[root@localhost yum.repos.d]# ls

rhel-debuginfo.repo

[root@localhost yum.repos.d]# vi rhel-debuginfo.repo

把配置文件中baseurl的路径和enabled的值改成如下:
baseurl=file:///media/Server
enabled=1
修改了这两处后保存退出就OK了,其中第一个选项是指定你把你的系统光盘挂载的位置。
修改好以上两处选项后就可以使用yum命令来安装软件包了,当然你也可以使用rpm命令来安装(如果你不嫌被依赖关系搞崩溃的话)。千万要记住用yum命令安装软件包之前首先得挂载光盘(mount /dev/cdrom /media)

DNS的配置选项
    DNS服务器程序安装到系统后,还需要对它的配置文件进行修改,添加需要在本地DNS服务器解析的域名,才能使DNS服务器进行正常工作。
在配置DNS时,需要对多个配置文件进行修改,在修改之前我们先来看一下这些配置文件各自的作用:
  
1/var/named/chroot/etc/name.conf:DNS服务器的主配置文件,在这个文件中可以设置通用参数,但在该文件中并不具体设置解析信息,而只是设置指向每个域名和IP地址映射信息的文件。
  
2/var/named/chroot/var/named/named.ca:这个文件是根域DNS服务器指向的文件,通过该文件可以指向根域DNS服务器。用户一般不要修改这个文件。此文件可以到到网上去下载,然后下载下来把名字重命名为named.ca并复制到/var/named/chroot/var/named/里。
  
3/var/named/chroot/var/named/localost.zone:用于将名字localhost转换为本地回送IP地址(127.0.0.1)。
   4 named.rfc1912.zones 用户配置的域名解析文件:也称为区文件,若当前DNS服务器需要解析多个域名,则需要设置多个域名解析文件。若需要反向解析,还要设置对应的反向解析文件。

3、修改主配置文件

[root@localhost ~]#  cd /var/named/chroot/etc/

[root@localhost etc]# cp p named.caching-nameserver.conf named.conf

备注:cp 参数-p 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。这里大多数配置文件的属主是root,组为named,如果只是cp,启动named 服务时会报错。

[root@localhost etc]# vi named.conf

// named.caching-nameserver.conf

//

// Provided by Red Hat caching-nameserver package to configure the

// ISC BIND named(8) DNS server as a caching only nameserver

// (as a localhost DNS resolver only).

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//

// DO NOT EDIT THIS FILE - use system-config-bind or an editor

// to create named.conf - edits to this file will be lost on

// caching-nameserver package upgrade.

//

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 { any; };

};

注:暂存的内容只能恢复到当前文章的编辑器中,如需恢复到其他文章中,请编辑该文章并从暂存箱中恢复;或者直接复制以上内容,手工恢复到相关文章。

阅读(756) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~