rhel5中配置DNS服务器

在RHEL5.4下搭建和配置DNS 服务器一、域名与域名解析网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为“IP 地址”。但这些数字难以记忆,所以就采用“域名”的方式来取代这

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

一、域名与域名解析

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

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

二、DNS 架构

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

三、DNS 解析流程

,

1、客户机请求解析www.exmaple.com.cn 的IP 地址,如果本地hosts 文件中没有相关解析, 则向本地DNS 服务器发出解析请求;

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

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

4、本地DNS 服务器向管辖.cn 的DNS 服务器询问www.exmaple.com.cn 的IP 地址;

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

6、本地DNS 服务器向管辖.com.cn 的DNS 服务器询问www.exmaple.com.cn 的IP 地址;

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

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

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

,

10、本地DNS 服务器解析出www.exmaple.com.cn 的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 ; };

};

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";

};

[root@localhost etc]# vi named.rfc1912.zones

// named.rfc1912.zones:

//

// Provided by Red Hat caching-nameserver package

//

// ISC BIND named zone configuration for zones recommended by

// RFC 1912 section 4.1 : localhost TLDs and address zones

//

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

zone "." IN {

type hint;

file "named.ca";

}; # 根DNS 服务器配置文件;

zone "localdomain" IN {

type master;

file "localdomain.zone";

allow-update { none; };

};

zone "localhost" IN {

type master;

file "localhost.zone";

allow-update { none; };

};# 模板1;

zone "0.0.127.in-addr.arpa" IN {

type master;

file "named.local";

,

allow-update { none; };

};# 模板2;

zone "Lee.net" IN { //区域配置选项,指定区域配置的类型和区域配置文件名 type master;

file "Lee.net.zone";

allow-update { none; };

};

//如果需要添加别的域,则需要继续添加区域文件,例如:添加liwei.net 这个域 zone "Lee.net" IN {

type master;

file "liwei.net.zone";

allow-update { none; };

};

zone "1.168.192.in-addr.arpa" IN {

type master;

file "1.168.192.in-addr.local";

allow-update { none; };

};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {

type master;

file "named.ip6.local";

allow-update { none; };

};

zone "255.in-addr.arpa" IN {

type master;

file "named.broadcast";

allow-update { none; };

};

zone "0.in-addr.arpa" IN {

type master;

file "named.zero";

allow-update { none; };

};

备注:蓝色字体是添加、修改过的;

3、Zone 配置文件

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

[root@localhost chroot]# ls

dev etc proc var

[root@localhost chroot]# cd var

,

[root@localhost var]# ls

log named run tmp

[root@localhost var]# cd named

[root@localhost named]# cp –p localdomain.zone Lee.net.zone

[root@localhost named]#cp –p named.local 1.168.192.in-addr.local

[root@localhost named]#vi Lee.net.zone

$TTL 86400

@ IN SOA localhost root (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS Lee.net.

www IN A 192.168.1.2

Lee.net. 表示DNS 服务器,后面的点不能少

42 serial表示更新序列号,用于告知从域名服务器

3H refresh表示三小时刷新一次

15M retry表示每15分钟重试一次

1W expiry表示寻找DNS 服务器时间最长为一周

1D minimum表示最短时间为一天

IN NS表示域名服务器记录,用于设置DNS 服务器名称

IN A表示A 记录,用于设置主机名对应IP 地址的对应记录

IN CNAME为别名记录,用于在区域文件中对主机名称设置别名

IN MX为邮件服务器记录,用于提供邮件服务器名称

[root@localhost named]#vi 1.168.192.in-addr.local

$TTL 86400

@ IN SOA localhost. root.localhost. (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS Lee.net.

2 IN PTR www.Lee.net .

反解记录和正解记录不同的地方就是ptr 参数,ptr 是Pointer 的缩写,格式为:

IP 地址 IN PTR 主机名

,

因为这个反解记录对应的IP 段为192.168.1.0,所以IP 地址部分,2就表示192.168.1.2. 最后主机名仍然是完全主机域名(FQDN ),所以最后还是需要加上“. ”。

备注:DNS 服务器Ip 为:192.168.1.1

4、测试

至此,DNS 搭建结束。

标签: