DNS主从服务器搭建

参考文档

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

一、安装

[root@prod-dns-01 etc]# yum -y install bind
[root@prod-dns-01 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文件 [root@prod-dns-01 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

[root@prod-dns-01 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

[root@prod-dns-01 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、注意权限

[root@prod-dns-01 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天)

[root@prod-dns-01 named]# named-checkzone "test.net.zone" /var/named/test.net.zone
zone test.net.zone/IN: loaded serial 1806081010
OK

5、添加新A记录

[root@prod-dns-01 named]# vim test.com.zone
[root@prod-dns-01 named]# vim test.bo.zone
[root@prod-dns-01 named]# vim test.net.zone
[root@prod-dns-01 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、配置生效

[root@prod-dns-01 named]# rndc reload
server reload successful

三、测试

[root@prod-hadoop-master-01 ~]# 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 从主配置

[root@prod-dns-02 etc]# cat /etc/named.conf
[root@prod-dns-02 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文件

[root@prod-dns-02 etc]# ls -ls /var/named/slaves/
[root@prod-dns-02 etc]# systemctl start named.service
[root@prod-dns-02 etc]# systemctl status named.service
[root@prod-dns-02 etc]# ls /var/named/slaves/
test.bo.zone test.com.zone test.net.zone

3、测试dns从的解析

[root@prod-hadoop-master-01 ~]# 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

五、服务开机启动

[root@prod-dns-01 etc]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@prod-dns-02 etc]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

六、压力测试

[root@prod-dns-01 ~]# wget https://www.isc.org/downloads/file/bind-9-9-12/?version=tar-gz
[root@prod-dns-01 ~]# tar zxvf index.html?version=tar-gz
[root@prod-dns-01 queryperf]# cd bind-9.9.12/contrib/queryperf/
[root@prod-dns-01 queryperf]# ./configure
[root@prod-dns-01 queryperf]# make
使用300万书记,qps每秒达到1万以上 [root@prod-dns-01 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 198,154评论 5 464
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,252评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 145,107评论 0 327
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,985评论 1 268
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,905评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,256评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,978评论 3 388
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,611评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,891评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,910评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,736评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,516评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,995评论 3 301
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,132评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,447评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,034评论 2 343
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,242评论 2 339

推荐阅读更多精彩内容

  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,844评论 0 7
  • 一、BIND是什么 BIND是互联网应用最为广泛的DNS软件。 二、BIND的安装与使用 以下内容转自 http:...
    0_0啊阅读 3,040评论 0 0
  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc阅读 2,785评论 0 0
  • 一、实现从根,com,rj.com 模拟互联网的DNS架构 DNS(Domain Name System,域名系统...
    ssjinyao阅读 1,408评论 0 7
  • laravel5.3富文本编辑器u-editor使用方法 项目地址:stevenyangecho/laravel-...
    kaibiao123阅读 4,575评论 3 0