1、在 RHEL5.4 下搭建和配置 DNS 服务器一、域名与域名解析网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为“IP 地址 ”。但这些数字难以记忆,所以就采用“域名”的方式来取代这些数字了。不过最终还是必须将域名转换为对应的IP 地址才能访问主机。DNS ( Domain Name System)服务,又叫域名解析服务,即提供域名与IP地址的相互转换。域名的正向解析是将主机名转换成IP 地址的过程,域名的反向解析是将IP地址转换成主机名的过程。通常我们很少需要将IP 地址转换成主机名,即反向解析。反向解析经常被一些后台程序使用,用户看不到。二、DNS 架构域的层次结
2、构如同一棵倒立的树,层次结构非常清晰,如图所示。根域位于顶部,紧接着在根域的下面是几个顶级域,每个顶级域又可以进一步划分为不同的二级域,二级域再划分出子域,子域下面可以是主机也可以是再划分的子域,直到最后的主机。在Internet 中的域是由InterNIC负责管理的,域名的服务则由 DNS 来实现。三、DNS 解析流程1、客户机请求解析的IP 地址,如果本地hosts文件中没有相关解析,则向本地DNS 服务器发出解析请求;2、如果本地DNS服务器有该域名的解析信息,则直接返回给客户机;如果本地DNS服务器没有该域名的解析信息,则本地DNS 服务器向根DNS服务器询问的IP地址;3、如果根DN
3、S 服务器有该域名的解析信息,则直接返回信息给本地DNS 服务器,本地DNS 服务器再将解析信息返回给客户机;如果根DNS 服务器没有该域名的解析信息,则返回管辖.cn 解析业务的DNS 服务器的IP 地址;4、本地DNS 服务器向管辖 .cn的DNS 服务器询问的IP 地址;5、如果.cn 服务器有该域名的解析信息,则直接返回信息给本地DNS 服务器,本地DNS服务器再将解析信息返回给客户机;如果.cn DNS 服务器没有该域名的解析信息,则管辖.cn解析业务的DNS服务器告知 的DNS 服务器的IP 地址;6、本地DNS 服务器向管辖 的DNS服务器询问的IP 地址;7、如果 服务器有该域
4、名的解析信息,则直接返回信息给本地DNS 服务器,本地DNS 服务器再将解析信息返回给客户机;如果 DNS 服务器没有该域名的解析信息,则管辖解析业务的 DNS 服务器告知的DNS服务器的IP地址;8、本地DNS 服务器向管辖 的DNS 服务器询问www. IP 地址;9、管辖的DNS服务器告知 的DNS服务器的IP地址;10、本地DNS 服务器解析出 的IP 地址,并传回给客户机。Linux下的DNS服务器分为以下几种:1、 缓存域名服务器主要功能是提供域名解析的缓存。2、 主域名服务器是特定域所有信息的权威性信息源,对于某个指定域,主域名服务器是唯一存在的;主域名服务器中保存了指定域的区
5、域文件。3、 从域名服务器 从主域服务器中获取相应的文件进行保存。四、搭建 Linux 下的 DNS 多域解析服务器1、首先使用下列命令来查看 bind 软件包是否已经安装,如果安装可以直接进行配置,如果没有则进行安装:rootlocalhost # rpm -qa | grep bindbind-chroot-9.3.6-4.P1.el5kdebindings-3.5.4-6.el5bind-libs-9.3.6-4.P1.el5ypbind-1.19-12.el5bind-9.3.6-4.P1.el5system-config-bind-4.0.3-4.el5bind-utils-9.3.
6、6-4.P1.el5其中软件包 bind-chroot 是为了系统的安装而装的,它可以使原本存放 DNS 配置文件的位置改变。如未安装这个包之前 DNS 的配置文件存放在/etc/named.conf 下面,安装了这个包后,DNS 的配置文件就改存在/var/named/chroot/etc/named.conf 里了。rootlocalhost # mount /dev/cdrom /media为了以后的安装包方便下面说一下简单的本地 yum 的配置,以后就不用使用 rpm 命令装软件包了!下面修改一下 yum 的配置文件,然后就可以使用 yum 命令来安装软件包了!rootlocalhos
7、t etc# cd yumyum/ yum.conf yum.repos.d/ rootlocalhost etc# cd yum.repos.d/rootlocalhost yum.repos.d# lsrhel-debuginfo.reporootlocalhost yum.repos.d# vi rhel-debuginfo.repo把配置文件中 baseurl 的路径和 enabled 的值改成如下:baseurl=file:/media/Serverenabled=1修改了这两处后保存退出就 OK 了,其中第一个选项是指定你把你的系统光盘挂载的位置。修改好以上两处选项后就可以使用 y
8、um 命令来安装软件包了,当然你也可以使用 rpm 命令来安装(如果你不嫌被依赖关系搞崩溃的话)。千万要记住用 yum 命令安装软件包之前首先得挂载光盘(mount /dev/cdrom /media)。DNS 的配置选项DNS 服务器程序安装到系统后,还需要对它的配置文件进行修改,添加需要在本地 DNS服务器解析的域名,才能使 DNS 服务器进行正常工作。在配置 DNS 时,需要对多个配置文件进行修改,在修改之前我们先来看一下这些配置文件各自的作用:(1)/var/named/chroot/etc/name.conf:DNS 服务器的主配置文件,在这个文件中可以设置通用参数,但在该文件中并不
9、具体设置解析信息,而只是设置指向每个域名和 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.rfc19
10、12.zones 用户配置的域名解析文件:也称为区文件,若当前 DNS 服务器需要解析多个域名,则需要设置多个域名解析文件。若需要反向解析,还要设置对应的反向解析文件。3、修改主配置文件rootlocalhost # cd /var/named/chroot/etc/rootlocalhost etc# cp p named.caching-nameserver.conf named.conf备注:cp 参数-p 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。这里大多数配置文件的属主是root,组为named ,如果只是 cp,启动named 服务时会报错。rootloca
11、lhost 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
12、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
13、/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.r
14、un“;severity dynamic;view localhost_resolver match-clients any; ;match-destinations any; ;recursion yes;include “/etc/named.rfc1912.zones“;rootlocalhost etc# vi named.rfc1912.zones/ named.rfc1912.zones:/ Provided by Red Hat caching-nameserver package / ISC BIND named zone configuration for zones rec
15、ommended 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
16、 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 “L“ IN /区域配置选项,指定区域配置的类型和区域配置文件名type master;file “L.zone“;allow-update none; ;/如果需要添加别的域,则需要继续添加区域文件,例如:添加这个域zone “L“ IN type master;file “.zone“;allow
17、-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.br
18、oadcast“;allow-update none; ;zone “0.in-addr.arpa“ IN type master;file “named.zero“;allow-update none; ;备注:蓝色字体是添加、修改过的;3、Zone配置文件rootlocalhost # cd /var/named/chrootrootlocalhost chroot# lsdev etc proc varrootlocalhost chroot# cd varrootlocalhost var# lslog named run tmprootlocalhost var# cd namedr
19、ootlocalhost named# cp p localdomain.zone L.zonerootlocalhost named#cp p named.local 1.168.192.in-addr.localrootlocalhost named#vi L.zone$TTL 86400 IN SOA localhost root (42 ; serial (d. adams)3H ; refresh15M ; retry1W ; expiry1D ) ; minimumIN NS L.www IN A 192.168.1.2L.表示 DNS 服务器,后面的点不能少 42 serial
20、表示更新序列号,用于告知从域名服务器 3H refresh 表示三小时刷新一次 15M retry 表示每 15 分钟重试一次 1W expiry 表示寻找 DNS 服务器时间最长为一周 1D minimum 表示最短时间为一天IN NS 表示域名服务器记录,用于设置 DNS 服务器名称 IN A 表示 A 记录,用于设置主机名对应 IP 地址的对应记录 IN CNAME 为别名记录,用于在区域文件中对主机名称设置别名 IN MX 为邮件服务器记录,用于提供邮件服务器名称rootlocalhost named#vi 1.168.192.in-addr.local$TTL 86400 IN SO
21、A localhost. root.localhost. (1997022700 ; Serial28800 ; Refresh14400 ; Retry3600000 ; Expire86400 ) ; MinimumIN NS L.2 IN PTR www.L.反解记录和正解记录不同的地方就是ptr参数,ptr是Pointer的缩写,格式为:IP地址 IN PTR 主机名因为这个反解记录对应的IP段为192.168.1.0,所以IP地址部分,2就表示192.168.1.2.最后主机名仍然是完全主机域名(FQDN),所以最后还是需要加上“.”。备注:DNS服务器Ip为:192.168.1.14、测试至此,DNS 搭建结束。