去设置我们的zone:

vim named.rfc1912.zones

在最后添加:

zone "example.com" IN {(zone的名称)

type master;                             (什么类型)

file "example.com.zone";         (数据库文件在哪)

allow-update { none; };

};

zone "0.168.192.in-addr.arpa" IN {

type master;

file "example.com.local";

allow-update { none; };

};

再去配置我们的数据库文件:

cd/var/named/chroot/var/named

cp -p named.localhost example.com.zone

cp -p named.loopback  example.com.local

切记,不要将这两个文件复制到跟我们的named.conf在同一个目录,不然重启服务的时候会以下出错(实验在这里浪费好多时间):

Error in named configuration:

zone localhost.localdomain/IN: loaded serial 0

zone localhost/IN: loaded serial 0

zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0

zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0

zone 0.in-addr.arpa/IN: loaded serial 0

zone example.com/IN: loading from master file example.com.zone failed: file not found

zone example.com/IN: not loaded due to errors.

_default/example.com/IN: file not found

zone 0.168.192.in-addr.arpa/IN: loading from master file example.com.local failed: file not found

zone 0.168.192.in-addr.arpa/IN: not loaded due to errors.

_default/0.168.192.in-addr.arpa/IN: file not found

由于我是用物理机做的DNS去给虚拟机用,方便用虚拟机做实验嘛=。=所以下面这两个文件是我的配置:

vim   example.com.zone

$TTL 1D

@       IN SOA  silence.example.com.    root.example.com. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

NS      silence.example.com.

silence  A       192.168.0.100

A       192.168.0.100

vm1     A       192.168.0.201

vm2     A       192.168.0.202

vm3     A       192.168.0.203

vm4     A       192.168.0.204

vm5     A       192.168.0.205

vm6     A       192.168.0.206

vm7     A       192.168.0.207

vm8     A       192.168.0.208

vim example.com.local

$TTL 1D

@       IN SOA  silence.example.com.    root.example.com. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

NS      silence.example.com.

100     PTR     example.com.

100     PTR     silence.example.com.

201     PTR     vm1.example.com.

202     PTR     vm2.example.com.

203     PTR     vm3.example.com.

204     PTR     vm4.example.com.

205     PTR     vm5.example.com.

206     PTR     vm6.example.com.

207     PTR     vm7.example.com.

208     PTR     vm8.example.com.

下面来说说这两个文件的内容:

@ :代表zone的意思,在example.com,zone中代表example.com在example.com.local中代表0.168.192.in-addr.arpa

.:这个点很重要,代表一个完整的主机名而不是hostname,如果没有.则vm1.example.com代表vm1.example.com.example.com

A  :Address 域名向ip地址转换的记录;

PTR:Printer ip地址向域名转换的记录;

NS:代表域内的dns服务器;

MX:代表域内的邮件服务器;

CNAME:域名的别名;

SOA:start of authority用于标示域内主DNS服务器。

Serial﹕其格式通常会是“年月日+修改次序”(但也不一定如此﹐您自己能够记得就行)。当 slave 要进行数据同步的时候﹐

会比较这个号码。如果发现在这里的号码比它那的值“大”﹐ 就进行更新﹐否则忽略。不过设 serial 有一个地方您要留意﹕不能超过 10 位数字﹗

Refresh﹕这里是是告诉 slave 要隔多久要进行数据同步(是否同步要看 Serial 的比较结果)。

Retry﹕如果 slave 在进行更新失败后﹐要隔多久再进行重试。

Expire﹕这是记录逾期时间﹕当 slave 一直未能成功与 master 取得联络﹐那到这里就放弃 retry﹐同时这里的数据也将标识为过期( expired )。

Minimum﹕这是最小预设 TTL 值﹐如果您在前面没有用“$TTL”来定义﹐就会以此值为准。

OK,文件配置来之后,重启服务,开启客户机进行测试吧~(注意更改你的测试机的DNS)

下面是我的测试情况:

[root@vm3 named]# dig vm1.example.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> vm1.example.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;vm1.example.com.INA

;; ANSWER SECTION:

vm1.example.com.86400INA192.168.0.201

;; AUTHORITY SECTION:

example.com.86400INNSsilence.example.com.

;; ADDITIONAL SECTION:

silence.example.com.86400INA192.168.0.100

;; Query time: 2 msec

;; SERVER: 192.168.0.100#53(192.168.0.100)

;; WHEN: Sat Oct 11 19:21:45 2014

