DNS主从服务器搭建

参考文档

http://blog.51cto.com/yichenyang/1911098
http://blog.51cto.com/wubinary/1379595

一、安装

[[email protected] etc]# yum -y install bind
[[email protected] etc]# rpm -qa |grep bind
bind-9.9.4-61.el7.x86_64
rpcbind-0.2.0-42.el7.x86_64
bind-libs-9.9.4-61.el7.x86_64
bind-utils-9.9.4-61.el7.x86_64
bind-license-9.9.4-61.el7.noarch
bind-libs-lite-9.9.4-61.el7.x86_64
注意hosts文件 [[email protected] etc]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.20.3.36 prod-dns-01 prod-dns-01.test.com prod-dns-01.test.net prod-dns-01.test.bo
172.20.3.37 prod-dns-02 prod-dns-02.test.com prod-dns-02.test.net prod-dns-02.test.bo

二、修改主配置

1、named.conf

[[email protected] etc]# cat named.conf
options {
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 { any; };
recursion yes;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
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";

2、named.rfc1912.zones

[[email protected] etc]# cat /etc/named.rfc1912.zones
zone "test.net" IN {
type master;
file "test.net.zone";
allow-transfer {127.0.0.1;172.20.3.36;172.20.3.37;};
};
zone "test.com" IN {
type master;
file "test.com.zone";
allow-transfer {127.0.0.1;172.20.3.36;172.20.3.37;};
};
zone "test.bo" IN {
type master;
file "test.bo.zone";
allow-transfer {127.0.0.1;172.20.3.36;172.20.3.37;};
};

3、注意权限

[[email protected] named]# ls -lh
total 28K
drwxrwx--- 2 named named 23 Jun 8 13:45 data
drwxrwx--- 2 named named 31 Jun 8 13:56 dynamic
-rw-r----- 1 root named 2.3K May 22 2017 named.ca
-rw-r----- 1 root named 152 Dec 15 2009 named.empty
-rw-r----- 1 root named 152 Jun 21 2007 named.localhost
-rw-r----- 1 root named 168 Dec 15 2009 named.loopback
-rw-r----- 1 root named 848 Jun 8 14:04 test.bo.zone
-rw-r----- 1 root named 850 Jun 8 14:04 test.com.zone
-rw-r----- 1 root named 850 Jun 8 14:04 test.net.zone

4、检测配置 $TTL为定义的宏,表示下面资源记录ttl的值都为300秒 @符号可代表区域文件/etc/named.conf里面定义的区域名称,即:"test.net."。

每个区域的资源记录第一条必须是SOA,SOA后面接DNS服务器的域名和电子邮箱地址,此处电子邮箱地址里的@因为有特殊用途,所以此处要用点号代替。SOA后面小括号里的各值所代表的意义如下所示: IN SOA prod-dns-01.test.net admin.test.net (
1806081510 ;标识序列号,十进制数字,不能超过10位,通常使用日期,年月日时分,代表18年6月8号15点10分修改记录 10M;新时间,即每隔多久到主服务器检查一次,此处为10分钟 5M ;重试时间,应该小于刷新时间,此处为5分钟 1D ;过期时间,此处为1天 2D ;主服务器挂后,从服务器至多工作的时间,此处为2天)

[[email protected] named]# named-checkzone "test.net.zone" /var/named/test.net.zone
zone test.net.zone/IN: loaded serial 1806081010
OK

5、添加新A记录

[[email protected] named]# vim test.com.zone
[[email protected] named]# vim test.bo.zone
[[email protected] named]# vim test.net.zone
[[email protected] etc]# cat /var/named/test.net.zone
$TTL 300
;
@ IN SOA prod-dns-01.test.net admin.test.net (
1806081550 ; Serial
10M ; Refresh
5M ; Retry
1D ; Expire
2D ; TTL
)
;
IN NS dns1
IN NS dns2
dns1 IN A 172.20.3.36
dns2 IN A 172.20.3.37
;
;
prod-hadoop-master-01 IN A 172.20.3.4
prod-hadoop-master-02 IN A 172.20.3.5
prod-hadoop-data-01 IN A 172.20.3.6
prod-hadoop-data-02 IN A 172.20.3.7
prod-hadoop-data-03 IN A 172.20.3.8
prod-hadoop-data-04 IN A 172.20.3.9
prod-hadoop-data-05 IN A 172.20.3.10
prod-hadoop-data-06 IN A 172.20.3.11
prod-hadoop-data-07 IN A 172.20.3.12
prod-hadoop-data-08 IN A 172.20.3.13

6、配置生效

[[email protected] named]# rndc reload
server reload successful

三、测试

[[email protected] ~]# dig -t A prod-hadoop-data-01.test.com @172.20.3.36
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t A prod-hadoop-data-01.test.com @172.20.3.36
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39022
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;prod-hadoop-data-01.test.com. IN A
;; ANSWER SECTION:
prod-hadoop-data-01.test.com. 300 IN A 172.20.3.6
;; AUTHORITY SECTION:
test.com. 300 IN NS dns2.test.com.
test.com. 300 IN NS dns1.test.com.
;; ADDITIONAL SECTION:
dns1.test.com. 300 IN A 172.20.3.36
dns2.test.com. 300 IN A 172.20.3.37
;; Query time: 1 msec
;; SERVER: 172.20.3.36#53(172.20.3.36)
;; WHEN: Fri Jun 8 14:05:36 2018
;; MSG SIZE rcvd: 133

四、主从同步

1、dns 从主配置

[[email protected] etc]# cat /etc/named.conf
[[email protected] etc]# cat /etc/named.rfc1912.zones
zone "test.net" IN {
type slave;
masters { 172.20.3.36; };
file "slaves/test.net.zone";
allow-transfer { none; };
};
zone "test.com" IN {
type slave;
masters { 172.20.3.36; };
file "slaves/test.com.zone";
allow-transfer { none; };
};
zone "test.bo" IN {
type slave;
masters { 172.20.3.36; };
file "slaves/test.bo.zone";
allow-transfer { none; };
};

2、启动dns从配置会同步主的zone文件

[[email protected] etc]# ls -ls /var/named/slaves/
[[email protected] etc]# systemctl start named.service
[[email protected] etc]# systemctl status named.service
[[email protected] etc]# ls /var/named/slaves/
test.bo.zone test.com.zone test.net.zone

3、测试dns从的解析

[[email protected] ~]# dig -t A prod-hadoop-data-01.test.com @172.20.3.37
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t A prod-hadoop-data-01.test.com @172.20.3.37
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6112
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;prod-hadoop-data-01.test.com. IN A
;; ANSWER SECTION:
prod-hadoop-data-01.test.com. 300 IN A 172.20.3.6
;; AUTHORITY SECTION:
test.com. 300 IN NS dns1.test.com.
test.com. 300 IN NS dns2.test.com.
;; ADDITIONAL SECTION:
dns1.test.com. 300 IN A 172.20.3.36
dns2.test.com. 300 IN A 172.20.3.37
;; Query time: 3 msec
;; SERVER: 172.20.3.37#53(172.20.3.37)
;; WHEN: Fri Jun 8 14:35:03 2018
;; MSG SIZE rcvd: 133

五、服务开机启动

[[email protected] etc]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[[email protected] etc]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

六、压力测试

[[email protected] ~]# wget https://www.isc.org/downloads/file/bind-9-9-12/?version=tar-gz
[[email protected] ~]# tar zxvf index.html\?version\=tar-gz
[[email protected] queryperf]# cd bind-9.9.12/contrib/queryperf/
[[email protected] queryperf]# ./configure
[[email protected] queryperf]# make
使用300万书记,qps每秒达到1万以上 [[email protected] queryperf]# ./queryperf -d testname.txt -s 172.20.3.37
DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $
[Status] Processing input data
[Status] Sending queries (beginning with 172.20.3.37)
[Status] Testing complete
Statistics:
Parse input file: once
Ended due to: reaching end of file
Queries sent: 3034641 queries
Queries completed: 3034641 queries
Queries lost: 0 queries
Queries delayed(?): 0 queries
RTT max: 0.028393 sec
RTT min: 0.000110 sec
RTT average: 0.001711 sec
RTT std deviation: 0.001989 sec
RTT out of range: 0 queries
Percentage completed: 100.00%
Percentage lost: 0.00%
Started at: Fri Jun 8 15:28:33 2018
Finished at: Fri Jun 8 15:33:10 2018
Ran for: 276.930575 seconds
Queries per second: 10958.129127 qps

原文地址:http://blog.51cto.com/jerrymin/2139060

时间: 2024-10-18 18:14:56

DNS主从服务器搭建的相关文章

使用Bind9搭建DNS主从服务器

一.前提    互联网中的主机是基于ip地址来联系通信的,而ip地址不太容易记住,所以为了方便访问网络中的主机,人们为主机分配一个名称.通过将每台主机的名称与 它的ip地址建立一个一对一的映射,在访问网络中的主机时,可以直接使用主机的名称.而提供这种映射与查询的系统就叫名称解析系统,现在常用的为DNS(Domin Name System)系统. 二.使用Bind9搭建DNS主从服务器 在实际的工作中,可能需要我们自己配置的就是本地DNS服务器. 一套完整的DNS需要提供正向解析与反向解析的功能.

DNS笔记&主从服务器搭建实验

DNS笔记  DNS正反主从服务搭建 ==========================理论部分========================= DNS:Domain Name Service协议,属于应用层协议 使用端口53/TCP  53/UDP 作用:提供域名和IP的解析服务,在互联网中属于非常重要的基础服务 .  根域 .com  .edu  .gov  .org  等等  顶级域,用来指示某个国家或地区或组织使用的名称类型 baidu.com  qq.com    等等,二级域名,

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

1基本知识点 DNS服务 DNS:Domain Name System 应用层协议C/S,53/udp, 53/tcpBIND:Bekerley Internat Name DomainISC (www.isc.org)本地名称解析配置文件:hosts DNS域名 根域一级域名:Top Level Domain: tldcom, edu, mil, gov, net, org, int,arpa三类:组织域.国家域(.cn, .ca, .hk, .tw).反向域二级域名三级域名最多127级域名I

实战录&#160;| Redis的主从服务器搭建

<实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全平台工程师田全磊,将带来Redis的主从服务器搭建. Redis是一个简单快捷的key-value存储系统.它提供了丰富的数据存储结构,包括 lists, sets, ordered sets 以及 hashes ,当然还有和Memcached一样的 strings结构.同时Redis提供还对这些数据结构的丰富操作. Redis哨兵模式介

linux redhat6.5 中 构建DNS主从服务器

DNS主从服务器简介:主DNS服务器: 维护所负责解析的域内解析库的服务器:解析库由管理维护从DNS服务器: 从主DNS服务器或其它的从DNS服务器那里"复制"(区域传递)一份解析库 首先在两台linux中 构建DNS服务器 DNS的构建之前的文章中有详细教程:http://blog.51cto.com/13630803/2114574下面开始配置 主从同步.1:将虚拟机1 作为主DNS 编辑它的区域文件named.rfc1912.zones配置 正反解析allow-transfer

CentOS7上使用bind9搭建DNS主从服务器

一.bind简介 一.bind简介 Linux中通常使用bind来实现DNS服务器的架设,bind软件由isc(https://www.isc.org/downloads/bind/)维护.在yum仓库中可以找到软件,配置好yum源,直接使用命令yum install bind就可以安装.当前bind的稳定版本为bind9,bind的服务名称为named,监听的端口为53号端口.bind的主要配置文件为/etc/named.conf,此文件主要用于配置区域,并指定区域数据库文件名称.区域数据库文

架设DNS服务器(DNS主从服务器架设)

搭建DNS服务器 试验要求:以workstation(92.168.1.105)作为服务器,(可以做正向解析和反向解析),以server1(192.168.1.103)作为客户机验证 #安装bind服务 yum install bind-chroot bind-utils -y bind安装好之后会产生若干程序和配置文件:常见的如下: 主程序:/usr/sbin/named 主配置文件:/etc/named.conf 区域配置文件:/etc/named.rfc.1912.zones #配置bin

BIND:DNS主从服务器架构和安全控制详解

前提: 本篇文章以虚拟机中创建的CentOS 7系统主机配置为例进行叙述 主DNS服务器地址 172.16.49.2    CentOS 7 从DNS服务器地址 172.16.49.3    CentOS 使用二级域名 xuding.win 一.主-从DNS服务器配置 主DNS服务器:维护所负责解析的域数据库的服务器:读写操作均可进行: 从DNS服务器:从主DNS服务器那里或其它的从DNS服务器那里"复制"一份解析库:但只能进行读操作: 注意:从服务器是区域级别的概念,相对于某个区域配

CentOS7.4下建立DNS主从服务器(二)

(一)DNS主从同步的原理:1.master DNS服务器每次修改完成并重启服务后,将传送notify给所有的slave DNS服务器: 2.slave DNS服务器将查询master服务器的SOA记录: 3.master DNS服务器收到请求后将SOA记录发送给Slave DNS服务器,Slave DNS服务器收到后同时对比查询结果中的serial值: 4.如果serial值不大于本机的话将结束数据同步过程:但是如果serial值大于本机的话,slave DNS将发送zone transfer