Transcript Document

岗位技能(三)
Linux网络服务器配置与管理
项目2 架设DNS服务器
教学目标
 能力目标
 能配置与管理DNS服务器
 能配置DNS客户端(包括Linux 及windows )
 能完成关于DNS服务的故障排除
教学目标
知识目标
掌握DNS服务工作原理
案例引入
某校园网的拓扑结构如下图所示。已申请域
名:xqpi.edu.cn,需要保证校内DNS客户端及
各FTP、WWW、Email服务器的域名解析
长城宽带10M带宽
教科网10M带宽
路由器
4506 核心交换机
FTP 服务器
Web 服务器
电子邮件服务器
DNS服务器
行政办公楼 VLAN 1
教学楼 VLAN 2
学生宿舍楼 VLAN 3
行政办公楼 VLAN 4
1. DNS系统简介
DNS是基于客户/服务器模型设计的。
整个域名系统以一个大的分布式数据库的方
式工作。
域名称空间
根域
顶级域
net
org
nwtraders
二级域
子域
com
west
FQDN:
server1.sales.south.nwtraders.com
south
sales
east
主机: server 1
DNS查询模式
递归查询(Recursive Query)
叠代查询(Iterative Query)
递归查询
“树根”
.edu 顶级
域名服务器
dns.com
.com 顶级
域名服务器
com
edu
xyz
abc
②
本地域名服务器
dns.abc.com
授权域名服务器
x
u
④
本地域名服务器
dns.y.abc.com
授权域名服务器
⑦
因特网
③
⑥ abc
xyz
…
y
本地域名服务器
dns.xyz.com
授权域名服务器
…
⑧
v w
⑤
y
…
t.y.abc.com
…
m.xyz.com
①
t.y.abc.com
的 IP 地址是什么?
递归与迭代相结合的查询
根域名服务器
dns.com
③
⑤
本地域名服务器
dns.y.abc.com
⑥
②
④
本地域名服务器
dns.abc.com
⑦
本地域名服务器
dns.xyz.com
⑧
IP(t.y.abc.com)
= (198.54.23.15)
t.y.abc.com
①
IP(t.y.abc.com)=?
m.xyz.com
2. DNS域名服务器的类型
惟高速缓存服务器(caching-only server)
主域名服务器(primary name server)
辅助域名服务器(secondary name server)
3. 安装BIND域名服务器
# rpm -ivh bind-9.3.3-7.el5.i386. rpm
# rpm -ivh bind-chroot- 9.3.3 -7.el5.i386.rpm
BIND的启动与停止
查看域名服务器的运行状态
4. DNS服务器配置基础
BIND的主配置文件named.conf
vi /etc/named.conf
全局配置语句options
常用语法
options
( directory “path” ; //定义服务器区配置文件的目录 forwarders
{ IPaddr } ; //定义转发器
);
例如:
 options
 ( directory /var/named;
 forwarders { 202.106.196.115; 202.106.0.20; };
 );
区(zone)声明
常用语法
zone "zone-name" IN {

type master|hint|slave ; //说明一个区的类型 file

“filename” ; //说明一个区的域信息源数据库信息文件名

masters { IPaddr }; //指定主DNS的IP地址,用于辅助DNS配置

};
例如:
区(zone)声明举例:
主域
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
注意:每个语句的后面都有“;”,最后也有“;”
主域
zone "21php.com" {
type master;
notify yes;
file "21php.com";
};
主域
由一个zone段在/etc/named.conf中宣告
type master;
file:存放该zone数据的文件名
必须存在于options段中提及的目录
( "/var/named" )之下
文件名可以随意
allow-update:允许动态更新该zone数据的客
户机
从域
zone “example.org" {
type slave;
file “db.example.org";
allow-transfer { none; };
masters { 204.150.166.143; };
};
从域
由一个zone段在/etc/named.conf中宣告
type slave;
master:指定其主域名服务器
对应的主域名服务器必须承认并存放有该区域的数
据
file:本地用于存放zone数据的文件
从域名服务器总是试图与其master联系并获
取一份当前数据的副本
反解析域
域的名字必须用.in-addr.arpa来结尾
由一个zone段在/etc/named.conf中宣告
反解析域一般对应到一个具体的IP段
反解析域同样可以配置为从域
许多服务会尝试进行反解析
zone "1.168.192.in-addr.arpa" IN {
type master;
file “zone.192.168.1";
};
根域
根域“.”
zone "." IN {
type hint;
file "named.ca";
};
zone文件
文件通常存放在/var/named目录下
用于存放指定域内的各种资源与数据
第一段资源记录被成为起始授权记录(SOA)
每一个在/etc/named.conf中定义的zone都应
该对应一个具体的zone文件
资源记录
SOA:定义起始授权
NS:指定域名服务器
MX:指定邮件服务器
A:将一个域名解析成其后的IP
CNAME:将一个域名设置为另一个域名的别
名
PTR:将一个IP地址指向一个域名
SOA记录
SOA(Start of Authority):起始授权
 这个记录 放在 zone file 一开始的地方, 描述这个 zone
