




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux 网络技术Email:1项目6 DNS服务器的配置与使用 项目背景:要使用百度查找信息,一般在浏览器中输入http:/ ,回车进入百度公司搜索主页,另外一种方法是在浏览器中输入,也可以进入百度搜索首页。后一种是采用IP地址方式直接访问网站,很明显,两者方式结果是一样的。但我们不能只满足结果,更深入的是寻求达到这种结果的过程如何,这也是本项目要求DNS服务器的配置与使用。图所示是局域网络内存在DNS服务器的网络环境拓扑图,本项目主要围绕此网络环境中的DNS服务器进行构建。2项目6 DNS服务器的配置与使用项目分解:基本任务:(1)安装BIND 9软件包;(2)认识BIND 9配置文件;
2、(3)惟高速缓存服务器;(4)配置DNS主域名服务器。拓展任务:(1)配置全局转发器;(2)配置DNS辅助域名服务器;(3)配置一个综合的DNS域名服务器。3任务1认识BINDBIND( Berkeley Internet Name Domain)是美国加利福尼亚大学伯克利分校开发的一个域名服务器软件包,这是目前最为流行的 DNS 协议实现。目前最新版本是BIND 9 软件包。1、安装BIND 9 软件包。在Linux安装如下BIND 9 软件包过程如下。其中:bind9是主要的软件包,bind9-doc是帮助文档,bind9-host与dnsutils是DNS测试工具studentubunt
3、u:$ sudo apt-get install bind9 bind9-doc bind9-host dnsutils sudo password for student:正在读取软件包列表. 完成正在分析软件包的依赖关系树 件包,要卸载 0 个软件包,有 0 个软件未被升级。无法创建主目录 /var/cache/bindwrote key file /etc/bind/rndc.key * Starting domain name service. bind OK 正在设置 bind9-doc (1:9.4.1-P1-3) .42、BIND主要配置文件Ubuntu 中 BIND 9 的配置
4、文件存放在 /etc/bind 目录下。各个配置文件说明如下:named.conf :主配置文件 ;named.conf.options :被主配置文件包含的 options 配置;named.conf.local :被主配置文件包含的本机解析的权威区域声明配置;db.root :根服务器数据文件;rndc.key :被 rndc 使用的 key 文件。若没有 rndc.conf 文件(默认没有),rndc 命令将使用此文件中的 key ;db.local :localhost 正向区数据库文件,用于将名字 localhost 转换为本地回送IP地址 ;db.127 :localhost 反向
5、区数据库文件,用于将本地回送IP地址 转换为名字 localhost ;db.0 和 db.255 :广播地址的反向区数据库文件 ;zones.rfc1918 :所有私有地址域的反向 Zone 声明文件,用于服务器没有使用私有地址的情况 ;db.empty :所有私有地址域的反向区数据库文件,将私有地址域解析到 localhost 。其中named.conf.local和named.conf.options这两个文件在其他的Unix/Linux 系统里默认是没有的,Ubuntu系统这样把各个部分都分开管理,其余的部分都是默认生成的几个数据文件方便了用户的使用。此外,默认的本地区数据库文件存放在
6、 /etc/cache/bind 目录下。studentubuntu: /etc/bind $ lsdb.0 db.255 db.local named.conf named.conf.options zones.rfc1918db.127 db.empty db.root named.conf.local rndc.key5任务2惟高速缓存服务器(Caching-only Server)Ubuntu下named的默认配置是一个惟高速缓存服务器。若只想运行一个惟高速缓存服务器,则无需配置,默认启动bind即可。惟高速缓存服务器能从一个“根服务器数据文件”加载一些根服务器的地址,并缓存这些由根服
7、务器解析的结果并不断累计。本任务的惟高速缓存服务器在 IP 为 的计算机上进行。1、重新启动DNS服务器studentUbuntu:$sudo /etc/init.d/bind9 restart62、查看服务是否启动。显示PID/Program name栏有named显示表示启动成功。studentubuntu:$ sudo netstat -tulpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0
8、ubuntu:domain *:* LISTEN 5470/named tcp 0 0 localhost:domain *:* LISTEN 5470/named tcp 0 0 localhost:953 *:* LISTEN 5470/named udp 0 0 *:32803 *:* 5470/named udp 0 0 ubuntu:domain *:* 5470/named udp 0 0 localhost:domain *:* 5470/named 73、测试在另一台计算机上配置DNS地址为刚刚配置好全局转发器IP地址,然后在浏览器中输入域名,如进行测试,看看能否连接网易主页。
9、8任务3 配置DNS主域名服务器惟高速缓存服务器使用简单,但只是缓存这些由根服务器解析的结果,不能根据自己需要设置域名。DNS主域名服务器是DNS数据的最根本的来源,是从本地硬盘文件中读取域的数据的。将配置 域的主域名服务器,下面的配置在 IP 为 的计算机上进行,配置步骤如下。1、在主配置文件中添加区声明使用熟悉的编辑器编辑/etc/bind/named.conf.local,添加如下的配置语句:studentUbuntu:$sudo cat /etc/bind/named.conf.local/添加正向进行区声明zone type master; / 指定 master 类型,即主域名服务
10、器的类型 file .hosts; ;/添加反向进行区声明zone 0.168.192. type master; / 指定 master 类型,即主域名服务器的类型 file 192.168.0.rev; ;添加正向进行区声明添加反向进行区声明92、配置正向解析数据库文件1)创建新文/var/cache/bind/.hosts。2)使用熟悉的编辑器编辑/var/cache/bind/.hosts,添加如下的配置语句:/定义默认的TTL$ttl 1D/设置起始授权记录 IN SOA . . ( 2007063000 3H 15M 1W 1D )/设置域名服务记录 IN NS . /设置主服务器
11、的 NS 记录 IN NS . /设置从服务器的 NS 记录/设置邮件交换记录 IN MX 5 ./设置地址记录study IN A feisty IN A /设置别名记录www IN CNAME .ftp IN CNAME .103、配置反向解析数据库文件1)创建新文件/var/cache/bind/192.168.0.rev 。2)使用熟悉的编辑器编辑/var/cache/bind/192.168.0.rev,添加如下的配置语句:/定义默认的TTL$ttl 1D/设置起始授权记录 IN SOA . . ( 2007063000 3H 15M 1W 1D )/设置域名服务记录 IN NS .
12、 /设置主服务器的 NS 记录 IN NS . /设置从服务器的 NS 记录/设置反向地址指针记录5 IN PTR .6 IN PTR .114、检测配置1)named-checkconf检测named-checkconf 检查named.conf.local 文件的语法如果没有输出表示named.conf.local文件语法正确。2)named-checkzone检测named-checkzone 程序检查区域数据文件的合法性。如果没有输出表示区域数据文件语法正确。studentUbuntu:$sudo named-checkconf /etc/bind/named.conf.localst
13、udentUbuntu:$sudo named-checkzone /var/cache/bind/.hosts124、重新加载 bind 配置文件加载 bind后主域名服务器就基本配置成功,剩下的就是检测配置结果。5、测试在另一台Windows客户端上配置DNS地址为刚刚配置好DNS主域名服务器IP地址,然后在命令窗口中输入域名,如 、或者等进行测试,看看能否ping通,并注意显示的IP地址是否正确。studentUbuntu:$sudo rndc reload13相关知识域名系统简介 在Internet中,对主机进行标识的方式是使用IP地址,源主机只有知道目的主机的IP地址才有可能进行通信
14、。但是Internet当中的IP地址的数量非常大,我们记住所有要访问的主机的IP地址是很困难的,那么如何解决这个问题呢?我们可以给计算机起个“名字”,这就好比是记一个人的名字要比记住他的身份证号码要容易得多,如果名字还遵循一定的规律那就更好记了。Internet中对主机名有一套进行统一命名的方式,称为“域名”系统,因此需要计算机域名和它的IP地址之间建立一定的映射关系,让这个映射的解析过程由计算机系统自动完成。我们把在Internet中对计算机进行标识的“名字”称为计算机“域名”,负责解析计算机域名的系统称为“域名系统DNS”(domain name system)。它的工作原理可用图所示示意
15、图来简单表示。当然域名系统DNS也有一个发展过程的,在早期的网络世界,每台计算机都用IP地址表示,很快用户就发现这样很难记忆,一些Unix的管理者就建立一个Hosts对应表,将IP地址与主机名对应起来,只要输入一个主机的名字,而计算机的系统就会自动的将这个名字转成计算机了解的 IP ,这也是计算机上/etc/hosts 这个文件的由来,目前/etc/hosts通常起备份作用,即在 DNS 系统出现问题或尚未运行时才使用 Host 表。随着Internet规模的不断扩大,在计算机上保存所有的IP地址与主机名对应信息显然是不可行的,为了解决这个问题,在1983年,Internet开始域名系统DNS
16、。域名如:DNS系统DNSIP 地址如:0141、Internet域名层次结构由于Internet当中主机数量巨大,全世界采用一台域名服务器进行解析是不现实的。因此,Internet中的域名系统采用一种层次结构,域名就是“唯一的层次结构的名字”。这里所说的“域”,是指层次化名字空间中的一个可被管理的区域,例如,“Ubuntu中文”的域名就是。这里的“cn”表示的是“中国内地地区”,“com”表示的是商业机构,“ubuntu”是Ubuntu官方自己注册的域名,“www”则是这个域当中的一台主机。全球的域名系统组成一颗倒立的树型结构,如图所示。152、用域名服务器进行域名解
17、析任何一台主机,要想获得Internet的域名服务,必须为自己指定一个域名服务器的IP地址。然后,当该主机想解析域名时,就把域名解析的请求发送给该服务器,由该服务器完成解析过程。当域名服务器收到查询请求时,首先检查该名字是否在自己的管理域内,如果在,根据本地数据库中的对应关系将结果发回给源主机。如果查询的内容不在自己的管理域内,一般说来,有两种解析方法 。1)迭代查询(interactive resolution)该域名服务器不能提供解析的最终结果,它产生的回答指明了客户机应当联系的另外一台域名服务器的地址。一般另外的服务器就是该域的上级域名服务器地址(当然也可以是其他的服务器),这需要由管理
18、员在该服务器中通过配置完成。2)递归查询(recursive resolution)该域名服务器和能够解析该名字的服务器联系,直到解析完成,然后将最终解析的结果返回给客户机。任何一台域名服务器必须知道根域名服务器的地址,这样就能保证在递归查询中一定可以找到另外的域名服务器。16例6.1:域名解析过程。假设客户机要访问“Ubuntu英文”站点:,图是域名解析过程示意图,过程如下:17 3、DNS 区域(Zone)为了便于根据实际情况来分散域名管理工作的负荷,将 DNS 域名空间划分为区域来进行管理。区域是 DNS 服务器的管辖范围,是由单个域或由具有上下隶属关系的紧密相邻的多个子域组成的一个管理
19、单位。DNS 服务器便是以区域为单位来管理域名空间的,而不是以域为单位。 一台 DNS 服务器可以管理一个或多个区域,而一个区域也可以有多台DNS服务器来管理。DNS 允许 DNS 名域空间分成几个区域(Zone),它存储着有关一个或多个 DNS 域的名称信息。在 DNS 服务器中必须先建立区域,再在区域中建立子域,以及在区域或子域中添加主机等各种记录。DNS区域有两种,正向区域与反向区域。184、反向地址解析我们除了需要将域名翻译成IP地址之外,有时候还需要将IP地址解析成对应的域名,这就是所说的反向地址解析。这样做往往是因为特殊的需要,例如,我们需要限制来自某些主机对我们的访问,但是不知道
20、这些主机的具体地址范围,只知道他们的域名后缀,这个时候就可以直接使用域名了。当一台主机到来的时候,我们的主机依据其携带的主机地址信息通过反向地址解析查看其域名是否是在我们应该限制的范围,从而做出判断。当然,随着时间的推移,这方面的应用越来越少,在很多系统中已经不再建立反向地址解析记录。19域名服务器分类常见的域名服务器主要有:主服务器、辅助服务器、高速缓存系统和转发域名服务器。另外,依据授权性质分为两大类:1)权威性服务器权威性服务器是一个区域的正式代表。2)非权威性服务器非权威性服务器用本地缓存数据应答查询请求,不知数据是否仍然有效。20DNS服务器的安装与相关配置1、安装 DNS服务器 B
21、IND 的全称是 Berkeley Internet Name Domain,是美国加利福尼亚大学伯克利分校开发的一个域名服务器软件包,这是目前最为流行的 DNS 协议实现。Ubuntu提供了当前最新的 BIND 9,使用如下命令安装 BIND 及其相关工具:212、DNS配置文件Ubuntu 中 BIND 9的配置文件存放在/etc/bind目录下。studentUbuntu: /etc/bind $ lsdb.0 db.255 db.local named.conf named.conf.options zones.rfc1918db.127 db.empty db.root named.
22、conf.local rndc.key223、DNS服务器相关配置文件要保证DNS服务器正常运行 ,除了配置BIND相关配置文件外,还要保证本机的各项TCP/IP参数的设置正确,否则即使BIND配置成功,DNS服务器也可能无法正常工作。首先在保证网络参数配置成功,其它相关配置文件如下。1)/etc/resolv.conf文件。文件 /etc/resolv.conf 列出了主机应该查询的 DNS 服务器。2)/etc/host.conf文件。文件 /etc/host.conf 是用来控制本地DNS解析器的设置文件。该文件告诉本地DNS解析器使用哪些服务以及按照什么顺序进行查询。234、DNS服务
23、器的运行控制DNS服务运行控制有两种方式,一种直接对脚本文件/etc/init.d/bind9控制,另一中就是采用rndc (Remote Name Daemon Control) 用于系统管理员控制 Bind的运行。24Ubuntu DNS默认配置文件/etc/bind/named.conf 文件1)named.conf 是 bind 的主配置文件。named.conf 中常用配置语句说明:Include:将其他文件包含到本配置文件当中;logging :定义日志的记录规范;acl :定义访问控制列表 ; options:定义全局配置选项,Ubuntu 已经将 options语句分离放置于
24、/etc/bind/named.conf.options 文件中。zone:定义一个区域声明。studentUbuntu: /etc/bind$cat named.conf/ If you are just adding zones, please do that in /etc/bind/named.conf.local/ 包含选项配置文件/etc/bind/named.conf.optionsinclude /etc/bind/named.conf.options; / 根区域声明zone . type hint; file /etc/bind/db.root; / 指定根服务器数据文件;
25、/ localhost 正向区域声明zone localhost type master; file /etc/bind/db.local;/ localhost 反向区域声明zone 0.127. /IP网段反向排序加上 是反向区域声明固定用法 type master; file /etc/bind/db.127.0;/ 包含本机解析的权威区声明文件,初始配置此文件为空include /etc/bind/named.conf.local; 252)zone 语句。zone 区域声明是主配置文件中最重要的部分。zone 语句的格式为:其中各项说明如下:zone-name代表区域名。type说明
26、一个区的类型。类型常用类型如下:master 说明一个区域为主域名服务器;slave 说明一个区域为辅助域名服务器;hint 说明一个区域为根服务器;forward 说明一个区域为转发区。file “” :说明一个区域的域信息源数据库信息文件名。zone “zone-name” IN type “类型”;file “文件”;其他语句;262、/etc/bind/named.conf.options文件Ubuntu将 named.conf 的部分语句(主要为options语句)从主配置文件中分离放置于 named.conf.options 。配置 named 的全局参数时,可以修改此文件。下面列
27、出一些常用的全局配置options子句如下:directory “path”:定义服务器区数据库文件的工作目录,配置文件中所有使用的相对路径,指的都是在这里配置的目录下。Ubuntu 默认为 /var/cache/bind,如上示配置文件。forwarders IPaddrs:设置全局转发器,列出要用作转发器的服务器 IP 地址,例如forwarders 8forward only/first:若值为 only,则服务器缓存数据并查询转发器,但从不查询其他的任何服务器,若转发器不能响应查询则查询失败;若值为 first,则在转发查询失败或没有查到结果时,会在本地发起正常查询。默认为 first
28、。studentUbuntu: /etc/bind$cat /etc/bind/named.conf.options/ options 语句设立可以被整个BIND 使用的全局选项。若没有options 语句,则每个选项使用缺省值。options / 指定本机解析的权威区数据库文件存放的位置 directory /var/cache/bind;273、/etc/bind/db.local文件db.local 是 localhost 正向区数据库文件,用于将名字 localhost 转换为本地回送IP地址 。在DNS数据库文件中,“; ”表示引出注释,“ ”表示当前域,“()” 可以允许数据跨行,
29、通常用于 SOA 记录。在分析分析db.local文件前先了解数据库常用的资源记录。studentUbuntu: /etc/bind$cat /etc/bind/db.local $TTL 604800 IN SOA localhost. root.localhost. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL; IN NS localhost. IN A 281)SOA 资源记录。SOA(Start of Authority)这是起始授权纪录,表示它后面
30、跟的配置内容是全局有效的。格式如下:SOA 记录的字段说明:zone :区域名,可以使用“ ”表示当前域;IN :表示网络的地址类型是“TCP/IP”;Hostname :存放本 Zone 的域名服务器的主机名,这里要区别相对域名和全域名的区别。举例来说,在 域中,相对域名study与全域名 . 等效;而 由于没有以“.”结尾,被认为是一个相对域名,与其等效的全域名为. .。因此在数据库文件中书写对象名时要特别小心;Contact:管理域的管理员的邮件地址 ;SerialNumber:本区配置数据的序列号,用于从服务器判断何时获取最新的区数据; Refresh :辅助域名服务器多长时间更新数据
31、库 ;Retry :若辅助域名服务器更新数据失败,多长时间再试 ;Expire:若辅助域名服务器无法从主服务器上更新数据,原有的数据何时失效; Minimum :设置被缓存的否定回答的存活时间;zone IN SOA Hostname Contact ( Serial Refresh Retry Expire Minimum )292)NS 资源记录。NS资源记录用于标识一个区域的权威服务器(包括主服务器和从服务器),并将子域授权赋予其他服务器,其格式如下:NS:标识区域的域名服务器以及授权子域,其余的字段与SOA 记录类似。zone ttl IN NS hostname30例6.2,区域的N
32、S资源记录。. IN NS . /指定 . 的主服务器. IN NS . /指定 . 的从服务器. IN NS ./指定委派域 . 的主服务器. IN NS . /指定委派域 . 的从服务器313)A 资源记录。A RR 是 DNS 数据库的核心,它提供了主机名到 IP 地址的映射。其格式为:例6.3,区域的A资源记录。这里ubuntu与feisty采用相对域名,对区域来说实际代表的是.与.这两台主机,因此.的IP地址为。hostname ttl IN A IPAddressubuntu IN A feisty IN A 324)CNAME 资源记录。CNAME RR 用于设置主机的别名。 其
33、格式为:例6.4,区域的CNAME 资源记录。www. .是.主机的别名,两者表示用一台主机。对几个常用的资源记录说明后,相信能够轻松了解db.local文件含义。nikename ttl IN CNAME hostnamestudy IN A www IN CNAME ubuntu334、/etc/bind/db.127.文件db.127 是 localhost 反向区数据库文件,用于将本地回送IP地址 转换为名字 localhost 。文件db.127结构与文件db.local,关键要了解类似PTR 资源记录。PTR资源记录提供了 IP 地址到主机名的映射。其格式为:注意到db.127是反
34、向区域0.127.的数据库文件,因此“1.0 IN PTR localhost.”表示IP地址对应的域名为“localhost.”。在PTR 资源记录中 hostname 应该使用全域名Ubuntu下named 的默认配置是一个惟高速缓存服务器。若只想运行一个惟高速缓存服务器,则无需配置,默认启动bind 即可。一个惟高速缓存服务器应该具有上面的配置。studentUbuntu: /etc/bind$cat /etc/bind/ db.127 IN NS localhost.1.0 IN PTR localhost.IPAddress ttl IN PTR hostname34 DNS服务器诊断工具DNS服务器配置完后要进行诊断,DNS服务器主要的诊断工具有nslookup、dig 和 host三种。 在 Ubuntu 中,nslookup 和 dig 是由
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 简易呼吸器操作培训
- 2025五指山市东阁镇社区工作者考试真题
- 产科疑难病例护理查房
- 胎膜早破的观察与护理
- 大二支付与结算课程讲义
- 中国现代教育2035发展蓝图
- 高坠伤患者急救与护理
- 2025年黑龙江省齐齐哈尔市中考一模语文试题含答案
- 皮革厂废水处理方案
- 廉洁文化建设课件
- 立绘买断合同协议
- 2025春季学期国开电大本科《人文英语3》一平台在线形考综合测试(形考任务)试题及答案
- 针灸推拿治疗失眠的禁忌
- 利达消防L0188EL火灾报警控制器安装使用说明书
- 河南省驻马店市部分学校2024-2025学年高三下学期3月月考地理试题(含答案)
- 2025江苏盐城市射阳县临港工业区投资限公司招聘8人高频重点模拟试卷提升(共500题附带答案详解)
- 2025至2030年中国声音感应控制电筒数据监测研究报告
- DB50T 1041-2020 城镇地质安全监测规范
- 2025-2030年中国冰激凌市场需求分析与投资发展趋势预测报告
- 体育赛事运营方案投标文件(技术方案)
- 海绵城市施工质量保证措施
评论
0/150
提交评论