2011年(11)
分类: LINUX
2011-08-17 22:43:09
的配置和管理
一 DNS 介绍及工作模式
DNS即为域名解析系统,监听utp和tcp的53号端口,它的查询类型主要有递归和迭代,查询模式如下图
工作模式是,client 首先向本地dns 发起查询请求,本地dns 首先查找自己的是否是client 要找的,如果是则返回信息给client ,如果没有,直接去找根查询,根通过查询告诉本地dns 那个dns服务器知道,本地服务器再向该服务器发起查询请求,对于client和本地dns的这种模式称为递归查询,而本地dns 向其他dns查询的模式称为迭代。
二 DNS的记录类型
dns主要的类型为
A : name à ip 标识域名到ip的转换
NS: domain name 指示dns 服务器名
PTR : ip –> domain 指针类型,正好和A 相反
MX: mail exchanger 邮件交换器,后边要跟0-99 标识优先级
CNAME:别名标识,后边跟的是正式名称
SOA : 主记录类型,每个区域中只有一条主记录
三 服务器的类型
1 主服务器:用于完成主要的域名解析和反向查询服务
2 辅助服务器:通过定期向主服务器同步信息,来帮助主服务器完成工作
3 缓存服务器:用于解析加速和解决带宽问题,把大量信息保存在内存中
4 转发器:用于分支机构向总部服务器发起内部查询,在内部的dns服务中不必每次都向根发起查询,这样可以节省查询时间
对于辅助服务器在同步信息时分为完全区域传送和增量区域传送,完全区域传送主要是辅助服务器第一次同步时使用,以后用增量同步信息;
四 安装
yum 安装方式
这里已经安装过了,提示already installed ,否则提示是否安装,按y 即可顺利安装,记下来要手动添加配置文件/etc/named.conf 和每个区域文件
1 /etc/named.conf 格式如下
options 用于定义一些基本信息,Directory 定义了数据文件的存放位置
zone 定义每个区域的信息,type 是该区域的类型,主要有master(主)、hint (根)、slave(辅助)、forward(转发),allow-tranfer 定义允许其他主机向该服务器传送,file定义该区域的名字,其他选项可使用man named.conf 来获取帮助,检查文件错误的命令是named-checkconf
2、区域文件
正向区域查询文件
$TTL 86400
@ [ttl] IN SOA ns.zonename. admin@zonename. (
num #serial 版本号,用于主从服务器同步信息
time #主从服务器更新频率
time #上次失败到下次尝试的时间
time #停止工作时间
time ) #否定请求的到下次再来的时间
IN NS ns.zonename.
ns.zonename. IN A 127.0.0.1
反向区域查询文件
$TTL 86400
@ [ttl] IN SOA ns.zonename. admin@zonename. (
num #serial 版本号,用于主从服务器同步信息
time #主从服务器更新频率
time #上次失败到下次尝试的时间
time #停止工作时间
time ) #否定请求的到下次再来的时间
IN NS ns.zonename.
1 IN PTR ns.zonename.
配置完成后可使用named-checkzone “zonename” zonepath 检查书写错误
五 配置辅助DNS服务器
添加/etc/named.conf 格式和主服务一样,只有在定义区域的时候如下
type slave; #type 标识类型,slave 辅助dns
file "slaves/zone.name"; #文件保存位置,必须在slaves 中
masters { 191.12.12.1;}; #指定主服务器的ip,用于同步信息
六 转发服务器
转发服务器分两种完全转发和区域转发
完全转发配置在options
options {
forward only|first ; #only 要求上级必须递归查找,first 先请求递归而后迭代
forwarders { ip ; }; #指定转发的目的ip
完全转发模式在本dns收到请求时先查询本地dns 有则返回,如果没有就把
请求转发给目的dns 查询,
区域查询 在zone 中配置
zone “zonename” IN {
type forward; #指定类型
forwarders { ip ; };#指定转发的目地ip
};
区域查询模式是本地dns收到该区域的查询而在本地不能解析时转发,只转发指定区域中的请求
七 view and acl 在DNS中的使用
在dns中使用acl 可以更精确的限定dns 服务的范围和对象
1 配置 /etc/named.conf
# 定义内网的acl
acl nei {
192.168.0.0/24;
127.0.0.1/8;
};
#第一外网的acl
acl wai {
172.16.0.0/16;
};
options {
directory "/var/named"; #指定数据文件的位置
recursion no; 定义是否允许递归查询
allow-query { nei;wai; }; #第一允许的查找范围
};
#第一内网的视图
view nei {
match-clients { nei; }; #指定匹配的acl
recursion no; #定义是否允许递归查询
zone "test.com" IN { #指定区域
type master; #区域类型
file "test.com.nei"; #文件名称
};
};
#定义外网的视图
view wai {
match-clients { wai ; };
recursion no;
zone "test.com" IN {
type master;
file "test.com.wai" ;
};
};
2 配置区域文件
test.com.nei 的区域文件如下
$TTL 1200
@ IN SOA ns.test.com. admin.test.com. (
12345
1D
20M
1D
1D )
@ IN NS ns.test.com.
ns.test.com. IN A 192.168.0.26 #定义内网dns 的ip
www IN A 192.168.0.10 #定义内网对 的解析ip地址为内网中的192.168.0.10
测试
test.com.wai 的区域文件如下
$TTL 1200
@ IN SOA ns.test.com. admin.test.com. (
12345
1D
20M
1D
1D )
@ IN NS ns.test.com.
ns.test.com. IN A 172.16.28.26 #定义dns的外网ip
www IN A 172.16.28.10 #外网中
测试