04学习情境4:DNS服务器安装、配置与管理
学习情境四 DNS 服务器安装、配置与管理 知识目标:1. 掌握Windows Server 2008下DNS 服务的基本配置方法2. 掌握Linux 下DNS 服务的基本配置方法3. 了解DNS 域
学习情境四 DNS 服务器安装、配置与管理 知识目标:
1. 掌握Windows Server 2008下DNS 服务的基本配置方法
2. 掌握Linux 下DNS 服务的基本配置方法
3. 了解DNS 域名解析原理和有关术语
4. 掌握利用Bind 组件实现多线路动态智能DNS 解析的方法
能力目标:
1. 能根据企业实际情况,在Windows 和Linux 服务器上配置DNS 服务,并进行DNS 解析服务测试
2. 能根据多线路单服务器的网络情况,配置智能DNS 服务器
3. 能利用RouterOS 模拟多线路环境和进行服务器IP 地址映射,测试动态智能DNS 解析功能是否正确
情景再现与任务分析:
目前我国存在着较多的ISP (互联网服务提供商),如北方地区的中国联通,南方地区的中国电信,以及覆盖全国大中专院校和科研机构的中国教育网CERNET 。这些ISP 可以为用户提供个性化的接入服务。
由于之前学校网络使用电信单线接入方式,DNS 设备也仅是简单的将网络服务(如Web 、E-mail 、OA 等)的域名解析为固定的IP 地址,用户访问域名时解析到的IP 地址始终不变。此时当用户访问学校主页时,无论他来自中国联通还是中国教育网甚至是国外的用户,最终都要通过电信的网络,才能到达域名对应的IP 地址。由于不同ISP 之间或多或少都存在一些网间瓶颈问题,而且在网间通信负荷稍高时,非电信的网络用户甚至无法正常访问该网站。为了解决这类问题,且随着网络应用技术的发展和高校师生队伍的壮大,学校考虑到网络的健壮性,决定同时接入多个ISP 的网络,以提高访问不同ISP 网络的速度,即在原有网络环境中布设2个网络出口,一个是电信,另一个是教育网。
假设如果纯粹为了提高不同ISP 网络用户访问学校Web 服务器的速度,可以分别在2个出口部署2台Web 服务器,配置2个IP 地址和申请2个域名进行解析,不同的ISP 网络用户访问不同的域名。但这不仅提高了学校建设和网络管理成本,也不便于用户访问学校服务器。利用智能DNS 技术和路由器映射技术,可以实现1台Web 服务器、1个域名同时为多个ISP 网络提供服务。
以学校网站为例,处于校园网内网的1台Web 服务器,IP 地址为192.168.200.10,通过路由器映射到外网2个出口的2个不同IP 地址:59.77.158.10(限教育网用户)和59.56.178.51(电信用户及其他);该Web 服务器只申请一个域名:www.fjcc.edu.cn ,当用户访问该域名时,智能DNS 服务器会先检查该用户发送数据包的源IP 地址,再根据其内部的ISP-IP 地址池映射表判断用户是来自哪一个ISP ,如果是教育网用户就解析为59.77.158.10,电信用户或其他ISP 网络用户就解析为59.56.178.51。实现不同ISP 网络用户不需要跨ISP 网络访问学校Web 服务器。
,2nnWindows 与 Linux 网络管理与维护nn同样地,智能 DNS 服务器也可以为校园网内网的用户,将 www.fjcc.edu.cn 解析为 192.168.200.10,使得内网用户不需要经路由器出口转一圈后,再回来访问内网服务器,提 高内网用户访问效率。具体的网络拓扑图见图 4-1。nnCERNET 路由器 ……nn防火墙 智能 DNS 服务器 校园网nn电信或 其他 ISP ……nn…… Web 服务器 图 4-1 校园网网络拓扑nnDNS 服务器对来自校园内部局域网、 外部电信网络和教育网等不同网络的用户需要实 现域名解析任务,参见下表所示。n表 4-1 域名 dns.fjcc.edu.cn www.fjcc.edu.cn mail.fjcc.edu.cn oa.fjcc.edu.cn ftp.fjcc.edu.cn 域名解析对照表 电信 IP 地址 无, 仅在教育网注册 59.56.178.51 59.56.178.50 无,仅供内网访问 无,仅供内网访问 教育网 IP 地址 59.77.158.1 59.77.158.10 59.77.158.12 无,仅供内网访问 无,仅供内网访问 局域网 IP 地址 192.168.200.1 192.168.200.10 192.168.200.12 192.168.200.15 192.168.200.250nn
学习情境四 DNS 服务器安装、配置与管理
3
学习情境教学场景设计: 学习领域
学习情境
行动环境
1. 企业现场
2. 校内实训
基地 Windows 与Linux 网络管理与维护 DNS 服务器安装、配置与管理 场景设计 工具、设备、教件 1. 投影仪或多媒体网络广播软件; 1. 分组(每组2人); 2. 教师讲解实际企业工作中为什么需2. 多媒体课件、操作过程屏幕视频要架设智能DNS 服务器;DNS 域名录像;
解析原理;架设智能DNS 需要的软3. 安装有双网卡(其中一块可以是
无线网卡)的服务器或PC 机; 件和技术;
3. 学生提出架设DNS 服务器方案设4. 网络互联设备;
5. 能模拟跨网段访问的物理交换想;
机环境或虚拟网络环境。

4. 讨论形成方案;
5. 方案评估;
6. 提交文档。
任务一:CentOS 6域名服务系统DNS 配置与管理
知识准备
1.什么是DNS
DNS (Domain Name System,域名服务系统)的作用是复杂难记的IP 地址转换成简明易记的域名,实现名称与IP 地址的转换,在TCP/IP网络中有非常重要的地位。DNS 存储域名和IP 地址映射关系的方式是采用一个分布式数据库,其命名系统采用层次的逻辑结构,如图一棵倒置的树,如图4-2所示。这个逻辑树结构称为域名空间,该空间中的每个节点或域都有一个唯一的名字。DNS 协议使用UDP 的53号端口进行通信。
根(root)
oa …… www
图4-2 域名空间
,4 Windows 与Linux 网络管理与维护
2.DNS 解析原理及流程
由于DNS 服务利用类似树状目录的方式,将主机名称的管理分配在不同层次的DNS 服务器中,通过分层管理,每台主机记忆的信息都不会太多,而且相当容易修改。而且每一台DNS 主机仅管理下一层DNS 主机的名称解析,至于下层的下层,则授权给下层的DNS 主机来管理。下面通过实际的例子来说明DNS 的域名解析过程。假设客户机通过福州电信的宽带接入Internet ,福州电信为其分配的主DNS 服务器地址为218.85.157.99,当用户在浏览器的地址栏输入www.fjcc.edu.cn 网址时,其域名解析过程如图4-3所示。
(2)www.fjcc.edu.cn
(4)www.fjcc.edu.cn
读取
保存
(5)edu域DNS 服务器地址 (6)www.fjcc.edu.cn (7)fjcc域DNS (1)
(10)
本地DNS 服务器 218.85.157.99
(8)www.fjcc.edu.cn
客户机










