centos6.7搭建主从DNS
linux下构建DNS服务器BIND
DNS:域名解析。
域名分类:
v 顶级域:由两三个字母组成的名称,用于指示国家(地区)或使用名称的单位的类型。如:
v 组织域:.net, .com, .org, .mil, .edu, .gov, .cc, .mobi
v 国家域:.jp, .tw, .hk, .iq, .ir, .cn, .uk, .us

全球有13台根服务器:
v A INTERNIC.NET(美国,弗吉尼亚州) 198.41.0.4
v B 美国信息科学研究所(美国,加利弗尼亚州) 128.9.0.107
v C PSINet公司(美国,弗吉尼亚州) 192.33.4.12
v D 马里兰大学(美国马里兰州) 128.8.10.90
v E 美国航空航天管理局(美国加利弗尼亚州) 192.203.230.10
v F 因特网软件联盟(美国加利弗尼亚州) 192.5.5.241
v G 美国国防部网络信息中心(美国弗吉尼亚州) 192.112.36.4
v H 美国陆军研究所(美国马里兰州) 128.63.2.53
v I Autonomica公司(瑞典,斯德哥尔摩) 192.36.148.17
v J VeriSign公司(美国,弗吉尼亚州) 192.58.128.30
v K RIPE NCC(英国,伦敦) 193.0.14.129
v L IANA(美国,弗吉尼亚州) 198.32.64.12
v M WIDE Project(日本,东京) 202.12.27.33
DNS服务器类型有:
缓存域名服务器
也称为 唯高速缓存服务器
通过向其他域名服务器查询获得域名->IP地址记录
将域名查询结果缓存到本地,提高重复查询时的速度
主域名服务器
特定DNS区域的官方服务器,具有唯一性
从域名服务器
也称为 辅助域名服务器
DNS查询方式:
递归查询
一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机;
迭代查询
一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求;
DNS解析过程

v DNS服务器的主从如何协调?
v 区域数据文件有版本号(序列号): serial
v 刷新时间(检查周期):refresh --从服务器刷新数据到主服务器拿文件的时间间隔
v 重试时间(重试周期): retry --从服务器拿数据失败后多长时间后重试
v 过期时间(失效时长): expire --如果主服务器挂了,从服务器顶上后过多久失效
v 否定应答的TTL值; --多长时间内不接受客户端的某个地址解析请求
v 协调过程:从服务器在间隔达到refresh指定的时长后发起同步请求至主服务器;主服务器响应serial,从服务器与本地的serial进行比较;如果主服务器serial大于本地,意味主服务器区域数据文件更新了,因此请求同步;
DNS服务使用53号端口,
TCP 53端口 服务器与服务器之间的连接
UDP 53 端口 客户端与DNS服务器的连接
zone 区域
type 类型
master 主
slave 从
include 包含(链接到另一个文件)
实例一:搭建DNS正向和反向解析服务器。
主DNS ip:172.16.1.232
从DNS ip:172.16.1.231
1. 系统环境(两台机一样)
[root@yy slaves]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[root@yy slaves]# uname -r
2.6.32-573.el6.x86_64
[root@yy slaves]# iptables -F
[root@yy slaves]# setenforce 0
2.安装bind程序包(两台机一样)
[root@yy slaves]# rpm -qa bind
[root@yy slaves]# yum install -y bind
3.配置DNS配置文件(在主DNS上)
[root@yy named]# vim /etc/named.conf
options {
listen-on port 53 { 172.16.1.232; }; --监听本一IP
listen-on-v6 port 53 { ::1; };
forwarders { 202.96.134.133; }; --DNS转发指向
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 { 0.0.0.0/0; }; --允许哪些客户端请求。
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";
};
zone "yy.com" IN {
type master; 数据库类型
file "yy.com.zone";
allow-transfer { 172.16.1.231; }; 允许哪个主机同步数据库文件
allow-update { none; }; 是否允许更新。
};
zone "1.16.172.in-addr.arpa" IN {
type master;
file "172.16.1.zone";
allow-transfer { 172.16.1.231; };
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
[root@yy yy]# vim yy.com.zone
$TTL 3H
@ IN SOA @ rname.invalid. (
0 ; serial
1H ; refresh
1H ; retry
1D ; expire
3D ) ; minimum
NS ns.yy.com.
MX 5 mail.yy.com.
mail IN A 172.16.1.100
ns IN A 172.16.1.232
www IN A 172.16.1.100
file IN A 172.16.1.110
ftp IN A 172.16.1.120
[root@yy yy]# vim 192.168.1.zone
$TTL 3H
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.yy.com.
ns IN A 172.16.1.232
232 IN PTR ns.yy.com.
100 IN PTR www.yy.com.
110 IN PTR file.yy.com.
120 IN PTR ftp.yy.com.
100 IN PTR mail.yy.com.
4.检查配置文件语法错误
[root@yy named]# named-checkzone yy.com yy.com.zone
zone yy.com/IN: loaded serial 0
OK
[root@yy named]# named-checkzone yy.com 172.16.1.zone
zone yy.com/IN: loaded serial 0
OK
[root@yy named]# named-checkconf /etc/named.conf
5.启动服务
[root@yy named]# service named restart
停止 named: [确定]
启动 named: [确定]
6.配置主从同步
从服务器配置文件
[root@yy named]# vim /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
forwarders { 202.96.134.133; };
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";
};
zone "yy.com" IN {
type slave;
file "slaves/yy.com.zone";
masters { 172.16.1.232; };
};
zone "1.16.172.in-addr.arpa" IN {
type slave; 数据库类型,为从
file "slaves/172.16.1.zone";
masters { 172.16.1.232; }; 指定从哪个主服务器下载数据
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
启动从DNS服务器
[root@yy named]# chown -R named.named /var/named/slaves/
[root@yy named]# service named restart
检查是否同步成功了区域数据库文件
[root@yy named]# ls slaves/
172.16.1.zone yy.com.zone
看到文件同步过来,主从成功。

浙公网安备 33010602011771号