随着公司业务的扩大,服务器的数量也随之变大,在管理上如果还是单独的使用ip来管理,十分的麻烦,而且在某些业务或者软件上,比如使用bi使用Hadoop来进行数据挖掘与日志分析的时候,hadoop集群需求dns配合,如果集群机器少,可以使用/etc/hosts里设置,但如果多的话,使用dns是更好的选择,puppet的应用也是如此,所以我最近研究了一下bind技术,把我的成果分享给大家。
推荐阅读:
CentOS 6.0安装Bind 9.7遇到的问题总结http://www.centoscn.com/CentosBug/2013/0721/378.html
CentOS 6.2 DNS 服务器搭建 Bind9.7.3 http://www.centoscn.com/CentosServer/dns/2013/0721/380.html
CentOS 5.5下安装Bind9.6 http://www.centoscn.com/CentosServer/dns/2013/0721/379.html
一.介绍
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也会自动更新);
三.环境
123 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
四、安装
12 在master与slave都是使用yum来安装bind
yum install bind*
五、配置
A.在master端配置
1、修改/etc/named.conf
此文件注意是提供bind的配置
下面我的master的配置
[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;
/* 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”; //包含文件,这里也就是载入/etc/named.rfc1912.zones
#include “/etc/named.root.key”;
注意:红色字体为需要修改的地方。
2、/etc/named.rfc1912.zones
此文件主要是保存正向解析与反向解决配置
下面是我在master里的配置
12345678910111213141516171819202122232425262728293031323334353637383940414243 [root@master ~]# cat /etc/named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
#zone “localhost.localdomain” IN {
# type master;
# file “named.localhost”;
# allow-update { none; };
#};
zone “test.com” IN {
type master;
file “named.test.com”;
notify yes;
also-notify { 192.168.56.105;};
allow-update { none;};
allow-transfer { 192.168.56.105; };
};
#zone “1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa” IN {
# type master;
# file “named.loopback”;
# allow-update { none; };
#};
zone “56.168.192.in-addr.arpa” IN {
type master;
file “192.168.56.arpa”;
# notify yes;
# also-notify { 192.168.56.105;};
allow-update { none;};
allow-transfer { 192.168.56.105; };
};
#zone “0.in-addr.arpa” IN {
# type master;
# file “named.empty”;
# allow-update { none; };
#};
说到底也就是2个功能:
1、增加一个正向解析的域名test.com,设置类型为master,同时允许在更新时候通知192.168.56.105;
2、增加一个反向节点的ip,同样设置类型为master,也允许在更新时候通知192.168.56.105;
其他不需要的地方你可以删除与注释掉。
3、到/var/named目录下,添加正向解析与反向解析的文件
cd /var/named/
cp –p name.localhost name.test.com
cp –p name.localhost 192.168.56.arpa
下面是我的master的正向解析配置
[root@master named]# cat named.test.com
$TTL 1D
@ IN SOA ns1.test.com. root.localhost. (# SOA字段
2013070814 ; serial # 版本号 同步一次 +1,一般格式为年月日+次数,如果想在master修改一次slve就自动更新,每次修改完后必须+1,也就是说每次想slave同步master,必须保证master的serial比slave的大
60 ; refresh # 更新时间
1H ; retry # 更新失败,重试更新时间
1W ; expire#更新失败多长时间后此DNS失效时间
3H ) ; minimum # 解析不到请求不予回复时间
NS ns1.test.com.
NS ns2.test.com.
A 192.168.56.104
server A 192.168.56.101
client1 A 192.168.56.103
Ubuntu A 192.168.56.102
ns1 A 192.168.56.104
ns2 A 192.168.56.105
说明
SOA
起始授权机构
此记录指定区域的起点。它所包含的信息有区域名、区域管理员电子邮件地址,以及指示辅 DNS服务器如何更新区域数据文件的设置等。
常用的资源记录类型[3]
A 地址 此记录列出特定主机名的 IP 地址。这是名称解析的重要记录。
CNAME 标准名称 此记录指定标准主机名的别名。
MX邮件交换器此记录列出了负责接收发到域中的电子邮件的主机。
NS名称服务器此记录指定负责给定区域的名称服务器。