Centos7 下配置主从dns(bind)

dns 主备搭建

环境说明

系统:CentOS 7.6 x86_64

主master:10.0.0.182

备slave:10.0.0.115

1、安装主要包,在主备机器都执行如下命令

yum install bind bind-utils bind-chroot -y

2、进行配置配置

主master上配置

/etc/named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator‘s Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

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; };
        notify yes;
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        bindkeys-file "/etc/named/named.root.key";
        managed-keys-directory "/var/named/dynamic";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
        masterfile-format text ;
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

#include "/etc/named/named.rfc1912.zones";
include "/etc/named/named.sx.zones";
include "/etc/named/named.root.key";

  

/etc/named/named.sx.zones,由于该文件是自定义的文件,需要手动更改下文件权限,

chown root.named /etc/named/named.sx.zones

zone "sx" IN {
        type master;
        file "zones/sx.zone";
        allow-update { 10.0.0.115; };
        also-notify { 10.0.0.115; };
        allow-transfer { 10.0.0.115; };
};
zone "sx.com" IN {
        type master;
        file "zones/sx.com.zone";
        allow-update { 10.0.0.115; };
        also-notify { 10.0.0.115; };
        allow-transfer { 10.0.0.115; };
};

在/var/named/ 下创建zones目录,并更改用户属主和属组

mkdir /var/named/zones

chown named.named /var/named/zones

cat /var/named/zones/sx.zone

$TTL 600
@       IN SOA  @ rname.invalid. (
                                        2       ; serial
                                        1M      ; refresh
                                        1M      ; retry
                                        1M      ; expire
                                        3H )    ; minimum
@       NS      ns1
@       NS      ns2
ns1     A       10.0.0.182
ns2     A       10.0.0.115
*     A       10.0.0.184

从slave上的配置

cat /etc/named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator‘s Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

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; };
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        bindkeys-file "/etc/named/named.root.key";
        managed-keys-directory "/var/named/dynamic";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
        masterfile-format text ;
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

#include "/etc/named/named.rfc1912.zones";
include "/etc/named/named.sx.zones";
include "/etc/named/named.root.key";

cat /etc/named/named.sx.zones

注意自定义文件属组和属主

zone "sx" IN {
        type slave;
        masters { 10.0.0.182; };
        file "slaves/sx.zone";
};
zone "sx.com" IN {
        type slave;
        masters { 10.0.0.182; };
        file "slaves/sx.com.zone";
};

3、启动(主备上分别操作)

systemctl start named

systemctl enable named

备上启动后,配置文件会自动同步过来

启动成功标识包含进程和端口

4、主从测试

在主上编辑zone配置文件

  

每次执行完之后serial 值增加1

然后主上执行systectl restart named

在备机上验证配置是否同步过来

先看备机上的日志,tail -n 100 /var/log/message,正常同步会有如下类似提示日志信息

在看配置文件

cat /var/named/slaves/sx.com.zone ,看到配置已经同步,serial 值也同步变更过来

5、客户端配置解析测试

在内网的其他机器上配置/etc/resolv.conf 添加该dns

然后进行解析对应域名,可以正常解析

echo "nameserver 10.0.0.115" >> /etc/resolv.conf

配置调试过程中问题总结:

问题一:

配置完成后备机上zone同步过来的显示的乱码文件

主要原因:主从解析文件类型不同

解析方法:

从服务器配置文件(/etc/named.conf )添加并重启服务

masterfile-format text ;

问题二:

配置完成后发现不会自动主从同步

主从同步配置需要添加如下配置

主上需要配置通知服务开启(/etc/named.conf ),添加如下配置

notify yes;

在该配置文件上添加如下内容/etc/named/named.sx.zones

also-notify { 10.0.0.115; }; #配置备机的IP

allow-transfer { 10.0.0.115; }; #允许备机进行同步数据,同步刷新时间间隔根据zone配置的refresh的时间,进行刷新

原文地址:https://www.cnblogs.com/Jabe/p/11951959.html

时间: 2024-10-09 01:57:55

Centos7 下配置主从dns(bind)的相关文章

Centos7下配置phpMyAdmin(提供HTTPS服务)

