搭建DNS服务器实现名称解析.docx

上传人:b****8 文档编号:9422814 上传时间:2023-02-04 格式:DOCX 页数:41 大小:38.11KB
下载 相关 举报
搭建DNS服务器实现名称解析.docx_第1页
第1页 / 共41页
搭建DNS服务器实现名称解析.docx_第2页
第2页 / 共41页
搭建DNS服务器实现名称解析.docx_第3页
第3页 / 共41页
搭建DNS服务器实现名称解析.docx_第4页
第4页 / 共41页
搭建DNS服务器实现名称解析.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

搭建DNS服务器实现名称解析.docx

《搭建DNS服务器实现名称解析.docx》由会员分享,可在线阅读,更多相关《搭建DNS服务器实现名称解析.docx(41页珍藏版)》请在冰豆网上搜索。

搭建DNS服务器实现名称解析.docx

搭建DNS服务器实现名称解析

搭建DNS服务器实现名称解析

DNS服务器可以分为主DNS服务器,辅/从DNS服务器,缓存DNS服务器,转发DNS服务器等多种类型,每种服务器在域名服务系统中所起的作用都不一样:

Master/PrimaryServer(主DNS服务器):

承担基本的域名解析服务的是主DNS服务器(Master或Primary)。

每一个网络至少有一个主DNS服务器,以解析网络上的域名或IP。

Slave/SecondayServer(辅/从DNS服务器):

在一些比较大的网络中,为了保证DNS服务器能够提供可靠的域名解析服务,通常会在建立主DNS服务器的基础上,建立至少一个辅DNS服务器(Slave或Seconday).辅DNS服务器可以直接从主DNS服务器上进行更新,是主DNS服务器的替换服务器。

由于辅DNS服务器保留了一份所在域信息的完整副本,因此能够以授权的方式回答相关域的查询请求。

辅DNS服务器具备主DNS服务器的大部分功能,因此也被称为备份DNS服务器。

ForwardServer(转发DNS服务器):

转发DNS服务器用于将发往本地DNS服务器的解析请求发送到本地网络之外的DNS服务器上,本身不保留任何FQDN(完全规范域名)信息或IP地址信息。

转发DNS服务器可以用于保持局域网上的DNS服务器对Internet的隐藏。

CachingonlyServer(缓冲DNS服务器):

为减轻工作负担,本地DNS服务器可以设置为缓冲DNS服务器(Caching)。

缓冲DNS服务器会缓冲部分从其他服务器上获得的查找结果,并在解析请求发送到主DNS服务器之前首先进行匹配,一些重复的请求可以由缓冲服务器直接进行应答,但这种应答不能完全保证解析结果的有效性。

DNS后台进程:

namedDNS使用端口:

53(tcp,udp)查询-udp;区域复制-tcp

DNS查询方式;客户机与DNS服务器之间---递归查询;DNS服务器与DNS服务器之间-----迭代查询;(例外:

当DNS服务器将查询转发给转发器时,虽发生在服务器之间但也是递归查询)

在linux下架设DNS服务器使用的工具通常是Bind(BerkelyInternetNameDomainService)程序。

默认情况下,RedHatEnterpriseLinux5安装程序并没有安装DNS服务。

相关的RPM安装包名:

(下载地址:

http:

//www.isc.org源代码最新版本)

bind-9.3.3-7.el5.i386.rpm--------------------------------(第二张光盘,默认未安装。

提供DNS服务)

bind-chroot-9.3.3-7.el5.i386.rpm-------------------------(第二张光盘,默认未安装。

用于建立chroot目录及相关子目录)

caching-nameserver-9.3.3-7.el5.i386.rpm--------------(第四张光盘,默认未安装。

用于配置缓存域名服务器)

bind-libs-9.3.3-7.el5.i386.rpm----------------------------(默认已安装,提供实现域名解析功能必备的库文件)

bind-utils-9.3.3-7.el5.i386.rpm---------------------------(默认已安装,包含了用于测试DNS服务器的命令:

dig,host,nslookup,nsupdate)

ypbind-1.19-7.el5.i386.rpm--------------------------------(默认已安装)

bind-devel-9.3.3-7.el5.i386.rpm-------------------------(第三张光盘,默认未安装。

system-config-bind-4.0.3-2.el5.noarch.rpm------------(第五张光盘,默认未安装。

bind-sdb-9.3.3-7.el5.i386.rpm----------------------------(第四张光盘,默认未安装。

bind-libbind-9.3.3-7.el5.i386.rpm------------------------(第三张光盘,默认未安装。

安装rpm程序包:

#rpm–ivhbind-9.3.3-7.el5.i386.rpm---------------安装DNS服务,但并不会生成/etc/named.conf配置文件,需手工建立。

#rpm–ivhbind-chroot-9.3.3-7.el5.i386.rpm--------若要实现“chroot监牢”,使用chroot技术增强Bind安全性,需安装此包。

#rpm–ivhcaching-nameserver-9.3.3-7.el5.i386.rpm—若构建缓存域名服务器需安装此软件包,安装时将对原BIND服务器原有的主配置文件name.conf的内容进行更改,原有文件中的内容会被保存到文件/etc/name.conf.rpmorig中。

(chroot监牢技术:

chroot可以改变程序运行时所参考的根目录(/)位置,即将某个物定的子目录作为程序的虚拟根目录,并且对程序运行时可以使用的系统资源,用户权限和所在目录进行严格控制,程序只在这个虚拟的根目录下具有权限,一旦跳出该目录就无任何权限。

例如在RHEL5中,/var/name/chroot实际上是根目录(/)的虚拟目录,所以虚拟目录中的/etc目录实际上是/var/named/chroot/etc目录,而/var/named目录实际上是/var/named/chroot/var/named目录。

chroot功能的优点是:

如果有黑客通过Bind侵入系统,也只能被限定在chroot目录及其子目录中,其破坏力也仅局限在该虚拟目录中,不会威胁到整个服务器的安全。

#servicenamedstart=/etc/init.d/namedstart启动named服务

#servicenamedstop=/etc/init.d/namedstop停止named服务

#servicenamedrestart=/etc/init.d/namedrestart重启named服务

#servicenamedstatus=/etc/init.d/namedstatus检查named服务状态

# ntsysv或#chkconfig–level35namedon更改服务自动加载

Bind的一些重要文件及其功能说明:

/usr/sbin/named

域名服务器的守护进程,其中/var/run/named/named.pid文件是DNS的PID文件,下面的脚本用于管理域名服务器守护进程:

/etc/sysconfig/named;/etc/rc.d/init.d/named;/etc/logrotate.d/named

/usr/sbin/named-bootconf

域名服务器的启动配置脚本

/usr/sbin/named-checkconf

域名服务器的配置语法检验程序

/usr/sbin/named-checkzone

域名服务器的区域配置文件检验程序

/usr/sbin/dns-keygen

DNS加密密钥生成程序

/usr/sbin/dnssec-keygen

DNSSEC

/usr/sbin/dnssec-signzone

加密密钥生成程序

/usr/sbin/rndc

域名服务器的控制程序,可以使用/etc/rndc.conf文件加载相关配置

/usr/sbin/lwresd

轻量级的解析服务器,可以作为缓冲域名服务器

DNS的主配置文件named.conf:

named.conf是Bind的主配置文件,用于实现Bind的基本配置,但在Bind-9.33安装完毕后,系统并没有自动生成named.conf文件,需要用户自行创建,可以通过以下方法创建named.conf文件:

1.用户可以安装RHEL5的第四张光盘中自带的caching-nameserver-9.33-7.el5.i386.rpm软件包,并根据所生成的文件named.caching-nameserver.conf参考创建named.conf文件。

#rpm–ivhcaching-namesever-9.3.3-7.el5.i386.rpm–replacepkgs(安装依赖于bind-9.3.3-7.el5.i386.rpm)

如果没有创建named.conf文件时,则系统在启动named进程时,默认读取的配置文件为named.caching-nameserver.conf.如果存在named.conf文件,则不再读取named.caching-nameserver.conf文件。

若先安装bind-chroot的情况下named.caching-nameserver.conf文件通常存储于/var/named/chroot/etc目录中,可以将此文件复制一个并改名为named.conf并进行设置(若未使用chroot技术,没有安装bind-chroot-9.3.3-7.el5.i386.rpm软件包,则此文件通常存储在/etc/目录下)。

2..用户可以安装完bind-9.3.3-7.el5.i386.rpm后,参考/usr/share/doc/bind-9.3.3/sample中的配置示例,在虚拟根目录/var/named/chroot下创建相关文件及所需的链接文件,所用命令如下(应先安装bind-chroot-9.3.3-7.el5.i386.rpm):

#rpm–ivhbind-9.3.3-7.el5.i386.rpm

#cd/usr/share/doc/bind-9.3.3/sample/etc/

#cp/usr/share/doc/bind-9.3.3/sample/etc/*/var/named/chroot/etc

#ln-s/var/named/chroot/etc/named.conf/etc/named.conf

#ln-s/var/named/chroot/etc/named.root.hints/etc/naemd.root.hints

#cd/usr/share/doc/bind-9.3.3/sample/var/

#cp-r/usr/share/doc/bind-9.3.3/sample/var/*/var/named/chroot/var/

注:

若使用chroot技术,DNS服务器的主配置文件named.conf应存储在/var/named/chroot/etc目录下,系统还会在/etc/目录下建立一个该文件的链接;区域设置文件(包括正向解析和反向解析)存储在/var/named/chroot/var/named目录下;根服务器信息文件named.root则通常存储在/var/named/chroot/var/named目录下。

(一)named.caching-nameserver.conf文件说明(缓存域名服务器主配置文件):

路径:

/var/named/chroot/etc/下,或/etc/下

//named.caching-nameserver.conf

//ProvidedbyRedHatcaching-nameserverpackagetoconfigurethe

//ISCBINDnamed(8)DNSserverasacachingonlynameserver

//(asalocalhostDNSresolveronly).

//See/usr/share/doc/bind*/sample/forexamplenamedconfigurationfiles.

//DONOTEDITTHISFILE-usesystem-config-bindoraneditor(不应该直接编辑该文件,否则无法升级)

//tocreatenamed.conf-editstothisfilewillbeloston

//caching-nameserverpackageupgrade.

options{

listen-onport53{127.0.0.1;};(侦听端口53)

listen-on-v6port53{:

:

1;};(支持Ipv6)

directory"/var/named";(区域文件存储目录,即bind服务器的工作目录)

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

query-sourceport53;

query-source-v6port53;

allow-query{localhost;};

};

logging{

channeldefault_debug{

file"data/named.run";

severitydynamic;

};

};

viewlocalhost_resolver{

match-clients{localhost;};

match-destinations{localhost;};

recursionyes;

include"/etc/named.rfc1912.zones";//没有直接在此文件中设置根区域,而是通过加载/etc/named.rfc1912.zones文

件,此文件主要定义了根区域,localdomain区域,localhost区域,及反向解析区域//

};

(说明:

根区域是互联网中所有域名的开始,使用句点(.)表示,缓存服务器只有能够访问DNS根服务器才能担供正常的域名解析服务。

因此,在缓存域名服务器的named.caching-nameserver.conf文件中加载的named.rfc1912.zones文件对根区域进行了设置.此文件中的typehint表示此区域类型是根区域;file"named.ca"设置区域文件名称,该文件保存在bind工作目录/var/named/中)

(二)named.conf文件说明:

此文件需用户自己创建,可从/usr/share/doc/bind-9.3.3/sample/etc中复制到/var/named/chroot/etc/目录下

//Samplenamed.confBINDDNSserver'named'configurationfile

//fortheRedHatBINDdistribution.

//SeetheBINDAdministrator'sReferenceManual(ARM)fordetails,in:

//file:

///usr/share/doc/bind-*/arm/Bv9ARM.html

//AlsoseetheBINDConfigurationGUI:

/usr/bin/system-config-bindand

//itsmanual.

options

{

/*makenameduseport53forthesourceofallqueries,toallow

*firewallstoblockallportsexcept53:

*/

query-sourceport53;

query-source-v6port53;

//Putfilesthatnamedisallowedtowriteinthedata/directory:

directory"/var/named";//thedefault(定义Bind服务器的工作目录)

dump-file"data/cache_dump.db";

statistics-file"data/named_stats.txt";

memstatistics-file"data/named_mem_stats.txt";

};

logging

{

/*Ifyouwanttoenabledebugging,eg.usingthe'rndctrace'command,

*namedwilltrytowritethe'named.run'fileinthe$directory(/var/named).

*Bydefault,SELinuxpolicydoesnotallownamedtomodifythe/var/nameddirectory,

*soputthedefaultdebuglogfileindata/:

*/

channeldefault_debug{

file"data/named.run";

severitydynamic;

};

};

//AllBIND9zonesareina"view",whichallowdifferentzonestobeserved

//todifferenttypesofclientaddresses,andforoptionstobesetforgroups

//ofzones.

//

//Bydefault,ifnamed.confcontainsno"view"clauses,allzonesareinthe

//"default"view,whichmatchesallclients.

//

//Ifnamed.confcontainsany"view"clause,thenallzonesMUSTbeinaview;

//soitisrecommendedtostartoffusingviewstoavoidhavingtorestructure

//yourconfigurationfilesinthefuture.

view"localhost_resolver"

{

/*Thisviewsetsupnamedtobealocalhostresolver(cachingonlynameserver).

*Ifallyouwantisacaching-onlynameserver,thenyouneedonlydefinethisview:

*/

match-clients{localhost;};(本地主机)

match-destinations{localhost;};

recursionyes;(设置允许递归)

#allviewsmustcontaintheroothintszone:

include"/etc/named.root.hints";(载入根服务器信息)

/*thesearezonesthatcontaindefinitionsforallthelocalhost

*namesandaddresses,asrecommendedinRFC1912-thesenamesshould

*ONLYbeservedtolocalhostclients:

*/

include"/etc/named.rfc1912.zones";

};

view"internal"(内部视图)

{

/*Thisviewwillcontainzonesyouwanttoserveonlyto"internal"clients

thatconnectviayourdirectlyattachedLANinterfaces-"localnets".

*/

match-clients{localnets;};(本地网络)

match-destinations{localnets;};

recursionyes;

//allviewsmustcontaintheroothintszone:

include"/etc/named.root.hints";

//include"named.rfc1912.zones";

//youshouldnotserveyourrfc1912namestonon-localhostclients.

//Theseareyour"authoritative"internalzones,andwouldprobably

//alsobeincludedinthe"localhost_resolver"viewabove:

zone"my.internal.zone"{

typemaster;

file"my.internal.zone.db";

};

zone"my.slave.internal.zone"{

typeslave;

file"slaves/my.slave.internal.zone.db";

masters{/*putmasternameserverIPshere*/127.0.0.1;};

//putslavezonesintheslaves/directorysonamedcanupdatethem

};

zone"my.ddns.internal.zone"{

typemaster;

allow-update{keyddns_key;};

file"slaves/my.ddns.internal.zone.db";

//putdynamicallyupdateablezonesintheslaves/directorysonamedcanupdatethem

};

};

keyddns_key

{

algorithmhmac-md5;

secret"use/usr/sbin/dns-keygentogenerateTSIGkeys";

};

view"external"(外部视图)

{

/*This

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 自考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1