一、DNS简介

1、DNS

DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库。有了DNS服务器,我们只需要记录一个网站的域名即可访问,而再也不需要记忆那一串长长的IP地址了。全球有386台根服务器,被编号为A到M共13个标号,编号相同的根服务器使用同一个IP,386台根服务器总共只使用13个IP,因此可以抵抗针对其所进行的分布式拒绝服务攻击(DDoS)。中国大陆在北京有两台编号为L的根服务器镜像,编号为F、I、J的各一,共5台镜像,所以刚才提到的那个故障应该就是国内的DNS根域镜像的故障。

2、分布式数据库

早期的网络比较单一,域名也比较少,所以hosts文件可以说是比较简单的数据库了,但到了后来网络的爆炸式发展,一个hosts文件、一台服务器、一组DNS集群都不能扛得住越来越多的主机请求,所以到后来出现了分布式数据库,把一个数据库切成n片,放到不同的主机上来解析客户端的请求,当需要解析不同的主机时,就到不同的服务器上去实现,以到达缓解根服务器巨大的压力。

二、实验环境

VMware Workstation Pro15

两台 Red Hat Enterprise Linux Server release 7.1 (Maipo)

xshell 6(可不需要)

防火墙与selinux关闭

三、安装服务

#主从服务器安装一样的包

[root@localhost ~]# yum install -y bind*

四、配置服务

1、配置主DNS

  点击查看

2、全局配置选项options

listen-on port 53 { 127.0.0.1; };   IP改为服务器IP网段,我这是192.168.22.0/24

allow-query     { localhost; };    localhost改为允许的网段,any为所有

[root@localhost named]# vim /etc/named.conf 

options {
listen-on port { 192.168.22.0/; };
listen-on-v6 port { ::; };
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; };

3、写入正反向配置

zone "kk.cn" IN {
type slave;
file "slaves/kk.a.zone";
masters {192.168.22.77; };
}; zone "22.168.192.in-addr.arpa" IN {
type slave;
file "slaves/kk.b.zone";
masters {192.168.22.77; };
};

五、重启从服务器DNS

[root@localhost ~]# systemctl restart named

查询服务状态,如果正确大致为这样

[root@localhost named]# systemctl status named
● named.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; vendor preset: disabled)
Active: active (running) since Wed -- :: CST; 9s ago
Process: ExecStart=/usr/sbin/named -u named $OPTIONS (code=exited, status=/SUCCESS)
Process: ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z /etc/named.conf; else echo "Checking of zone files is disabled"; fi (code=exited, status=/SUCCESS)
Main PID: (named)
CGroup: /system.slice/named.service
└─ /usr/sbin/named -u named Jul :: localhost.localdomain named[]: transfer of 'kk.cn/IN' from 192.168.22.77#: Transfer completed: mess.../sec)
Jul :: localhost.localdomain named[]: zone kk.cn/IN: sending notifies (serial )
Jul :: localhost.localdomain named[]: validating @0x7f5ffc60b3e0: . DNSKEY: unable to find a DNSKEY which ve...r '.'
Jul :: localhost.localdomain named[]: validating @0x7f5ffc60b3e0: . DNSKEY: please check the 'trusted-keys' ...conf.
Jul :: localhost.localdomain named[]: error (broken trust chain) resolving './NS/IN': 199.7.91.13#
Jul :: localhost.localdomain named[]: zone 22.168..in-addr.arpa/IN: Transfer started.
Jul :: localhost.localdomain named[]: transfer of '22.168.192.in-addr.arpa/IN' from 192.168.22.77#: connecte...
Jul :: localhost.localdomain named[]: zone 22.168..in-addr.arpa/IN: transferred serial
Jul :: localhost.localdomain named[]: transfer of '22.168.192.in-addr.arpa/IN' from 192.168.22.77#: Transfer.../sec)
Jul :: localhost.localdomain named[]: zone 22.168..in-addr.arpa/IN: sending notifies (serial )
Hint: Some lines were ellipsized, use -l to show in full.

六、测试

1、配置网卡的DNS

配置DNS1=服务器IP地址,我这为192.168.22.107

[root@localhost named]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
UUID=727a9a45-718b-45bc-a13c-e6f5c35ab721
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.22.107
NETMASK=255.255.255.0
GATEWAY=192.168.22.2
DNS1=192.168.22.107

2、重启网络服务

[root@localhost named]# systemctl restart network

3、开始测试

[root@localhost ~]# nslookup
> 192.168.22.77
Server: 192.168.22.107
Address: 192.168.22.107# 77.22.168.192.in-addr.arpa name = k1.kk.cn.
> 192.168.22.107
Server: 192.168.22.107
Address: 192.168.22.107# 107.22.168.192.in-addr.arpa name = k2.kk.cn.
> k1.kk.cn
Server: 192.168.22.107
Address: 192.168.22.107# Name: k1.kk.cn
Address: 192.168.22.77
> k2.kk.cn
Server: 192.168.22.107
Address: 192.168.22.107# Name: k2.kk.cn
Address: 192.168.22.107