Centos7下配置phpMyAdmin(提供HTTPS服务) phpMyAdmin可以通过web方式控制和操作MySQL数据库.通过phpMyAdmin 可以完全对数据库进行操作,例如建立.复制和删除数据等等. 配置环境 Centos7 2台(IP1:192.168.70 ; IP2:192.168.1.71) 关闭防火墙 关闭selinux 相关软件: php-5.4.16 php-mbstring-5.4.16   httpd-2.4.6-45 mariadb-server php-mys

CentOS7下配置GlusterFS供Kubernetes使用

CentOS7下配置GlusterFS供Kubernetes使用 [TOC] 1. 环境说明 系统:CentOS7,/data为非系统分区挂载目录docker:1.13.1kubernetes:1.11.1glusterfs:4.1.2 2. GlusterFS部署 2个节点,192.168.105.97.192.168.105.98 使用yum安装 yum install centos-release-gluster yum -y install glusterfs glusterfs-fus

Centos7.5配置缓存DNS服务器(三)

本案例我们来搭建缓存DNS服务器,我们需要准备2台Centos7.5系统,svr100作为缓存DNS服务器,IP为192.168.2.100/24,pc200作为客户机,IP地址为192.168.2.200/24,其中客户机的DNS地址需配置为服务器的IP地址192.168.2.100. 实验拓扑如下图: 第一步,我们在svr100上安装bind.bind-chroot软件包,如下图 第二步,我们编辑svr100的主配置文件,在options中配置真实的DNS服务器地址,编辑如下: 第三步,检查

centos7下mysql主从

1.环境说明 centos7下最小安装环境,IP分配如下,默认yum安装mysql也会安装mariadb. IP master 192.168.0.151 slave 192.168.0.152 2.yum直接安装mariadb [[email protected] ~]# yum -y install mariadb mariadb-server #主从一样安装 3.配置master [[email protected] ~]# vim /etc/my.cnf [mysql] 下添加如下 se

CentOS7 下配置svn的安装及基础配置介绍

[[email protected] ~]# yum install subversion 查看是否安装安装成功[[email protected] ~]# svnserve --versionsvnserve, version 1.7.14 (r1542130) compiled Jun 9 2014, 18:54:44 Copyright (C) 2013 The Apache Software Foundation.This software consists of contributio

Centos7下配置Java web环境(JDK、Tomcat、Mysql)

在Centos7中配置java web环境主要涉及三方面配置:JDK.Tomcat以及Mysql 这里使用版本如下: JDK:jdk-8u181-linux-x64,下载地址:https://pan.baidu.com/s/1M-zraNoPhXO8UewjZVLMjw Tomcat:apache-tomcat-8.5.32,下载地址:https://pan.baidu.com/s/1R3H33xTzDBmBEcRG6n0Jsw Mysql:MySQL-5.6.41-1.el7.x86_64,下

Centos7下快速搭建DNS域名解析服务器

应用环境:此处搭建的DNS(Domain Name Server)更加偏向于企业内部需要一个域名服务器专门用来解析自己局域网内定义的域名: 比如:app1.company.com, app2.company.com, app3.company.com . 优点:免去每次需要记忆ip并输入ip登陆:整齐划一便于管理:对于某些公司旗下的多款应用还可以实现SSO(单点登录). 搭建环境:一台centos7(Redhat7适用)虚拟机,其IP:158.158.41.36 最终效果:在win7下测试: 具

Centos7.5配置主DNS服务器(一)

本篇文章我们介绍下Centos7.5系统上配置DNS服务器,实验拓扑如下: 首先我们需要准备2台Centos系统并配置好YUM仓库,设置好主机名.网络,关闭防火墙.Selinux等. 两台电脑网络配置如下:服务器关闭防火墙.Selinux配置PC机配置 第二步,我们在服务器上安装DNS相关的软件包,如bind.bind-chroot[[email protected] ~]# yum -y install bind bind-chroot.x86_64 安装完成可查看已安装情况,如下提示: 第三

(4) 在CentOS7下配置gfirefly环境

1.前言 Cocos2d-x能够做单机游戏,如果开发网络游戏就需要有服务器,现在开源的服务器框架主有要的网易的Pomelo,SCUT,KBEngine,firefly等,试用过SCUT,KBEngine之后,选中了firefly,其中gfirefly是firefly的新版本.但是开源的产品,相关文档太少了,经过一个晚上加一个白天的尝试,终于成功配置了gfirefly. 2.服务器操作系统安装 服务器操作系统我选择的是CentOS7,正好最近也在学习Linux,就打算将gfirefly布置到Cen