随着公司业务的扩大,服务器的数量也随之变大,在管理上如果还是单独的使用ip来管理,十分的麻烦,而且在某些业务或者软件上,比如使用bi使用hadoop来进行数据挖掘与日志分析的时候,hadoop集群需求dns配合,如果集群机器少,可以使用/etc/hosts里设置,但如果多的话,使用dns是更好的选择,puppet的应用也是如此,所以我最近研究了一下bind技术,把我的成果分享给大家。
一.介绍
DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
主从的原理为:
原理:主dns服务器上修改完成后重启服务,会主动传送notify值,如果辅助DNS服务器没有收到才参考Refresh,Refresh 不成功,则参考Retry ,Retry 一直不成功, 则参考 Expire,如果Expire也不成功,则选择放弃zone transfer的过程。
二.测试目的
本次测试主要想达到以下2个目的:
1、dns主从;(如master与slave任何一端dns服务断掉,也可以通过从另外一端来解析域名);
2、自动更新;(如果master修改完成信息后,slave也会自动更新);
三.环境
1
2
3
|
IP status domain name system
192.168
.
56.104
master ns1.test.com centos
6.2
x86_64
192.168
.
56.105
slave ns2.test.com centos
6.2
x86_64
|
四、安装
1
2
|
在master与slave都是使用yum来安装bind
yum install bind*
|
五、配置
A.在master端配置
1、修改/etc/named.conf
此文件注意是提供bind的配置
下面我的master的配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
[root@master ~]# cat /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
//服务器的全局配置选项及一些默认设置
listen-on port
53
{ any; };
//监听端口,也可写为 { 127.0.0.1; 192.168.56.104; }
# listen-on-v6 port
53
{ ::
1
; };
//对ip6支持
directory
"/var/named"
;
//区域文件存储目录
dump-file
"/var/named/data/cache_dump.db"
;
//dump cach的目录directory
statistics-file
"/var/named/data/named_stats.txt"
;
memstatistics-file
"/var/named/data/named_mem_stats.txt"
;
allow-query { any; };
//指定允许进行查询的主机,当然是要所有的电脑都可以查啦
recursion yes;
//设置进行递归查询
allow-transfer {
192.168
.
56.105
;};
//指定允许接受区域传送请求的主机,说明白一点就是辅dns的ip
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
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"
;
//包含文件,这里也就是载入/etc/named.rfc1912.zones
#
include
"/etc/named.root.key"
;
|
注意:红色字体为需要修改的地方。
转载于:https://blog.51cto.com/professor/1572546