edu 域服务器 cn 域服务器
(3)cn域DNS 服务器地址
根域服务器
(9)www.fjcc.edu.cn对应的
IP 为59.56.178.51
图4-3 域名解析过程
fjcc 域服务器
(1)用户向福州电信DNS 服务器发送解析www.fjcc.edu.cn 的请求; (2)当本地DNS 服务器收到请求后,先查询本地的缓存,如果有记录项,则本地DNS 服务器就直接把查询结果返回给客户机,如果没有,则本地DNS 服务器就直接把请求发送给根域服务器; (3)根域服务器再返回给本地DNS 服务器一个查询域(根域的子域,即cn 域)的主域名服务器地址; (4)~(8)本地DNS 服务器逐个向edu.cn 域和fjcc.edu.cn 域发送域名解析请求,并保存自己的缓存; (9)域名服务器fjcc.edu.cn 收到请求后,查询DNS 记录中的www 主机的信息,并将结果返回给218.85.157.99域名服务器; (10)本地DNS 服务器把返回的结果保存到缓存中,以备下一次使用,同时将结果返
,学习情境四 DNS 服务器安装、配置与管理
5
回给客户机。这样就完成了一次域名解析过程。
3.正向解析与反向解析
正向解析是指从域名到IP 地址的解析过程,反向解析是指从IP 地址到域名的解析过程。正向解析是Internet 中客户端访问互联网域名时使用率最高的请求。
反向解析的作用在于对服务器的身份进行验证。对于互联网上的多数服务器,都会对接收数据的源地址进行反向查询,以验证该信息是否来自注册合法的地址。如在电子邮件系统中,邮件服务器在接受邮件时,如果对邮件源地址无法进行反向解析,表明发送邮件服务器为非法站点,很可能是垃圾邮件,导致邮件被退回或屏蔽。
4.DNS 区域和DNS 区域资源记录
为了便于根据实际情况来分散DNS 名称管理工作的负荷,将DNS 名称空间划分为区域(Zone )来进行管理。Zone 是DNS 服务器的管辖范围,是由各种资源记录(Resource Records ,简称RRs )构成的。DNS 区域资源记录的种类决定了该资源记录对应的计算机功能。打比方说,如果建立了主机记录,就表明计算机是主机(用于提供Web 服务、FTP 服务等),如果建立的是邮件服务器记录,就表明计算机是邮件服务器。常见的资源记录类型包括以下几种:
(1)主机记录(A ):将DNS 域名映射到一个单一的IP 地址。并非所有计算机都需要主机记录,但是在网络上共享资源的计算机需要该记录,如服务器、其他DNS 服务器、邮件服务器等,都需要在DNS 服务器上建立主机记录。
(2)别名记录(CNAME ):为主机指定别名,即允许使用多个名称指向单个主机,使得某些任务更容易执行。例如,在一台主机上同时运行FTP 服务和Web 服务,那么通过ftp.fjcc.edu.cn 和www.fjcc.edu.cn 提供服务的时候就需要为该主机建立别名资源记录。
(3)邮件交换器记录(MX ):用于将DNS 域名映射为交换或转发邮件的计算机名称,说明哪台服务器是当前区域的邮件服务器。该记录由电子邮件服务器程序使用,用来根据MX 资源记录为电子邮件客户机定位邮件服务器。
(4)指针记录(PTR ):指针记录将计算机的IP 地址转换成反向的DNS 域名。PTR 是A 的逆向记录。
(5)服务位置记录(SRV ):用来说明一个服务器能够提供什么样的服务,SRV 记录在微软的Active Directory中有着重要地位。从Windows Server 2000开始,要安装域控制器必须事先安装DNS 服务器,因为域内的计算机需要依赖DNS 的SRV 记录来定位域控制器。
5.智能DNS 解析
智能DNS 解析的最基本功能是用户访问网站时,能根据其不同的网络线路把网站域名解析成不同的IP 地址。例如,DNS 服务器把同样的域名记录分别设置指向电信和教育网IP ,当电信用户访问该域名时,智能DNS 会自动判断访问者的线路,并把域名对应的电信IP 地址解析给用户;而当教育网用户访问时会自动解析返回其对应的教育网IP 地址。 需要架设智能DNS 服务器的网络环境大多是以下两种情况:
(1)多线路机房:服务器本身有多个IP ,一个电信IP ,一个教育网IP 或者其他线
,6 Windows 与Linux 网络管理与维护
路。
(2)网站访问者大量来自电信,教育网等,对网站的访问速度要求较高。
任务实施
1.检查DNS 服务组件是否安装
在Linux 系统中,提供DNS 服务的组件是柏克莱大学发展出来的BIND (Berkeley Internet Name Domain)软件。由于在安装CentOS 6时,在“可选软件包”选择界面上已经勾选了“bind-9.7.0”选项,所以该服务组件应该已经安装到CentOS 6中。查询BIND 服务组件是否已经安装,可通过在终端命令行窗口中执行“rpm -qa bind ”命令。 [root@Linux6 ~]# rpm -qa bind
bind-9.7.0-5.P2.el6.i686
[root@Linux6 ~]#
2.修改DNS 服务器的主机名
在创建和阅读DNS 配置文件时,为了方便理解,建议修改DNS 服务器的主机名称。在安装时设置的主机名称为Linux6,临时修改主机名称可以使用“hostname <主机名>”命令(系统重启后失效)。要永久修改主机名称,需要修改“/etc/sysconfig/network”配置文件中的HOSTNAME 字段值,然后重启系统。修改后显示主机名和配置文件内容应按如下所示。
[root@dns ~]# hostname # 查看当前主机名
dns
[root@dns ~]# cat /etc/sysconfig/network # 显示配置文件内容 NETWORKING=yes
HOSTNAME=dns
3.修改DNS 服务器本机域名
“/etc/hosts”配置文件是本机域名解析的数据文件,是DNS 早期的数据存放方式。即使本机并设置其它的DNS 服务器地址,系统在进行域名解析时,事先也是先匹配该文件中的内容。为了使本机也能识别dns.fjcc.edu.cn 域名,需要在该文件中增加一个本机名称的别名。默认的“/etc/hosts”文件内容为:
[root@dns ~]# cat /etc/hosts
192.168.200.1 dns # Added by NetworkManager
127.0.0.1 localhost.localdomain localhost
::1 dns localhost6.localdomain6 localhost6
只需要修改第一行为“192.168.200.1 dns.fjcc.edu.cn dns ”即可。
4.修改DNS 服务组件的主配置文件
配置一台DNS 服务器需要一组配置文件,如表4-2所示。CentOS 6中DNS 服务器的默认主配置文件为“/etc/named.conf”,named 系统守护进程运行时,先从该文件中获取其它配置文件的信息,然后按照各区域文件的设置提供域名解析服务。
表4-2 域名解析配置文件对照表 文件
主配置文件
缓冲文件
文件名称 /etc/named.conf /var/named/named.ca 作用说明 设置全局参数、工作目录、指定区域类型等参数 缓存服务器配置文件,通常不需要手工修改
,学习情境四 DNS 服务器安装、配置与管理 正向区域数据库文件
反向区域数据库文件
本机正向区域文件
本机反向区域文件 由named.conf 文件指定 由named.conf 文件指定 /var/named/named.localhost /var/named/named.loopback 7用于区域内主机名到IP 地址的正向解析 用于区域内IP 地址到主机名的反向解析 将本机名localhost 解析为127.0.0.1,无需修改 将本机回送IP 地址127.0.0.1解析为localhost 建议先备份“/etc/named.conf”主配置文件后再任务要求进行修改,或在样本文件“/usr/share/doc/bind-9.7.0/sample/etc/named.conf”的基础上进行修改。配置文件named.conf 的语法格式类似C 语言,注释是“//”和“/*...*/”,每行结束用分号,其内容主要由下面几部分组成。 (1)DNS 服务器的全局配置参数
// 全局参数设置
options {
directory "/var/named"; // 指定服务器的工作目录,即区域数据库文件存放目录 dump-file "/var/named/data/cache_dump.db"; // 服务器的缓存数据转存文件
statistics-file "/var/named/data/named_stats.txt"; // 统计数据文件存放位置及文件名 recursion yes; // 允许递归查询
allow-query { any; }; // 允许哪些客户端查询,any表示任何来源 // 当本地DNS 服务器无法进行域名解析时,把请求转发到指定DNS 服务器进行处理
// 此任务中,先转发到福州电信DNS,后转发到教育网福州大学DNS
forwarders {218.85.157.99;218.85.152.99;210.34.48.34;};
};
include "/etc/rndc.key"; // 将加密用的key 文件包含进来
// 以下定义DNS 策略访问控制需要的IP 列表,FJCC为校园网内网,EDU为教育网
// 不属于FJCC 和EDU 的IP 用户,默认为电信用户
// 因篇幅有限,在此只定义教育网的部分网段地址,读者可以自行通过网络搜索相关资料进行补充 // 如果网段地址列表太长,可以将其放到另外一个文件中,用include 指令包含进来
acl "EDU" { 59.76.0.0/16; 59.77.0.0/16; 59.78.0.0/16; };
acl "FJCC" { 192.168.0.0/16;};
(2)配置DNS 服务器域名解析日志
日志记录了系统每天发生的各种各样的事件,对于解决计算机系统故障和保证系统安全来说非常重要。用户可以通过日志来了解系统运行的状态,检查各种错误发生的原因,或者寻找攻击者留下的痕迹。除了系统和服务错误日志“/var/log/messages”外,多数服务组件都有自己的日志文件,DNS 服务也不例外。
虽然大多数应用通过使用到日志用来跟踪程序运行时的一些关键事件或者异常,给系统维护带来了很大的方便,但有时也会带来一些麻烦,比如日志文件太多、太大导致占用了太多的硬盘空间,单个日志文件长度太大导致不方便打开阅读等。解决此问题的方法是采用“日志分割和轮换”。比如:设置DNS 的查询日志文件名为“dns_logs.txt”、文件长度超过10MB 后进行分割、总共20个文件进行轮换。这样,当dns_logs.txt的日志文件增长到10MB 后,系统会创建一个新的日志文件,而把旧的日志文件改名为“dns_logs.txt.0”;当新的日志文件又增长到10MB 后,系统又会创建一个新的日志文件,而把旧的日志文件改名为“dns_logs.txt.0”和“dns_logs.txt.1”,直到创建了20个日志文件后不再新建,而是覆盖创建日期最早的日志文件。此DNS 服务器的日志文件配置参数如下。
,8 Windows 与Linux 网络管理与维护 logging { // 日志文件及记录方式定义
channel warning { // 警告日志
// 定义日志文件名和存放位置,每个文件1024KB,10文件进行轮换
file "/var/named/log/dns_warnings.txt" versions 10 size 1024k;
severity warning; // 记录日志的程度级别为警告
print-category yes; // 输出目录
print-severity yes; // 输出日志程度级别
print-time yes; // 输出日志时间
};
category default { warning; }; // 按默认分类
channel query_log { // 查询日志
// 定义日志文件名和存放位置,每个文件10MB,20文件进行轮换
file "/var/named/log/dns_logs.txt" versions 20 size 10m;
severity info; // 记录日志的程度级别为信息
print-category yes;
print-severity yes;
print-time yes;
};
category queries { query_log; }; // 按查询分类
}; (3)针对来自不同网络的访问用户,进行相应的域名解析处理 // 匹配教育网网址view
view "view_edu" {
match-clients { EDU; };
include "local.root"; // 包含公共域名解析处理配置文件/var/named/local.root zone "fjcc.edu.cn" IN { // 定义对域名"fjcc.edu.cn的正向解析
type master;
file "fjcc.edu.cn.edu"; // 指定该区域的数据库文件为fjcc.edu.cn.edu allow-update { none; };
};
zone "158.77.59.in-addr.arpa" IN { // 定义对IP 地址段59.77.158.0的反向解析 type master;
file "named.59.77.158"; // 指定该区域的数据库文件为named.59.77.158 allow-update { none; };
};
};
//----------------------------------------------------------------------------------- // 匹配校园网内网网址view // 匹配电信或其他网络网址view
view "view_fjcc" { view "view_any" {
match-clients { FJCC; }; match-clients { any; };
include "local.root"; include "local.root";
zone "fjcc.edu.cn" IN { zone "fjcc.edu.cn" IN {
type master; type master;
file "fjcc.edu.cn.fjcc"; file "fjcc.edu.cn.any";
allow-update { none; }; allow-update { none; };
}; };
zone "200.168.192.in-addr.arpa" IN { zone "178.59.56.in-addr.arpa" IN { type master; type master;
file "named.192.168.200"; file "named.59.56.178";
,学习情境四 DNS 服务器安装、配置与管理 allow-update { none; };
};
}; allow-update { none; }; }; }; 9
5.创建针对所有区域公共域名解析处理配置文件/var/named/local.root
由于本DNS 服务器要根据不同区域进行不同解析处理,使用了view 语句进行控制,系统要求所有的zone 语句都必须放到view 语句体中,否则会出现“when using 'view' statements, all zones must be in views”错误提示。为了减少配置文件的长度,将公共域名解析处理设置部分(主要是处理根区域和本机解析),单独形成一个配置文件,利用include 语句包含到各个view 语句中。 // 公共配置文件/var/named/local.root
zone "." IN { // 定义“.”根区域
type hint; // 定义区域类型为提示类型
file "named.ca"; // 指定该区域的数据库文件为named.ca
};
zone "localhost" IN { // 定义一个名为localhost 的正向区域
type master; // 定义区域类型为主要类型
file "named.localhost"; // 指定该区域的数据库文件为named.localhost
allow-update { none; }; // 不允许更新
};
zone "0.0.127.in-addr.arpa" IN { // 定义IP 地址为127.0.0.X 的本机反向区域
type master;
file "named.loopback";
allow-update { none; };
};
6.创建不同区域的正向和反向解析数据库文件
(1)教育网正向解析文件:/var/named/fjcc.edu.cn.edu(分号后为注释) $TTL 1D ; 最小生存时间为1天
;下面一行为SOA(Start of Authority,授权记录开始),@表示named.conf 中zone 语句定义的域名 ;SOA 的格式为:域名 IN SOA DNS主机名 管理员邮件地址
@ IN SOA dns.fjcc.edu.cn. root.dns.fjcc.edu.cn. (
2012030201 ;序列号,一般用修改日期来标识
4H ;更新时间间隔4小时,指定向主DNS 服务器更新区域数据库文件的时间间隔 1H ;重试时间间隔1小时,表示更新失败后,多长时间进行重试更新
1W ;过期时间间隔为1星期,当无法更新时,多长时间后失效
1H ;最小默认TTL,指定资源记录信息存放在缓存的时间
)
@ IN NS dns.fjcc.edu.cn. ;NS记录用于标识区域的DNS 服务器
@ IN MX 10 mail.fjcc.edu.cn. ;MX为邮件交换器记录,标识邮件服务器
dns IN A 59.77.158.1 ;DNS服务器在教育网的IP 地址,此地址应事先在教育网注册过 www IN A 59.77.158.10 ;Web服务器在教育网的IP 地址
mail IN A 59.77.158.12 ;邮件服务器在教育网的IP 地址
(2)教育网反向解析文件:/var/named/named.59.77.158
$TTL 1D
@ IN SOA dns.fjcc.edu.cn. root.dns.fjcc.edu.cn. (
,10Windows 与Linux 网络管理与维护 2012030201 ;serial
4H ;refresh
1H ;retry
1W ;expiry
1H ;minimum
)
@ IN NS dns.fjcc.edu.cn.
1 IN PTR dns.fjcc.edu.cn. ;PTR记录为反向解析记录,1表示IP 地址为59.77.158.1的主机 10 IN PTR www.fjcc.edu.cn.
12 IN PTR mail.fjcc.edu.cn.
(3)校园网内网正向解析文件:/var/named/fjcc.edu.cn.fjcc $TTL 1D
@ IN SOA dns.fjcc.edu.cn. root.dns.fjcc.edu.cn. (
2012030201 ;serial
4H ;refresh
1H ;retry
1W ;expiry
1H ;minimum
)
@ IN NS dns.fjcc.edu.cn.
@ IN MX 10 mail.fjcc.edu.cn.
dns IN A 192.168.200.1 ;内部网络,都解析为局域网私网地址
www IN A 192.168.200.10
mail IN A 192.168.200.12
oa IN A 192.168.200.15
ftp IN A 192.168.200.250
(4)校园网内网反向解析文件:/var/named/named.192.168.200
$TTL 1D
@ IN SOA dns.fjcc.edu.cn. root.dns.fjcc.edu.cn. (
2012030201 ;serial 4H ;refresh
1H ;retry
1W ;expiry
1H ;minimum
)
@ IN NS dns.fjcc.edu.cn.
1 IN PTR dns.fjcc.edu.cn.
10 IN PTR www.fjcc.edu.cn.
12 IN PTR mail.fjcc.edu.cn.
15 IN PTR oa.fjcc.edu.cn.
250 IN PTR ftp.fjcc.edu.cn.
(5)电信及其他网络正向解析文件:/var/named/fjcc.edu.cn.any
$TTL 1D
@ IN SOA dns.fjcc.edu.cn. root.dns.fjcc.edu.cn. (
2012030201 ;serial