CentOS7系统DNS主从配置:

一、DNS服务器正向解析:

1.1 基础环境:
主机IP          主机名      操作系统    用途
192.168.0.110   master      centos7     dns主服务器
192.168.0.111   slave       centos7     dns从服务器

1.2 bind服务安装,主从都安装
yum install -y bind*

文件名解释:
文件名                      文件说明          作用
/etc/named.conf             主配置文件        用来定义bind服务程序的运行
/etc/named.rfx1912.zones    区域配置文件      用来保存域名和ip地址对应关系的所在位置
/etc/named                  数据配置文件目录  用来保存域名和ip地址真是对应关系的数据配置文件

修改主配置文件第13行内容使服务器上的所有 IP地址均可以提供 DNS 域名解析服务
修改第21行允许所有人对本服务器发送 DNS 查询请求。
options {
    listen-on port 53  { any; };             #修改为any
    listen-on-v6 port 53 { ::1; };
    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";
    recursing-file  "/var/named/data/named.recursing";
    secroots-file   "/var/named/data/named.secroots";
    allow-query     { any; };               #修改为any

1.2.1正向解析
在 DNS 域名解析服务中,正向解析是指根据域名查找到对应的 IP 地址。当用户输入了一个域名后,bind 服务程序会自动进行查找,并将匹配到的 IP 地址返给用户。

1、编辑区域配置文件,可将原来内容全部清空只留一下内容
[root@master ~]# more /etc/named.rfc1912.zones
zone "bindtest.com" IN {
    type master;                   #服务器类型
    file "bindtest.com.zone";      #域名与ip解析规则
    allow-update { none; }; #允许哪些客户机动态更新解析
};
[root@master ~]#

[root@master ~]# service network restart

2、从/var/named 目录中复制一份正向解析的模板文件(named.localhost)进行编辑
[root@master ~]# ce /var/named/
[root@server named]# cp -ar named.localhost bindtest.com.zone
[root@server named]# cd /var/named
[root@server named]#
[root@server named]# more bindtest.com.zone
$TTL 1D
@    IN SOA    @ rname.invalid. (
                    0    ; serial        #更新序列号
                    1D    ; refresh       #更新时间
                    1H    ; retry         #重试延时
                    1W    ; expire        #失效时间
                    3H )    ; minimum       #无效解析记录的缓存时间
    NS    ns.bindtest.com.     #域名服务器记录
ns    A    192.168.0.110        #域名解析服务器
@       IN MX 10 mail.bindtest.com   #邮件交换记录,设置MX优先级别为10或其他
mail    IN A    192.168.0.110        #表示mail.bindtest.com解析后地址为192.168.0.110
www     IN A    192.168.0.110
bbs     IN A    192.168.0.111        #表示bbs.bindtest.com解析后地址为192.168.0.110
blog    IN A    192.168.0.111
[root@server named]#

3、系统网卡中的 DNS 地址参数修改成本机 IP 地址,重启服务bind服务检测是否正向是否配置成功
[root@server named]# systemctl restart named
[root@server named]# systemctl restart network
[root@server named]#

[root@master ~]# nslookup www.bindtest.com
Server:        192.168.0.110
Address:    192.168.0.110#53

Name:    www.bindtest.com
Address: 192.168.0.110

[root@master ~]# nslookup mail.bindtest.com
Server:        192.168.0.110
Address:    192.168.0.110#53

Name:    mail.bindtest.com
Address: 192.168.0.110

[root@master ~]# nslookup bbs.bindtest.com
Server:        192.168.0.110
Address:    192.168.0.110#53

Name:    bbs.bindtest.com
Address: 192.168.0.111

[root@master ~]# nslookup blog.bindtest.com
Server:        192.168.0.110
Address:    192.168.0.110#53

Name:    blog.bindtest.com
Address: 192.168.0.111

[root@master ~]#

1.2.1 反向解析实验

反向解析的作用是将 IP 地址解析为对应的域名信息。

1、编辑区域文件,在下方追加反向解析区域配置
[root@server named]# vim /etc/named.rfc1912.zones
zone "bindtest.com" IN {
        type master;
        file "bindtest.com.zone";
        allow-update { none; };
};

zone "0.168.192.in-addr.arpa" IN{ #在定义区域时应该要把ip地址反写,如0.168.192只写网络位
        type master;
        file "192.168.0.arpa";     #此处名字需要与正向解析文件区别开
        allow-update { none; };
};

2、从/var/named 目录中复制一份正向解析的模板文件(named.loopback)进行编辑
[root@master ~]# cd /var/named/
[root@master ~]# cp -ar named.loopback 192.168.0.arpa
[root@master ~]# vim 192.168.0.arpa
$TTL 1D
@       IN SOA  bindtest.com. root.bindtest.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns.bindtest.com.
ns      A       192.168.0.110
110     PTR     ns.bindtest.com.          #PTR为反向指针 192.168.0.110可解析城ns.bindtest.com
110     PTR     mail.bindtest.com.
110     PTR     www.bindtest.com.
111     PTR     bbs.bindtest.com.
111     PTR     blog.bindtest.com.

[root@master ~]#

3、重启服务、检验解析结果
[root@server named]# nslookup 192.168.0.110
110.0.168.192.in-addr.arpa    name = mail.bindtest.com.
110.0.168.192.in-addr.arpa    name = ns.bindtest.com.
110.0.168.192.in-addr.arpa    name = www.bindtest.com.

[root@server named]# nslookup 192.168.0.111
111.0.168.192.in-addr.arpa    name = bbs.bindtest.com.
111.0.168.192.in-addr.arpa    name = blog.bindtest.com.

[root@server named]#

二、从服务部署
在实际工作环境中,对于解析任务繁重,工作负荷较大的服务器而言,难免存在服务器出现问题,而在网络环境中,如果因为服务器不能提供服务,损失将会是巨大的,因此需要做一个备份可提供服务的DNS服务器,称为从DNS服务器。
2.1主服务配置

修改主服务区域文件配置
[root@server named]# vim /etc/named.rfc1912.zones
zone "bindtest.com" IN {
        type master;
        file "bindtest.com.zone";
        allow-update { 192.168.0.111; };  #修改成允许更新区域信息的主机地址
};

zone "0.168.192.in-addr.arpa" IN{
        type master;
        file "192.168.0.arpa";
        allow-update { 192.168.0.111; };  #修改成允许更新区域信息的主机地址
};
[root@server named]#

重启主服务bind程序
[root@server named]# systemctl restart named
[root@server named]#

2.1从服务配置

1、参照1.2对bind服务安装并对主配置文件(/etc/named.conf)进行修改
options {
    listen-on port 53 { any; };
    listen-on-v6 port 53 { ::1; };
    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";
    recursing-file  "/var/named/data/named.recursing";
    secroots-file   "/var/named/data/named.secroots";
    allow-query     { any; };

2、修改从服务区域文件
[root@slave ~]# vim /etc/named.rfc1912.zones
zone "bindtest.com" IN {
        type slave;                      #服务器类型为从服务器
        masters { 192.168.0.110; };      #主服务器ip地址
        file "slaves/bindtest.com.zone"; #同步配置文件的位置
};

zone "0.168.192.in-addr.arpa" IN{
        type slave;
        masters { 192.168.0.110; };
        file "slaves/192.168.0.arpa";
};

由于目前还没重新启动从服务,切换到数据配置文件目录的slaves下可以看到此时并没有文件
[root@slave ~]# cd /var/named/slaves/
[root@slave slaves]# ls
[root@slave slaves]#

3、重启服务,可以看到重启服务后主服务的正反向解析服务的配置文件已经同步到相应目录下了

[root@slave slaves]# ll
总用量 0
[root@slave slaves]# systemctl restart named
[root@slave slaves]# ll
总用量 8
-rw-r--r-- 1 named named 436 1月  15 15:42 192.168.0.arpa
-rw-r--r-- 1 named named 453 1月  15 15:42 bindtest.com.zone
[root@slave slaves]#

4、将系统dns地址修改为192.168.0.111并重启网络服务后检验解析结果

[root@master named]# systemctl restart named
[root@master named]# systemctl restart network
[root@slave ~]# nslookup
> 192.168.0.110
110.0.168.192.in-addr.arpa    name = www.bindtest.com.
110.0.168.192.in-addr.arpa    name = mail.bindtest.com.
110.0.168.192.in-addr.arpa    name = ns.bindtest.com.
> www.bindtest.com
Server:        192.168.0.111       可以看到解析服务已经是从服务了
Address:    192.168.0.111#53

Name:    www.bindtest.com
Address: 192.168.0.110
> mail.bindtest.com
Server:        192.168.0.111
Address:    192.168.0.111#53

Name:    mail.bindtest.com
Address: 192.168.0.110
> ns.bindtest.com
Server:        192.168.0.111
Address:    192.168.0.111#53

Name:    ns.bindtest.com
Address: 192.168.0.110
> bbs.bindtest.com
Server:        192.168.0.111
Address:    192.168.0.111#53

Name:    bbs.bindtest.com
Address: 192.168.0.111
> blog.bindtest.com
Server:        192.168.0.111
Address:    192.168.0.111#53

Name:    blog.bindtest.com
Address: 192.168.0.111
>

CentOS7系统DNS主从配置的更多相关文章

  1. Linux系统下DNS主从配置详解

    一.DNS概述DNS(Domain Name System),即域名系统.因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串. ...

  2. CentOS7 系统服务器初始化配置、安全加固、内核升级优化常用软件安装的Shell脚本分享

    转载自:https://www.bilibili.com/read/cv13875630?spm_id_from=333.999.0.0 描述: 适用于企业内部 CentOS7 系列操作服务器初始化. ...

  3. linux系统mysql主从配置

    一.原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把mast ...

  4. centos7系统下,配置学校客户端网络记录

    存在的情况 1.学校的网络客户端绑定了个人的电脑MAC地址.绑定了IP地址. 2.我有两台笔记本,一台用了4年多,想用这台(B)直接装centos7系统,然后新买的笔记本(A)做为经常用的,系统为wi ...

  5. DNS主从配置详解

    实验环境 主服务器:192.168.138.200 从服务器:192.168.138.201 bind安装 安装很简单,执行以下命令即可: yum install -y bind 先看一下bind的版 ...

  6. centos7系统下安装配置jdk、tomcat教程

    JDK安装与配置 1.下载linux版本的jdk,我下的版本是jdk6.0,下载rpm版本的. 可通过百度搜索文件名:jdk-6u45-linux-x64-rpm.bin下载 也可通过oracle官网 ...

  7. CentOS7系统局域网内配置本地yum源解决cannot find a valid baseurl for repo

    一.     问题详情 因为服务器无法连接外网,所有直接用yum安装某些功能将受到影响,报错如下: Error: Cannot find a valid baseurl for repo: base ...

  8. BIND的进程一:DNS简单配置与的主从配置

    DNS的简单配置和DNS的主从配置   摘要:DNS(Domain-Name Server) ,DNS的服务起到的作用就是名称解析,在网络通讯来说计算机与计算机是通过IP地址相互通信的, 当是IP地址 ...

  9. DNS主从服务,子域授权,view视图,日志系统,压力测试

    DNS主从服务,子域授权,view视图,日志系统,压力测试 DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140 ...

随机推荐

  1. 面试必问的8个CSS响应式单位,你知道几个?

    大家好,我是半夏,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注 点赞 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师-关注公众号:搞前端的半夏,了解更多前端知 ...

  2. 大白话详解HTTPS!

    开源Linux 回复"读书",挑选书籍资料~ 我相信大家面试的时候对于 HTTPS 这个问题一定不会陌生,可能你只能简单的说一下与 HTTP 的区别,但是真正的原理是否很清楚呢?他 ...

  3. 【hexo博客搭建】将搭建好的hexo博客部署到阿里云服务器上面(下)

    一.部署到阿里云服务器 既然博客也已经成功在本地部署,然后主题也成功安装,接下来就可以部署到服务器上面了,如果你也想要魔改matery主题,可以去各种博客上面找一找大佬的教程,或者联系我,也可以让你少 ...

  4. Java操作Hadoop、Map、Reduce合成

    原始数据: Map阶段 1.每次读一行数据, 2.拆分每行数据, 3.每个单词碰到一次写个1 <0, "hello tom"> <10, "hello ...

  5. ansible中的playbook脚本的介绍与使用

    playbook的数据结构,遵循yaml 后缀名为yaml或者yml,这两个后缀名没有区别 字典{key:value} 列表[]或者- - alex - wusir - yantao - yuchao ...

  6. 深入HTTP请求流程

    1.HTTP协议介绍 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,它是从WEB服务器传输超文本标记语言(HTML)到 ...

  7. 启动mysql报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

    mysql之前还好好的,突然就启动不了了,我也很纳闷,原来是服务没有启动 netstat -ntlp 后,发现并没有启动 于是我试着启动mysql service mysqld start 查看了my ...

  8. vscode编写的程序中文乱码怎么办?

    (以下教程在源码文件的编码是utf-8的基础上进行!) (dev的源码文件是GBK编码,或者是GB2312?我现在好久没用dev,关于dev的信息可能有错误. 如果拿dev编写的代码用vscode打开 ...

  9. Nacos源码系列—订阅机制的前因后果(下)

    点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 nacos,即可免费获取源码 事件发布 在上一节中我们讲解了在Noti ...

  10. Go内存管理一文足矣

    最早学习C.C++语言时,它们都是把内存的管理全部交给开发者,这种方式最灵活但是也最容易出问题,对人员要求极高:后来出现的一些高级语言像Java.JavaScript.C#.Go,都有语言自身解决了内 ...