;; MSG SIZE  rcvd: 87

[root@vm3 named]# dig -x 192.168.0.204

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> -x 192.168.0.204

;; global options: +cmd

;; Got answer:

;; ->>HEADER<

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;204.0.168.192.in-addr.arpa.INPTR

;; ANSWER SECTION:

204.0.168.192.in-addr.arpa. 86400 INPTRvm4.example.com.

;; AUTHORITY SECTION:

0.168.192.in-addr.arpa.86400INNSsilence.example.com.

;; ADDITIONAL SECTION:

silence.example.com.86400INA192.168.0.100

;; Query time: 1 msec

;; SERVER: 192.168.0.100#53(192.168.0.100)

;; WHEN: Sat Oct 11 19:23:24 2014

;; MSG SIZE  rcvd: 111

再来折腾下主从复制与文件同步吧~~

去主DNS(我的物理机)上进行配置:

cd /var/named/chroot/etc

对于name.conf这个文件暂时还不需要配置

vim  name.rfc1912zones

zone "example.com" IN {

type master;

file "example.com.zone";

allow-update { none; };

allow-transfer { 192.168.0.203; };

};

zone "0.168.192.in-addr.arpa" IN {

type master;

file "example.com.local";

allow-update { none; };

allow-transfer { 192.168.0.203; };

};

在原来的每个域中加来一条参数而已!

现在需要一台虚拟机作为我的辅助DNS,马上开一台虚拟机 IP:192.168.0.203(DNS设置为自身)

在虚拟机中安装好bind bind-chroot

yum install bind bind-chroot -y

/etc/init.d/named start

cd /var/named/chroot/etc

vim 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";

//      allow-query     { any; };

//      recursion yes;

//      dnssec-enable yes;

//      dnssec-validation yes;

//      dnssec-lookaside auto;

/* Path to ISC DLV key */

//      bindkeys-file "/etc/named.iscdlv.key";

//      managed-keys-directory "/var/named/dynamic";

};