七、附录

待添加

DNS_主从搭建的更多相关文章

  1. mysql 主从搭建步骤

    mysql 主从搭建步骤 1:主库开启master端bin-log 2:主库创建备份用户 3:主库全备 4:从库导入全备数据 5:从库修改change master to信息 6:从库slave st ...

  2. Redis多实例及主从搭建

    主从搭建前提是服务器上已经安装好了redis, redis安装可搜索本站另一篇博客:redis安装. redis单主机多实例 一.我们首先拷贝两份文件: cp /etc/redis.conf /etc ...

  3. xtrabackup 在线主从搭建

    因为意外导致某个MySQL的从服务器宕机,且不可修复,因为是业务数据库,不能停机和锁表进行从库的搭建,所以考虑了使用xtrabackup 进行在线主从搭建. 一.数据库环境 注意:  主从搭建主库一定 ...

  4. mongodb主从搭建

    #tigergao 官网进行下包,可以下载源码包或者二进制包,本次下载的为二进制包,进行试验. 主服务器搭建: mkdir mongomaster cp mongodb-linux-x86_64-rh ...

  5. ### MySQL主从搭建Position

    一.MySQL主从搭建 搭建主从架构的MySQL常用的有两种实现方式: 基于binlog的fileName + postion模式完成主从同步. 基于gtid完成主从同步搭建. 本篇就介绍如何使用第一 ...

  6. SQL Server、MySQL主从搭建,EF Core读写分离代码实现

    一.SQL Server的主从复制搭建 1.1.SQL Server主从复制结构图 SQL Server的主从通过发布订阅来实现 1.2.基于SQL Server2016实现主从 新建一个主库&quo ...

  7. DNS_主从服务_详细搭建&&配置

    DNS主从 安装环境: 三台dns服务器如下: 系统:均为centos7 dns_master:192.168.169.194 dns_slave-1:192.168.169.195 dns_slav ...

  8. mysql 主从搭建

    主要搭建步骤如下: 1.打开binlog,设置server_id     打开主库的--log-bin,并设置server_id 2.主库授权                --最好也在从库对主库授权 ...

  9. mysql数据库主从搭建

    一.最近一直在学习mysql的东西,刚好看到mysql如何搭建主从数据库,搜集了很多资料后大致了解了mysql主从复置的原理.以下是我的理解: 举例master为主数据库,slave为从数据库. sl ...

随机推荐

  1. HTML实现背景颜色的渐变

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. docker下安装运行mysql的过程以mysql5.7为例

    一.查找mysql资源 docker search mysql 其实这步顶多是看看有哪些mysql资源,除非你自己commit过一个特定的版本,否则直接执行下一步 二.安装mysql docker p ...

  3. jquery image选择器 语法

    jquery image选择器 语法 作用::image 选择器选取类型为 image 的 <input> 元素.无锡大理石测量平台 语法:$(":image") jq ...

  4. java上传超大文件解决方案

    用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 (本文提供全部源码下载,请访问 https://github.com/1269085759/up6-jsp-mysq ...

  5. JavaScript 实现文件下载并重命名

    第一种是HTML官网中的方法<a href="/images/liang.jpg" download="文件名称">HTML5 中 a 标签提供了一 ...

  6. centos调整屏幕亮度

    笔记本安装centos6.5后亮度无法通过键盘快捷键调节,可以通过安装软件来调节. 安装:yum install xgamma 设置亮度:xgamma -gamma n( 0.1 < n < ...

  7. C++入门经典-例8.5-多重继承

    1:C++允许子类从多个父类继承公有的和受保护的成员,这称为多重继承. 2:多重继承的定义.多重继承有多个基类名称标识符,其声明形式如下: class 派生类名标识符:[继承方式] 基类名标识符1,. ...

  8. C++入门经典-例7.1-对象之访问类成员

    1:建立一个类CPerson. (1)在person.h文件中代码: class CPerson { public: //数据成员 int m_iIndex; ]; short m_shAge; do ...

  9. 黑马lavarel教程---11、响应处理

    黑马lavarel教程---11.响应处理 一.总结 一句话总结: 如果在昂扬状态,看学习视频和运动时间重合,会很舒服 1.jquery的$.post参数为什么不需要占位? 因为每个参数的类型不同,可 ...

  10. Ubuntu16.04配置vncserver后 导致重复进入登陆界面,无法进入桌面的问题

      1.在配置vncserver的时候,可能导致该用户不能正常登录桌面. 2.问题现象:正确输入密码,系统无法进入桌面,闪回到登录界面. 3.在登录界面按ctrl+Alt+F1,进入虚拟控制台(输入r ...