分类: LINUX
2010-06-13 18:07:29
一、BIND的介绍
递归查询
迭代查询。
二、配置基本的DNS服务。
准备:安装dns
rpm -qa |grep bind
yum -y install bind bind-chroot
yum -y install caching-nameserver
<1>配置named.conf文件
#cd /var/named/chroot/etc
#cp -p named.caching-nameserver.conf named.conf
#vim named.conf
--------------------------------------------
options {
listen-on port 53{ any; }; DNS所侦听的端口。
listen-on-v6 port 53 { ;;1; }; 表示侦听的IPV6的端口上。
directory "/var/named"; DNS数据库存放的位置。
dump-file "/var/named/data/cache_dump.db" ; 缓存信息存放位置。
statistics-file "/var/named/data/named_stats.txt"; 统计信息存放位置。
memstatistics-file"/var/named/data/named_mem_stats.txt";内存信息存放位置。
query-source port 53; 使用53端口向根节点发出迭代查询的请求。
query-source-v6 port 53; 使用IPV6,意义同上。
allow-query { any; }; 允许查询本DNS的Client范围。
};
logging{
channel default_debug{
file "data/named.run"; 将debug日志记录在/data/named.run中
severity dynamic;
};
};
view localhost_resolver { 定义名称
match-clients { 192.168.0.0/24; }; 定义来源
match-destinations { any; }; 定义目的
recursion yes; 是否允许递归查询。
include "/etc/named.rfc1912.zones"; 定义zones文件的位置。
};
视图功能(根据来源&根据目的)
};
view other {
match-clients { any; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.zones";
};
############################################
<2>配置/etc/named.rfc1912.zones文件
#cd /var/named/chroot/etc
#vim named.rfc1912.zones
--------------------------------------------
复制一个模板到最后
zone "yutian.com"IN { 正解的域名
type master; 主DNS服务器。
file "yutian.zone"; 正解的数据库所在位置。
allow-update { none; }; 是否开启动态DNS更新。
};
zone "0.168.192.in-addr.arpa"IN { 反解的网段
type master;
file "named.yutian";
allow-update { none; };
};
############################################
<3>配置正向解析的zone
#cd /var/named/chroot/var/named
#cp -p localhost.zone yutian.zone
#vim yutian.zone
--------------------------------------------
$TTL 86400 TTL缓存的最少存活期。
@ IN SOA ns.yutian.com. root.yutian.com. ( @:代表域本身 root后的代表联系邮箱
2009091601 ; serial (d. adams) 判断同步的序列号(每次更改后+1)。
3H ; refresh 尝试同步的时间间隔。
与辅助DNS同步的依据 15M ; retry 若同步不成功,则重试的时间间隔。
1W ; expiry 不再尝试同步的时限。
1D ) ; minimum 缓存最小存活的时间。
@ IN NS ns.yutian.com.
yutian.com. IN A 192.168.0.36
ns IN A 192.168.0.36
www IN A 192.168.0.37 IN A(为ipv4) IN AAAA(为ipv6)
mail IN A 192.168.0.38
ftp IN A 192.168.0.39
############################################
<4>配置反向解析的zone
#cd /var/named/chroot/var/named
#cp -p localhost.zone named.yutian
#vim named.yutian
--------------------------------------------
$TTL 86400 TTL缓存的最少存活期。
@ IN SOA ns.yutian.com. root.yutian.com. ( @:代表域本身 root后的代表联系邮箱
2009091601 ; serial (d. adams) 判断同步的序列号(每次更改后+1)。
28800 ; refresh 尝试同步的时间间隔。
与辅助DNS同步的依据 14400 ; retry 若同步不成功,则重试的时间间隔。
3600000 ; expiry 不再尝试同步的时限。
86400 ) ; minimum 缓存最小存活的时间。
@ IN NS ns.yutian.com.
36 IN PTR ns.yutian.com.
36 IN PTR yutian.com. PTR反向解析。
37 IN PTR
38 IN PTR mail.yutian.com.
39 IN PTR ftp.yutian.com
############################################
三、配置辅助DNS
1.named.conf的配置与主dns相同。
2.配置named.rfc1912.zones
zone "yutian.com"IN {
type slave;
file "slaves/yutian.zone";
masters { 192.168.0.36; };
}
反向的配置同上。
3.启动服务service named start
4.在/var/named/chroot/named/slaves中会生成数据库文件。
四、转发DNS与缓存DNS
分别在主/从DNS服务器的全局配置文件named.conf的options末尾加上
forwarders { 192.168.0.254; };
forward only; 如没有此行说明,则缺省使用forward first
接着重启服务service named restart
(转发DNS)forward only :仅转发,有缓存,如找不到,则停止查找。
(缓存DNS)forward first:转发,有缓存,且如果本机与转发DNS都没有找到时,会尝试向根节点找。
五、Remote Name Daemon Control(rndc)远程名称服务控制。
六、Delegating Subdomains子域委派
七、视图功能。
八、DNS的其他应用
1.在网卡配置中加上PEERDNS=no 则DNS设置在网络重启时不会被DHCP所覆盖.
2.清除DNS服务器上的缓存信息# rndc flush
3.# dig +trace yutian.com 跟踪迭代查询的过程
4.# dig yutian.com 正向DNS查询的具体信息。
5.# dig -x 192.168.0.36 反向DNS查询的具体信息。
6.Mail Exchanger Lookups 邮件交换记录。
编辑yutian.zone
@ IN MX 10 mail.yutian.com.
IN MX 20 MX后的数字越下优先级越高。第二行的作用是在于如果mail服务器由于故障而无法收到邮件时,则将邮件暂存于
重启服务
查询MX记录
# nslookup
> set type=mx
> yutian.com
或# dig -t mx yutian.com
7.SOA 起始授权机构,权威服务器。
# dig -t soa yutin.com 查询SOA记录。
8.查询主DNS与辅助DNS的数据是否可以同步,及权限控制。
dig -t axfr yutian.com. @192.168.0.9
9.Access Control List (ACL)
acl "trusted" { 192.168.1.21; };
acl "classroom" { 192.168.0.0/24; trusted; }; 嵌套上一条
acl "cracker" { 192.168.1.0/24; };
acl "mymasters" { 192.168.0.254; };
acl "myaddresses" { 127.0.0.1; 192.168.0.1; };
或
acl "wuhan" { 192.168.0.0/24; 192.168.1.0/24; 202.103.0.0/24; };