DNS的端口: 53
查询类型:
递归查询 和 迭代查询
记录类型 :
FQDN ——》 A
IP ----à FQDN; PTR (name server)
DOMAIN ---à MX (mail exchanger)
CNAME 别名
SOA (Start Of Authority) 起始授权
DNS服务器的类型
区域传送 : axfr: 完全 ixfr增量
主服务器与辅助名称之间的同步,主服务器上有数据变化时通知辅助名称,而也在一定时间主动去主服务器上同步
缓存名称器: 转发器:
名称解析:
正向: 反向: 区域:
域:一个域包含正反向域
bind-libs bind-utils 默认安装过,bind-devel 开发,bind 服务 bind-chroot 安装后将更改原目录建议不安装, #yum install bind.i386
在 /etc/named.conf 主配置,定义区域 。说明这个文件须手动建立。
定义的格式主要有两种:
options 空格 {
version “ 内容”; 后面必须有分号
};
zone “ 区域名” IN {
};
例:named.conf 中至少定义三个区域
options {
directory “/var/named”;
};
指定目录位置以下named.ca localhost.zone named.local
1 、 zone “.” IN {
type hint;
file “named.ca”;
}; 这里的named.ca中是全球13个根
2、 zone “ localhost” IN {
type master;
file“localhost.zone”;
}; 这里是宏定义和解析记录 例: 宏: $TTL 86400 解析: name [ttl] IN RECORD_TYPE value 例:ww.a.org IN A 1.1.1.1
在定义localhost.zone是,第一条主SOA 在该文件中定入以下内容:
$TTL 86400 定义全局的ttl值
@ 600 IN SOA localhost. admin.localhost. (
这@是localhost. 的简写; 这里定义的是序列号一般用日期定义 2011081601
刷新频率 1H
重试时间(一般小于刷新频率) 10M
如果重试7天没有主服务器的信息,从服务器也不工作 7D
否定回答,就是查询时没有,则一天内不来主服务器查询 1D )
localhost. IN NS localhost.(DNS服务器的主机名)
localhost. IN A 127.0.0.1
3、 zone “0.0.127.in-addr.arpa” IN {
type master;
file “ named.local“
};
这named.local中定义的与local.zone内容最后一行改成:
1 IN PTR localhost.
这里的1是ip地址,与”0.0.127”结合就是个IP地址
这三个zone必须有,然后改变zone的文件的属主为named。
service named configtest
named-checkconf 检查主配置文件语法
named-checkzone 检查区域文件 的语法错误
例:named-checkzone “localhost” /var/named/localhost.zone
# dig –t NS . 查看13个根
# dig –t NS . @a.root-servers.net 也能查看到13个根 @后面的是某个根名称。
好了,缓存服务就成了
/etc/rcdc.conf , /etc/rndc.key
测试: /etc/resolv.conf 中的ip 改为127.0.0.1
dig –t A
如果检查出则OK。
数据文件:
/var/named
DNS服务搭建实例
options {
directory “/var/named”;
};
zone “.” IN {
type hint;
file “named.ca”;
}
zone “ localhost” IN {
type master;
file“localhost.zone”;
};
zone “0.0.127.in-addr.arpa” IN {
type master;
file “ named.local“
};
zone “a.org” IN {
type master;
file “a.org.zone”;
};
zone “168.192.in-addr.arp” IN {
type master;
file “192.168.zone”;
};
新建a.org.zone把以下内容写入:
$TTL 86400 定义全局的ttl值
$TTL 1200
@ IN SOA ns1.a.org. admin.a.org. (
2011081601
1H
10M
7D
1D)
IN NS ns2.a.org.
IN NS ns1.a.org.
IN MX 10 mail.a.org.
ns1.a.org. IN A 192.168.0.168
ns2.a.org. IN A 192.168.0.108
IN A 192.168.0.16
bbs.a.org. IN CNAME
ns1.a.org. IN A 192.168.0.6
新建192.168.zone把以下内容定入:
$TTL 1200
@ IN SOA ns1.a.org. admin.a.org. (
2011081601
1H
10M
7D
1D)
IN NS ns2.a.org.
IN NS ns1.a.org.
6.0 IN PTR ns1.a.org.
16.0 IN PTR
108.0 IN PTR ns2.a.org.
168.0 IN PTR ns1.a.org.
#service named reload 使其生效
测试两个工具: host –t NS a.org或bbs.a.org或等
dig –t A
dig –t axfr a.org 完全区域传送
DNS远程控制功能:
rndc-confgen > /etc/rndc.conf
cat rndc.conf > named.
rndc 的端口 953
rndc flush 清空缓存
rndc status 查看状态
ab 性能测试
tar bind-9.7.4.tar.gz
cd /bin*/contrib./queryperf
./configurecp queryperf /bin
queryperf –d test.dns –s 172.168.0.1 其中test.dns自己建立
常见的区域类型:
hint , master , slave
dig +recurs –t A 强行用递归
, +norecurs不用递归 , +trace 追踪解析过程
$
辅助名称服务器:
格式 :
zone “a.org” IN {
type slave;
file “slaves/a.org.zone”;
masters { 192.168.0.1;
};
};
授权
转发器:
完全转发:
options{
forward only | first; (first
是先递归没有则找根,only一定要递归)
forwarders { IP; };
};
完全转发就是在全局,在option中定
部分转发:
zone “a.org” IN {
type forward;
forwarders { IP; };
};
部分转发就是自己定个zone的局域转发
子域,父域:
glue records:
tech.a.org. IN NS na1.tech.a.org.
ns1.tech.a.org. IN A 192.168.0.135
dig
chaos txt version.bind. 查看版本号
例: options {
directory “/var/named”
forward only;
forwarders { IP;} 转发的dns服务器地址
allow-recusion {
192.168.0.0/24;
version “ None of your
business”; 审明自己的版本号
};
允许区域传输:
allow-recusion
allow-query
allow-recursion
区域类型:hint ,
master, slaves, forward(转发)
智能DNS的配置
在/etc/named.conf中配置
view NAME {
match-clients {};
zone
zone
…
…
};
注:zone的区域必须写在view中
例:
acl myclietns {
172.16.100.0/24
127.0.0.0/8
};
acl internal {
192.168.0.0/24
}
acl external {
172.16.0.0/16
}
options {
directory “/var/named”;
recursion yes;
allow-query { myclients;
};
};
阅读(863) | 评论(0) | 转发(0) |