Linux-DNS
博客专区 > HarryWu 的博客 > 博客详情
Linux-DNS
HarryWu 发表于2年前
Linux-DNS
  • 发表于 2年前
  • 阅读 67
  • 收藏 3
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

一、安装

[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

   

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 5
博文 106
码字总数 47792
×
HarryWu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: