设置主从DNS的主要是为了冗余,分担压力,防止服务器宕机后,DNS无法正常解析。


配置 master

正常配置DNS服务。

设置主机名

[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# bash

安装 bind 包

[root@master ~]# yum install bind bind-utils -y

编辑主配置文件

[root@master ~]# vim /etc/named.conf
  • 配置监听网段、允许查询网段
listen-on port 53 { 192.168.28.128; };
allow-query { any; };

编辑区域配置文件

[root@master ~]# vim /etc/named.rfc1912.zones
zone "yun.com" IN {
type master;
file "yun.com.zone";
allow-update { none; };
}; zone "100.168.192.in-addr.arpa" IN {
type master;
file "100.168.192.zone";
allow-update { none; };
};

编辑区域数据配置文件

[root@master ~]# cd /var/named/
  • 编辑正向区域数据文件
[root@master named]# cp -p named.localhost yun.com.zone
[root@master named]# vim yun.com.zone
$TTL 1D
@ IN SOA yun.com admin.yun.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS yun.com.
IN A 192.168.28.128
IN MX 10 mail.yun.com.
www IN A 192.168.100.10
ftp IN A 192.168.100.20
bbs IN CNAME www
* IN A 8.8.8.8
  • 编辑反向区域数据文件
[root@master named]# cp -p yun.com.zone 100.168.192.zone
[root@master named]# vim 100.168.192.zone
$TTL 1D
@ IN SOA yun.com admin.yun.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS yun.com.
IN A 192.168.28.128
10 IN PTR www.yun.com.
20 IN PTR ftp.yun.com.

启动服务

[root@master ~]# systemctl start named
[root@master ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@master ~]# netstat -ntuap | grep named
tcp 0 0 192.168.28.128:53 0.0.0.0:* LISTEN 34822/named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 34822/named
tcp6 0 0 ::1:53 :::* LISTEN 34822/named
tcp6 0 0 ::1:953 :::* LISTEN 34822/named
udp 0 0 192.168.28.128:53 0.0.0.0:* 34822/named
udp6 0 0 ::1:53 :::* 34822/named

关闭防火墙

[root@master ~]# systemctl stop firewalld
[root@master ~]# setenforce 0

nslookup

  • 设置DNS地址
[root@master ~]# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.28.128
  • 正向查询
[root@master ~]# nslookup www.yun.com
Server: 192.168.28.128
Address: 192.168.28.128#53 Name: www.yun.com
Address: 192.168.100.10 [root@master ~]# nslookup ftp.yun.com
Server: 192.168.28.128
Address: 192.168.28.128#53 Name: ftp.yun.com
Address: 192.168.100.20 [root@master ~]# nslookup bbs.yun.com
Server: 192.168.28.128
Address: 192.168.28.128#53 bbs.yun.com canonical name = www.yun.com.
Name: www.yun.com
Address: 192.168.100.10 [root@master ~]# nslookup asd.yun.com
Server: 192.168.28.128
Address: 192.168.28.128#53 Name: asd.yun.com
Address: 8.8.8.8
  • 反向查询
[root@master ~]# nslookup 192.168.100.10
Server: 192.168.28.128
Address: 192.168.28.128#53 10.100.168.192.in-addr.arpa name = www.yun.com. [root@master ~]# nslookup 192.168.100.20
Server: 192.168.28.128
Address: 192.168.28.128#53 20.100.168.192.in-addr.arpa name = ftp.yun.com.

allow-transfer

这是最重要的一步,允许传送。配置好后重启服务。

[root@master ~]# vim /etc/named.rfc1912.zones
zone "yun.com" IN {
type master;
file "yun.com.zone";
allow-transfer { 192.168.28.129; };
allow-update { none; };
}; zone "100.168.192.in-addr.arpa" IN {
type master;
file "100.168.192.zone";
allow-transfer { 192.168.28.129; };
allow-update { none; };
};

配置 slave

设置主机名

[root@localhost ~]# hostnamectl set-hostname slave
[root@localhost ~]# bash

安装 bind 包

[root@slave ~]# yum install bind bind-utils -y

编辑主配置文件

[root@slave ~]# vim /etc/named.conf
  • 配置监听网段、允许查询网段
listen-on port 53 { 192.168.28.129; };
allow-query { any; };

编辑区域配置文件

[root@slave ~]# vim /etc/named.rfc1912.zones
zone "yun.com" IN {
type slave;
file "slaves/yun.com.zone";
masters { 192.168.28.128; };
allow-update { none; };
}; zone "100.168.192.in-addr.arpa" IN {
type slave;
file "slaves/100.168.192.zone";
masters { 192.168.28.128; };
allow-update { none; };
};

启动服务

[root@slave ~]# systemctl start named
[root@slave ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@slave ~]# netstat -ntuap | grep named
tcp 0 0 192.168.28.129:53 0.0.0.0:* LISTEN 1661/named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1661/named
tcp6 0 0 ::1:53 :::* LISTEN 1661/named
tcp6 0 0 ::1:953 :::* LISTEN 1661/named
udp 0 0 192.168.28.129:53 0.0.0.0:* 1661/named
udp6 0 0 ::1:53 :::* 1661/named

关闭防火墙

[root@slave ~]# systemctl stop firewalld
[root@slave ~]# setenforce 0
  • 区域数据文件自动传送到从服务器
[root@slave ~]# ll /var/named/slaves/
total 8
-rw-r--r--. 1 named named 378 Sep 12 02:11 100.168.192.zone
-rw-r--r--. 1 named named 392 Sep 12 02:11 yun.com.zone

nslookup

  • 设置DNS地址
[root@slave ~]# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.28.129
  • 正向查询
[root@slave ~]# nslookup www.yun.com
Server: 192.168.28.129
Address: 192.168.28.129#53 Name: www.yun.com
Address: 192.168.100.10 [root@slave ~]# nslookup ftp.yun.com
Server: 192.168.28.129
Address: 192.168.28.129#53 Name: ftp.yun.com
Address: 192.168.100.20 [root@slave ~]# nslookup bbs.yun.com
Server: 192.168.28.129
Address: 192.168.28.129#53 bbs.yun.com canonical name = www.yun.com.
Name: www.yun.com
Address: 192.168.100.10 [root@slave ~]# nslookup asd.yun.com
Server: 192.168.28.129
Address: 192.168.28.129#53 Name: asd.yun.com
Address: 8.8.8.8
  • 反向查询
[root@slave ~]# nslookup 192.168.100.10
Server: 192.168.28.129
Address: 192.168.28.129#53 10.100.168.192.in-addr.arpa name = www.yun.com. [root@slave ~]# nslookup 192.168.100.20
Server: 192.168.28.129
Address: 192.168.28.129#53 20.100.168.192.in-addr.arpa name = ftp.yun.com.

Linux DNS 主从复制的更多相关文章

  1. Linux DNS 服务器安装、配置和维护

    每个 IP 地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开.有了主机名,就不要死记硬背每台 IP 设备的 IP 地址,只要记住相对直观有意义的主机名就行了.这就是 DNS ...

  2. DNS主从复制及区域传送

    前言 DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向.反向解析了.从服务器向主服务器查询更新数据,保证数据一致性,此为区域传送.也可以说,DNS区域传 ...

  3. Linux DNS原理简介及配置

    Linux DNS原理简介及配置 DNS简介 DNS原理 域名解析的过程 资源记录 DNS BIND安装配置 一.简介 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访 ...

  4. 使用nsswitch控制linux dns解析顺序

    参考:1.DNS原理入门参考:http://www.ruanyifeng.com/blog/2016/06/dns.html 2.http://cn.linux.vbird.org/linux_ser ...

  5. LINUX DNS客户端 解析域名慢的问题。

    Linux系统下域名解析的配置文件是/etc/resolv.conf cat /etc/resolv.conf # Generated by NetworkManager options single ...

  6. 安装Oracle 11g RAC R2 之Linux DNS 配置

    Oracle 11g RAC 集群中引入了SCAN(Single Client Access Name)的概念,也就是指集群的单客户端访问名称.SCAN 这个特性为客户端提供了单一的主机名,用于访问集 ...

  7. 11g RAC R2 之Linux DNS 配置

    在动手配置前,最好先了解下DNS的理论,以免犯不必要的错误.这都是被坑后的觉悟 -_-!!! Oracle 11g RAC 集群中引入了SCAN(SingleClientAccessName)的概念, ...

  8. Redhat linux DNS配置指南(SCANIP配置手册)

    在oracle 11g的RAC中增加了SCAN IP,而使用 SCAN IP的一种方式就是使用DNS,这里介绍在Redhat Linux 5.4中DNS的详细配置操作在配置DNS之前修改主机名Redh ...

  9. linux dns域名缓存

    在linux服务器中,我们 总会设置一个dns做域名解析 一般来说dns的缓存是不会造成多大的困扰,但是,有时候会遇到dns解析导致网络不能正常访问 在linux中,有一个缓存服务,我们可以重启这个来 ...

随机推荐

  1. shell基础知识之数组

    数组允许脚本利用索引将数据集合保存为独立的条目.Bash支持普通数组和关联数组,前者 使用整数作为数组索引,后者使用字符串作为数组索引.当数据以数字顺序组织的时候,应该使 用普通数组,例如一组连续的迭 ...

  2. Springboot+Quartz+druid+多库

    很久以前就用过quartz,现在重新用起,主要实现集群方式启动,并且支持多数据源注入到job中.网上demo很多,方法大同小异.但关于数据源注入的深入介绍不多,不错的文章:<spring-boo ...

  3. 定制flask-admin的主页

    flask也用了很久了,一般配合flask-admin设置后台. 但是flask-admin设置的都是自己加入的,对某些model进行管理. 下面介绍如何定制flask-admin的首页. 原来我们引 ...

  4. IDEA中Lombok插件的安装及使用

    这个插件的好处在于可以让我们的代码更简洁,减少一些重复的工作,最常用的就是@Data注解,比如在实体类上使用@Data注解,实体类的各个属性就不需要书写get和set方法. 安装方法: 1.File→ ...

  5. SQL Server常用方法

    目录 CharIndex:确定某个字符的位置 Substring:截取 stuff: 根据位置替换字符串 replace:替换字符串 CharIndex:确定某个字符的位置 两个参数,前面是关键字,后 ...

  6. [ARM-Linux开发]linux dmesg命令参数及用法详解(linux显示开机信息命令)

    功能说明:显示开机信息.语 法:dmesg [-cn][-s <缓冲区大小>]补充说明:kernel会将开机信息存储在ring buffer中.您若是开机时来不及查看信息,可利用dmesg ...

  7. Python窗体操作函数

    实现了一个window下对窗体操作的类,实现的功能如:移动窗体.获取窗体位置和大小.截取窗体图片.坐标转换等. 直接上代码: # coding=utf-8 import win32con import ...

  8. Maven手动导本地jar到项目

    第一步:先把目标jar安装在本地,下面是安装到本地的步骤:在cmd命令中,输入:mvn install:install-file -Dfile=C:\Users\Ter\Desktop\jqd_doc ...

  9. Mybaties的简单使用(全当做复习了)

    在使用mybaties的时候,最容易忘掉的是他的动态SQL,不过网上有关这方面的文章很多. 在动态SQl中最常见的几种SQL的语法就是: if choose (when, otherwise) tri ...

  10. 【笔试题】Overloading in Java

    笔试题 Overloading in Java Question 1 以下程序的输出结果为( ). public class Test { public int getData() { return ...