linux6.4 dns 主从,dns正反解析与主从复制文件同步
去设置我们的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正反解析与主从复制文件同步相关推荐
- DNS服务器配置:DNS服务器配置:正反解析,主从服务器,子域授权,
DNS服务器配置:正反解析,主从服务器,子域授权, 控制列表,bind view 配置前的设置:在172.16.59.1服务器上 安装bind: 配置好yum源后,用 # yum install bi ...
- dns基本原理及正反解析
DNS原理及配置 一.DNS原理 二.正向解析 三.反向解析 一.DNS原理 1.dns的定义是将域名和ip地址相互映射的一个分布式数据库,能够使客户端更方便的进行访问. tcp链接 udp解析 53 ...
- centos7 主从dns配置 bind服务
一,配置前请先关闭防火墙selinux 防火墙关闭方法,参见上一篇文章. setenforce 0 #临时关闭 修改/etc/selinux/config 文件 将SELINUX=enforc ...
- 基于Bind实现的DNS正反向解析及主从DNS的配置
一.什么是DNS? 1.1 简单的理解,Domain Name System,是互联网一项核心的服务,他作为一个桥梁可以将域名和IP地址相互因素的一个分布式数据库,能够使人更加方便的访问互联网,而不用 ...
- 14、DNS正反向解析、主从复制、子域授权、区域转发 学习笔记
DNS:Domain Name Service 监听端口:UDP/TCP 53号端口 实现工具:BIND(Berkeley Internet Name Domain), PowerDNS, dnsma ...
- Linux centos7 DNS服务器基于bind正反解析服务的搭建
Linux centos7 DNS服务器基于bind正反解析服务的搭建 DNS的相关基础知识: 一.DNS-- ...
- Linux设备配置DNS服务器,实现正向解析和反向解析,实现DNS主从服务器同步,实现批量域名正/反向解析
本文基于Linux上CentOS 7版本配合bind(named)服务进行演示 一.DNS域名服务器原理及作用等介绍 1.DNS简介: 2.原理简单介绍 3.常见域名后缀 4.DNS域名服务器类型 5 ...
- Liunx7 DNS服务器正反解析,域名转发
首先我们先安装DNS域名解析服务,安装命令: yum install -y *bind*(-y是接下来的安装步骤全部y,就是同意操作的意思:*是我不记得到底是哪一个安装包来着,就用*包着bind,把所 ...
- 实现私有DNS搭建(正向解析+反向解析+主从同步+安全措施+配置转发服务器+基于ACL实现智能DNS)
先了解一些bind中常用工具: dig :DNS 查找工具 描述: dig是一个用于查询DNS名称服务器的灵活工具.它执行DNS查找并显示从所查询的名称服务器返回的答案.大多数DNS管理员使用dig来 ...
最新文章
- 在Linux下写一个自己的命令
- JAVA常用的数据结构集合框架总结
- Python Windows文件操作
- 嬴彻科技这一年:“姚班”天才加盟、运力模式显现、已有商业化收入
- JAVA:hotspot 虚拟机的server和client模式
- 每天Leetcode 刷题 初级算法篇-有效的括号
- 如何在Java中将集合转换为列表
- tapestry5中文教程 实例demo
- 用access建立一个试题库_access2010怎样建立自己的试题库?
- 项目管理(PMBOK第六版)常用缩写中英文对照
- WeChat-JSAPI支付
- CPU的设计原理,数据总线和地址总线
- AI学习 Day09 面向对象基础(下)
- php盘古分词,百度分词技术_百度输入法分词怎么关_百度分词原理
- codewars练习(javascript)-2021/3/21
- 狂妄之人计算机音乐,Undertale音乐 MEGALOVANIA 狂妄之人
- FreeSWITCH安装教程
- 制作多系统启动盘教程_u盘启动盘制作工具教程
- 从零搭建阿里云服务器(图文详解)
- VLC学习笔记(1): 概述