负责的 name server, version number, maintainer资料, 以
及当 slave server 要备份这个 zone 时的一些参数
每一个域文件中都应该有一个SOA 段
@
IN
SOA
localhost. root.localhost. (
1997022700 ; Serial
28800
; Refresh
14400
; Retry
3600000 ; Expire
86400 ) ; Minimum
@
@是什么内容?
 如果设定了$ORIGIN(如在/var/named/localhost.zone文件
中定义的$ORIGIN localhost. [这个点千万要注意,没有这个
点后面表示要加上@代表的内容]),那么@就是这个内容了,
 如果没有设定$ORIGIN,那么@跟随上面的设置,就是
/etc/named.conf里面的zone名称。
NS记录
NS(name server):域名服务器
每一个主域名服务器和从域名服务器都应该
拥有一条NS记录,以防止主服务器在出现故
障后,从服务器不能及时提供服务
@
IN
example.com IN
NS
NS
server1.example.com.
server1.example.com.
有时,你会见到NS记录的开头什么都没有。
这表示自动沿用上一条记录的开头定义。(所
以千万要注意格式)
资源记录
A记录
 用于将主机名对应成IP地址
 server
1D IN
A
192.168.0.254
CNAME记录
 用于定义某一个地址的别名
 smtp
IN
CNAME
 pop
IN
CNAME
mail
smtp
PTR记录
 用于将IP地址对应成一个主机名
 254
IN
PTR server1.example.com.(千万不要忘记
这个点)
MX与HINFO记录
 MX:用于定义某一个域里负责的邮件服务器
 每一条MX记录前都需要指定优先级别
example.com IN
MX 5
mail
(example.com这个域的邮件服务器由mail这台主机
负责,即所有到example.com域的邮件都要转到
mail这台主机上去。)
HINFO记录提供解析时对一台主机做补充注
释
server1
IN
HINFO
master server
Round Robin
利用复数A记录来均衡数台服务器的访问负载
www
www
www
0
0
0
IN
IN
IN
A
A
A
192.168.0.3
192.168.0.4
192.168.0.5
round robin的关键在于,每一条A记录都不应
该被记入cache。
rndc
域名服务器控制程序
安全防范,远程控制运行的域名服务器
使用TSIG 安全
例如:
[root @stationxx root]# rndc reload
rndc 默认只监听本地loopback端口
BIND语法检查工具
在BIND出错时使用如下工具:
named-checkconf
默认检查的配置文件是 /etc/named.comf
named-checkzone
检查一个Zone文件的配置
例如:
 [root @stationxx root] # named-checkconf
~/myconfig/named.conf
 [root @stationxx root] # named-checkzone wenhua.org
/var/named/wenhua.org.zone
另外一种差错的方式是看日志:
 More /var/log/messages
redhat-config-bind
图形界面下的BIND配置工具
简单清晰地完成BIND配置
可对应多个版本的BIND
配置文件存放在
/etc/alchemist/namespace/dns/local.adl
5 DNS主域名服务器配置实例
6 DNS辅助域名服务器配置实例
7 测试DNS服务器
Linux环境下测试DNS服务器
编辑/etc/resolv.conf,然后令其nameserver选项的
值为指定DNS服务器的IP地址。
[例10-10]查看IP地址202.127.50.100所对应的域名。
[例10-11] 查看域名www.linux.com所对应的IP地址。
7 测试DNS服务器
Windows下测试DNS服务器
在「首选DNS服务器」中输入配置成功的DNS服务
器的IP地址。