一.DNS主从的理解

  主从服务器,在一开始的理解中,以为是主的dns服务器挂掉后,(dns服务自动转向辅助dns服务器),客户端还能继续解析。事实貌似不是这样的。当我把主dns停掉的时候,客户端只设一个dns服务器后,事实证明,解析是失败的。但当我将客户端的dns服务器切换到从dns的ip上后,解析是正常的。说明,从服务器只是同步了主服务器解析域的文件。

  本案例的环境:

    系统:Centos6.5

    IP: 主DNS 192.168.40.105    从DNS 192.168.40.170

    iptables:关闭状态。

二.主DNS服务器的搭建配置

  主的dns服务器在博客里的上一篇文章里有介绍。请点此:主DNS服务器的搭建

  这里只说主DNS服务器配置文件的修改部分:

 vim /var/named/chroot/etc/named.rfc1912.zones
~~~   zone "test.com" IN {
  type master;
  file "named.test.com";
7   allow-update {none;};
8   allow-transfer {192.168.40.170;};
  notify yes;
}; zone "40.168.192.in-addr.arpa" IN {
  type master;
  file "named.192.168.40";
  allow-update {none;};
16   allow-transfer {192.168.40.170;};
17   notify yes;
};

  另外,上篇文章中,有需要对DNS服务器做一些优化和问题的修改的部分,如下所示:

 vim /var/named/chroot/etc/named.conf
~~~
options { allow-query { any; };
recursion yes;
forwarders { 114.114.114.114; };      (此处,做的是dns转发,当本地服务器无法解析的,如公网上的域名时,转发到114.114.114.114上)
}; ~~~

  修改完成后,重启主DNS的 守护进程named。

三.从DNS服务器的搭建配置

  1.先更改yum源,之后安装开发工具套件,最后安装bind 软件。

 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

 yum -y groupinstall "development tools"

 yum -y install bind*

  2.之后修改bind 的主配置文件,/var/named/chroot/etc/named.rfc1912.zones

 vim /var/named/chroot/etc/named.rfc1912.zones

 zone "test.com" IN {
  type slave;                         #设置dns类型为从服务器
  file "slaves/named.test.com";               #‘从服务器’同步从主dns服务器上存放域名文件的位置/var/named/chroot/var/named/slaves/
  masters { 192.168.40.105; };                #设置主dns服务器的地址
  allow-update { none; };
}; zone "40.168.192.in-addr.arpa" IN {
  type slave;
  file "slaves/named.192.168.40";
  masters { 192.168.40.105; };
  allow-update { none; };
};

  3.单纯的修改这里,客户端并还不能解析.因为还有一个很重要的一个地方需要配置.(在这里一直出错,当主的停掉后,没改这里之前,客户端是一直无法解析。)

 vim vim /var/named/chroot/etc/named.conf,修改以下选项

 options {

   listen-on port  { 192.168.40.170; };      #这里要写从服务器的ip地址。
  allow-query { any; }; };

  4.重启named服务。还有一个关键的,在测试过程中,记得关闭iptables,或者将dns服务端口追加到防火墙规则中。