logging {

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

view localhost_resolver {

recursion yes;

include "/etc/named.rfc1912.zones";

zone "." IN {

type hint;

file "named.ca";

};

zone "example.com" IN {

type slave;

masters { 192.168.0.100; };

file "slaves/example.com.zone";      (从主DNS复制过来的数据保存在/var/named/chroot/var/named/slaves)

};

zone "0.168.192.in-addr.arpa" IN {

type slave;

masters { 192.168.0.100; };

file "slaves/example.com.local";

};

};

include "/etc/named.root.key";

在这个文件中,由于我们用到view来声明,所以所有的域都应该在view中包含,不然重启服务会出现以下错误:

Error in named configuration:

/etc/named.conf:37: when using 'view' statements, all zones must be in views

[FAILED]

OK,重启我的辅助DNS。看下我们要的两个数据文件复制过来了吗?文件同步:

在主DNS中配置

cd /var/named/chroot/etc

vim named.rfc1912.zones

修改我们的zone

zone "example.com" IN {

type master;

file "example.com.zone";

allow-update { none; };

allow-transfer { 192.168.0.203; };

also-notify { 192.168.0.203; };

};

zone "0.168.192.in-addr.arpa" IN {

type master;

file "example.com.local";

allow-update { none; };

allow-transfer { 192.168.0.203; };

also-notify { 192.168.0.203; };

};

在原来的配置加上also-notify参数!

然后就是我们两个数据库文件的修改:

vim  /var/named/chroot/var/named/example.com.zone

$TTL 1D

@       IN SOA  silence.example.com.    root.example.com. (

2014101204      ; serial(d. admas)

2H              ; refresh

20M             ; retry

1W              ; expire

1D)             ; minimum

NS      silence.example.com.

silence A       192.168.0.100

A       192.168.0.100

vm1     A       192.168.0.201

vm2     A       192.168.0.202

vm3     A       192.168.0.203

vm4     A       192.168.0.204

vm5     A       192.168.0.205

vm6     A       192.168.0.206

vm7     A       192.168.0.207

vm8     A       192.168.0.208

依样画葫芦,example.com.local会修改了吗?

在每次修改我们的数据库文件时我们一定要记住修改serial的值,然后reload服务,查看下辅助DNS的文件数据有没有同步吧~~~

linux6.4 dns 主从,dns正反解析与主从复制文件同步相关推荐

  1. DNS服务器配置:DNS服务器配置:正反解析,主从服务器,子域授权,

    DNS服务器配置:正反解析,主从服务器,子域授权, 控制列表,bind view 配置前的设置:在172.16.59.1服务器上 安装bind: 配置好yum源后,用 # yum install bi ...

  2. dns基本原理及正反解析

    DNS原理及配置 一.DNS原理 二.正向解析 三.反向解析 一.DNS原理 1.dns的定义是将域名和ip地址相互映射的一个分布式数据库,能够使客户端更方便的进行访问. tcp链接 udp解析 53 ...

  3. centos7 主从dns配置 bind服务

    一,配置前请先关闭防火墙selinux 防火墙关闭方法,参见上一篇文章. setenforce 0    #临时关闭 修改/etc/selinux/config 文件  将SELINUX=enforc ...

  4. 基于Bind实现的DNS正反向解析及主从DNS的配置

    一.什么是DNS? 1.1 简单的理解,Domain Name System,是互联网一项核心的服务,他作为一个桥梁可以将域名和IP地址相互因素的一个分布式数据库,能够使人更加方便的访问互联网,而不用 ...

  5. 14、DNS正反向解析、主从复制、子域授权、区域转发 学习笔记

    DNS:Domain Name Service 监听端口:UDP/TCP 53号端口 实现工具:BIND(Berkeley Internet Name Domain), PowerDNS, dnsma ...

  6. Linux centos7 DNS服务器基于bind正反解析服务的搭建

                                                 Linux centos7 DNS服务器基于bind正反解析服务的搭建 DNS的相关基础知识: 一.DNS-- ...

  7. Linux设备配置DNS服务器,实现正向解析和反向解析,实现DNS主从服务器同步,实现批量域名正/反向解析

    本文基于Linux上CentOS 7版本配合bind(named)服务进行演示 一.DNS域名服务器原理及作用等介绍 1.DNS简介: 2.原理简单介绍 3.常见域名后缀 4.DNS域名服务器类型 5 ...

  8. Liunx7 DNS服务器正反解析,域名转发

    首先我们先安装DNS域名解析服务,安装命令: yum install -y *bind*(-y是接下来的安装步骤全部y,就是同意操作的意思:*是我不记得到底是哪一个安装包来着,就用*包着bind,把所 ...

  9. 实现私有DNS搭建(正向解析+反向解析+主从同步+安全措施+配置转发服务器+基于ACL实现智能DNS)

    先了解一些bind中常用工具: dig :DNS 查找工具 描述: dig是一个用于查询DNS名称服务器的灵活工具.它执行DNS查找并显示从所查询的名称服务器返回的答案.大多数DNS管理员使用dig来 ...

最新文章

  1. 在Linux下写一个自己的命令
  2. JAVA常用的数据结构集合框架总结
  3. Python Windows文件操作
  4. 嬴彻科技这一年:“姚班”天才加盟、运力模式显现、已有商业化收入
  5. JAVA:hotspot 虚拟机的server和client模式
  6. 每天Leetcode 刷题 初级算法篇-有效的括号
  7. 如何在Java中将集合转换为列表
  8. tapestry5中文教程 实例demo
  9. 用access建立一个试题库_access2010怎样建立自己的试题库?
  10. 项目管理(PMBOK第六版)常用缩写中英文对照
  11. WeChat-JSAPI支付
  12. CPU的设计原理,数据总线和地址总线
  13. AI学习 Day09 面向对象基础(下)
  14. php盘古分词,百度分词技术_百度输入法分词怎么关_百度分词原理
  15. codewars练习(javascript)-2021/3/21
  16. 狂妄之人计算机音乐,Undertale音乐 MEGALOVANIA 狂妄之人
  17. FreeSWITCH安装教程
  18. 制作多系统启动盘教程_u盘启动盘制作工具教程
  19. 从零搭建阿里云服务器(图文详解)
  20. VLC学习笔记(1): 概述

热门文章

  1. AtCoder AGC039F Min Product Sum (容斥原理、组合计数、DP)
  2. python编译过程和解释过程的不同_Python编译/解释过程
  3. vuecli 实战商城后台管理系统_前台商城系统及后台管理系统
  4. PHPEXCEL导出excel表格中长数字文本自动转为科学计数法的解决办法
  5. 【2018.10.20】noip模拟赛Day3 二阶和
  6. 运送超级计算机 蓝书368
  7. Linux命令之初出茅庐
  8. 【转】oracle sequence
  9. js获取iframe里的元素
  10. vuex modules 命名空间