一、安装
[root@clhz1cld001 named-test]# rpm -qa|grep bind
bind-9.8.2-0.23.rc1.el6_5.1.x86_64
bind-utils-9.8.2-0.23.rc1.el6_5.1.x86_64
bind-libs-9.8.2-0.23.rc1.el6_5.1.x86_64
[root@clhz1cld001 named-test]# rpm -ql bind
...
/etc/named.conf
/etc/rc.d/init.d/named
/etc/sysconfig/named
...
二、配置
主配置文件/etc/named.conf
options { =>全局配置,对所有的zone都有效
listen-on port 53 { 127.0.0.1; }; => ipv4 监听地址,以及端口号
listen-on-v6 port 53 { ::1; }; => ipv6 监听地址,以及端口号
directory "/var/named"; => 所有的配置文件所在目录,
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";
allow-query { localhost; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN { => 根域配置
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
zone "xxx" IN {
type {master|slave|hint}; => zone的类型 master:主 slave:从 hint:根
file ""; => zone的配置文件
};
三、自己写缓存服务器
[root@clhz1cld001 named-test]# ll /etc/ | grep named.conf
-rw-r----- 1 root named 1008 Jul 19 2010 named.conf
[root@clhz1cld001 /]# mv /etc/named.conf /etc/named.conf-bak
[root@clhz1cld001 /]# vi /etc/named.conf
options{
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
[root@clhz1cld001 /]# ll /etc/ | grep named
drwxr-x--- 2 root named 4096 Jan 20 2014 named
-rw------- 1 root root 82 Oct 17 18:42 named.conf
-rw-r----- 1 root named 1008 Jul 19 2010 named.conf-bak
[root@clhz1cld001 /]# chown root:named /etc/named.conf
[root@clhz1cld001 /]# chmod 640 /etc/named.conf
[root@clhz1cld001 etc]# named-checkconf
[root@clhz1cld001 etc]# named-checkzone . /var/named/named.ca
zone ./IN: has 0 SOA records
zone ./IN: not loaded due to errors.
这个是没有问题的,针对于根来说
修改DNS Server,指向本机
[root@clhz1cld001 etc]# cat /etc/resolv.conf
nameserver 10.224.160.14
[root@clhz1cld001 etc]# vi /etc/resolv.conf
nameserver 10.224.163.64
[root@clhz1cld001 etc]# ping
四、域名DNS
域名 harry.com
三台机器10.224.243.57(hf0001,www),10.224.243.58(hf0002),10.224.243.59(hf003)
正向解析:
[root@hf0001 etc]# vim /etc/named.conf
...
zone "harry.com" IN { =>定义域名
type master;
file "harry.com.zone"; =>域名文件
};
...
[root@hf0001 named]# pwd
/var/named
[root@hf0001 named]# touch harry.com.zone => 注意chmod、chown
[root@hf0001 named]# chown root:named harry.com.zone
[root@hf0001 named]# chmow 640 harry.com.zone
[root@hf0001 named]# vi harry.com.zone
; =>全局TTL,在此定义,以下全部可以不用再定义了
$TTL 600
; => @符号代表了/etc/named.conf配置文件的zone段 如 harry.com 但是如果不使用@ ,则必须写 harry.com. .必须有
; hf0001.harry.com. => 这里是主DNS服务器的FQD这里取名字为hf0001 可随意
; admin.harry.com. => 管理员的email 语法不允许是用@ ,则用.代替
@ IN SOA hf0001.harry.com. admin.harry.com. (
20151105 =>序列号,可随意,长度<=10
1H =>刷新时间间隔1h
5M => 重试时间5m
2D => 过期时间为2d
6H ) => 否定答案为6h,无此dns无法解析请求,则同一个请求再请求时的会同样相应,保持6h
IN NS hf0001 =>NS
hf0001 IN A 10.224.243.57 =>A 必须给hf0001添加A记录
www IN A 10.224.243.57
hf0002 IN A 10.224.243.58
hf0003 IN A 10.224.243.59
[root@hf0001 named]# named-checkconf
[root@hf0001 named]# named-checkzone "harry.com" /var/named/harry.com.zone
[root@hf0001 named]# service named restart
[root@hf0001 named]# dig -t A hf0002.harry.com @10.224.243.57 必须指定10.224.243.57为DNS服务器解析hf0002.harry.com
也可以修改当前机器的nds执行,第一行添加自己的nameserver 10.224.243.57
反向解析
反向解析zone的写法,
如解析172.16.1.0/24 => 1.16.172.in-addr.arpa
如解析10.11.12.0/24 => 12.11.10.in-addr.arpa
[root@hf0001 etc]# vim /etc/named.conf
...
zone "243.224.10.in-addr.arpa" IN { =>注意反向解析zone的写法
type master;
file "243.224.10.zone"; =>域名文件
};
...
[root@hf0001 named]# pwd
/var/named
[root@hf0001 named]# touch 243.224.10.zone => 注意chmod、chown
[root@hf0001 named]# chown root:named 243.224.10.zone
[root@hf0001 named]# chmow 640 243.224.10.zone
[root@hf0001 named]# vi 243.224.10.zone
; =>全局TTL,在此定义,以下全部可以不用再定义了
$TTL 600
; => @符号代表了/etc/named.conf配置文件的zone段 如 harry.com 但是如果不使用@ ,则必须写 harry.com. .必须有
; hf0001.harry.com. => 这里是主DNS服务器的FQD这里取名字为hf0001 可随意
; admin.harry.com. => 管理员的email 语法不允许是用@ ,则用.代替
@ IN SOA hf0001.harry.com. admin.harry.com. (
20151105 =>序列号,可随意,长度<=10
1H =>刷新时间间隔1h
5M => 重试时间5m
2D => 过期时间为2d
6H ) => 否定答案为6h,无此dns无法解析请求,则同一个请求再请求时的会同样相应,保持6h
IN NS hf0001.harry.com. =>NS 必须写完整 ,注意 .
57 IN PTR hf0001.harry.com.
57 IN PTR www.harry.com.
58 IN PTR hf0002.harry.com.
59 IN PTR hf0003.harry.com.
[root@hf0001 named]# named-checkconf
[root@hf0001 named]# named-checkzone "243.224.10.in-addr.arpa" /var/named/243.224.10.zone
[root@hf0001 named]# service named restart
[root@hf0001 named]# dig -x 10.224.243.58 @10.224.243.57 必须指定10.224.243.57为DNS服务器解析10.224.243.58
也可以修改当前机器的nds执行,第一行添加自己的nameserver 10.224.243.57