四.总结测试

  1.现在可以关闭主DNS,然后,客户端将dns修改为从dns服务器的ip,检查域名解析是否正常。

  2.如果遇到某台dns服务器启动正常,但是解析不正常后,请检查系统日志,/var/log/messages文件。

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

  1. Centos7搭建主从DNS服务器

    1.准备 例:两台192.168.11.10(主),192.168.11.11(从),域名www.test1.com # 主从DNS服务器均需要安装bind.bind-chroot.bind-util ...

  2. 使用bind实现主从DNS服务器数据同步

    一.bind简介 Linux中通常使用bind来实现DNS服务器的架设,bind软件由isc(www.isc.org)维护.在yum仓库中可以找到软件,配置好yum源,直接使用命令yum instal ...

  3. Centos6.4环境下DNS服务器的搭建

    DNS服务器搭建很繁琐吗?给你个简单的招吧! 配置域主服务器 阶段: 1.在bind的主配置文件中添加该域 2.在/var/named中创建该域的zone文件 3.编辑zone文件,添加需要的信息 4 ...

  4. 使用BIND安装智能DNS服务器(一)---基本的主从DNS服务器搭建

    参考网址:http://www.unixmen.com/dns-server-installation-step-by-step-using-centos-6-3/ DNS(Domain Name S ...

  5. DNS服务器的搭建

    更详细的dns笔记整理: http://services.linuxpanda.tech/DNS/index.html 1 DNS介绍 DNS(Domain Name System,域名系统),因特网 ...

  6. 生产环境轻量级dns服务器dnsmasq搭建文档

    dnsmasq搭建文档 一.生产环境域名解析问题 之前生产环境设备较少,是通过维护master(192.168.1.1)设备的hosts文件实现的.每次新增设备后,需要在master的hosts文件中 ...

  7. 一、DNS服务器的搭建

    一.介绍 DNS服务:域名解析   将域名解析ip地址 DNS服务器的功能– 正向解析:根据注册的域名查找其对应的IP地址– 反向解析:根据IP地址查找对应的注册域名,不常用 所有完整的域名都要以点结 ...

  8. Linux服务器架设篇,DNS服务器(二),cache-only DNS服务器的搭建

    一.理论基础 什么是cache-only服务器?即不具备自己正反解Zone的能力,仅进行缓存或转发的DNS服务器.其实它也称不上是DNS服务器.但是也是一个必备的知识点. 这种服务器只有缓存搜索结果的 ...

  9. Linux下dns服务器搭建

    Linux下dns服务器搭建1-环境Red Hat Enterprise Linux Server release 6.7 (Santiago)2-配置本地yum源安装dns相关包yum -y ins ...

随机推荐

  1. three.js入门系列之粒子系统

    其实代码很简单,也很容易懂(我用的是r99版本的three.js,目前网上大多数demo是60或者80的版本,其中的一些api已经废弃,如下是r99版本支持的写法): 注:渲染器是WebGl渲染器 如 ...

  2. axios如何使用

    我们知道,vue2.0以后,vue就不再对vue-resource进行更新,而是推荐axios,而大型项目都会使用 Vuex 来管理数据,所以这篇博客将结合两者来发送请求 1.安装axios cnpm ...

  3. 程序设计入门-C语言基础知识-翁恺-第四周:循环控制-详细笔记(四)

    目录 第四周:循环控制 4-1 for循环 4-2 循环控制 各运算符优先级(图) 4-3 课后习题 4-4 讨论题 第四周:循环控制 4-1 for循环 for循环像一个计数循环:设定一个计数器,初 ...

  4. 白话machine learning之Loss Function

    转载自:http://eletva.com/tower/?p=186 有关Loss Function(LF),只想说,终于写了 一.Loss Function 什么是Loss Function?wik ...

  5. C# 后台模拟前台post发送json数据

    public static string PostMoths(string url, string param) { string strURL = url; System.Net.HttpWebRe ...

  6. 查询避免Unknown column ‘xxx’ in ‘where clause’

    但凡写过sql语句的人估计都曾经碰到过类似于Unknown column ‘xxx’ in ‘where clause’的问题. 单从字面理解,我们很容易得出列名不存在的结论,但是,很多时候起始并不是 ...

  7. 基于 task 为 VSCode 添加自定义的外部命令

    我们有很多全局的工具能在各处使用命令行调用,针对某个仓库特定的命令可以放到仓库中.不过,如果能够直接为顺手的文本编辑器添加自定义的外部命令,那么执行命令只需要简单的快捷键即可,不需要再手工敲了.   ...

  8. 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包

    MSBuild 的 Task 为我们扩展项目的编译过程提供了强大的扩展性,它使得我们可以用 C# 语言编写扩展:利用这种扩展性,我们可以为我们的项目定制一部分的编译细节.NuGet 为我们提供了一种自 ...

  9. __all__ 作用, 相当于导入*

    它是一个string元素组成的list变量,定义了当你使用 from <module> import * 导入某个模块的时候能导出的符号(这里代表变量,函数,类等) 参考文章: http: ...

  10. JAVA card 应用开发(一) 创建第一个APPLET

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/freudlv/article/details/26499817 本文讲述在Eclipse环境下.怎样 ...