一,DNS简介

DNS域名解析协议,它只是一种大家都遵守的协议。因此也是要靠软件来提供DNS服务,然而在linux系统上通常用bind这个软件提供DNS服务。DNS主要功能是将主机名称解析成IP,因此我们浏览网页时,只是输入一个网址,就能够访问到对方所提供的网页。

DNS既然能够提供解析,那必须依靠自身的数据库,才能提供解析功能,然而组成数据库的内容,也就是我们所称作的资源记录,资源记录有多种类型,下面介绍有哪些类型。

1,资源记录类型:

(1)A 记录:FQDN --> ip, (在ipv6中A记录标识为AAAA)

(2)PTR记录:IP -->FQDN

(3)soa(start of authbority起始授权记录):用于标识区域的主要负责人,一般是主dns,放在资源记录的第一个位置。

(4)ns(nameserver):用于标志一个区域的dns服务器。

(5)mx:用于标识这个区域的邮件服务器,必须一个对应的A记录。

(6)cname:别名

2,资源记录格式:name [ttl] in type rdata

(1)type是A记录,则name表示FQDN,rdata是ip。

(2)type是ns,name是当前区域名称,DNS服务器的名称,任何ns记录都有与之对应的A记录。

(3)type是cname,name是别名,rdata是正式名称.

(4)type是mx,则name是区域名称,rdata是优先级和对应的服务器名称,当然肯定存在a记录。

(5)ttl(time to live):存活时间,在此我们可以省略,但是必须定义一个全局的存活时间。

(6)soa:格式

domain_nameIN SOA fqdn(主dns服务器名称) (

serial number(数据库版本号,有改变自动加1)

refresh time(刷新时间

retry time(重试时间)

expire time(失效时间)

ttl for nagative answer (否定回答的ttl

)

3,区域类型:

(1)hint:启始域,或线索域,存放全球的13台根节点,如果定义了转发就可以不用定义。

(2)master:主dns区域

(3)slave:从dns区域

(4)forward:转发区域

实验环境:redhat 5.8

二,实验步骤:

安装bind,这里安装bind97,所以卸载本机自带的

#rpm -e bind-libs bind-utils

#yum -y install bind97 bind97-libs bind97-utils

(1)在主DNS编辑/etc/named.conf(如果没有可以自己新建),并修改权限为640,属组为named,主要为了安全性。

在/var/named的目录下,依次新建以下几个文件:localhost.zone,127.0.0.zone,name.ca安装软件时已经提供了,如果没提供也可以自己建立。

# vim /etc/localhost.zone

$TTL 600

@ IN SOA localhost. admin.localhost. (

2013101401

1H

30M

7D

3H )

IN NS localhost.

IN A 127.0.0.1

127.0.0.zone的内容,只是将NS记录写PTR的格式。

# cp /etc/localhost.zone /etc/127.0.0.zone

(2)下面介绍两个命令测试配置文件跟区域文件的语法有没有

  • named-checkconf 检查/etc/named.conf语法有没有错误,详细用法man下。

# named-checkconf /etc/named.conf

  • named-checkzone 检查区域文件有没有错误,但是不能检查逻辑错误

# named-checkzone localhost /etc/localhost.zone

zone localhost/IN: loaded serial 2013101401

OK

(3)启动named服务,测试是否正常

修改/etc/resolv.conf为自己的DNS服务器,如果不修改在测试时需要指定用哪个服务来解析

正向解析

反向解析

(3)用rndc控制DNS

将密钥的前面的注释符号去掉

此时可以用rndc来控制dns服务,检查bind是否正常运行,先重启named 服务

(4)下面建立自己的区域

在/etc/named.conf中建立

在/var/named目录,建立正反向区域所对应的文件

正向区域文件

反向区域文件

此时已增加两个区域,修改权限与属组,用rndc reconfig重新载入配置文件,用dig命令测试能否正常解析。

下面测试区域能否正常传送

上面表示能够正常传送,也可以用host -l 测试

(5)在上面的区域中我定义了两个ns记录,一个为从服务器,现在配置从服务器,前面的步骤都一样,把这些文件从主服务复制到从服务器,省去再次建立的麻烦。named.conf,localhost.zone,127.0.0.zone,bingo.com.zone,192.168.0.zone,用scp命令,这些文件复制过来可以先测试named服务能否正常运行。只是在从服务器上的named.conf需要做如下修改,注意rndc的密钥需要重新生成。

查看/var/log/messages下的日志有没有成功从主服务器把文件复制过来,注意是自动复制,不是手动

(6)在主服务器上添加一条记录测试是否正常:

添加完后,用rndc reload重新载入配置文件,先可以在主服务器测试能否正常解析dig -t A web.bingo.com。然后在从服务器观察有没有添加成功

(7)限制区域传送,只允许从服务器传送。在主服务器添加一条记录

在从服务器测试能否传送成功dig -t axfr bingo.com @192.168.0.130

本文转自 小罗ge11 51CTO博客,原文链接:http://blog.51cto.com/xiaoluoge/1555221,如需转载请自行联系原作者

DNS区域主从复制。。相关推荐

  1. Linux 基础知识(十)DNS服务器主从复制,子域授权

    DNS域名系统是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS使用TCP和UDP端口53 DNS服务器主从复制,子域授权 主服务器:10.120 ...

  2. DNS区域传送、子域授权

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

  3. DNS区域文件(Zone file)的serial数值命名规则

    DNS区域文件(Zone file)的serial命名规则需要按照官方提供的文档命名,主要有2点需要注意. 1.命名时,Master DNS的Serial数值必须大于Slave DNS的,且全必须是数 ...

  4. 重建DC的DNS区域

    重建DC的DNS区域 当您的DNS服务器出了问题时,或某些区域被误删除时,如何在DC上重建DNS区域呢?1 r" \3 X2 V! w0 f7 y+ O 现在,您有福音了,来看看吧! 环境描 ...

  5. DNS服务器的默认区域文件名,DNS服务器全攻略之三 :创建与管理DNS区域.doc

    文档介绍: DNS服务器全攻略之三:创建与管理DNS区域 DNS区域分为两大类:正向查找区域和反向查找区域,其中 正向查找区域用于FQDN到IP地址的映射,当DNS客户端请求解析某个FQDN时,DNS ...

  6. dns 服务器无法从应用程序目录分区,DNS 区域不随事件 4000 和 4007 一起加载 - Windows Server | Microsoft Docs...

    DNS 区域不加载,并且记录事件 ID 4000 和 4007 09/08/2020 本文内容 本文解决了 DNS 区域未在 DNS 控制台上加载时记录事件 ID 4000 和 4007 的问题. 适 ...

  7. 关于DNS区域查询,DNS字典爆破,以及查询文件问题

    在查询DNS区域传输中所有的主机信息时候,使用dig中的axfr全区域查询或者使用host命令查询的效果是一样的,但是大部分的DNS服务器设置都比较健全,不会轻易将DNS主机记录反馈给我们,这时候可以 ...

  8. 批量网站DNS区域传送漏洞检测——bash shell实现

    燕云 · 2014/05/21 12:18 0x00 背景 下面图中的eecs.cc为笔者自建的一台具有私有根的DNS服务器,且对外开放了区域传送权限,故有结果:cc区域传送成功.该图只是一个实验验证 ...

  9. DNS服务系列之二:DNS区域传送漏洞的安全案例

    DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库.这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因 ...

最新文章

  1. 2010年的退休畅想
  2. Nature:科研PUA太严重,过半博士后打算逃离
  3. 揭秘企业级web负载均衡完美架构
  4. 人人都能做游戏!3D次世代CE云端引擎发布
  5. Android 基础—— 对Context的理解与使用技巧
  6. FF:与吉利控股的合作取得实质性进展 双方技术团队正紧密对接
  7. Linux中的用户切换:su和su - 的区别
  8. jna调取第三方dll实战(罗技G29)
  9. python中math isnan_带有Python示例的math.isnan()方法
  10. 化学实用计算机技能,实用化学化工计算机软件基础
  11. 手写curry函数,实现函数柯里化
  12. 银行数字化转型导师坚鹏:农商行数字化转型案例研究
  13. 湖人控卫鲍尔左脚踝三级扭伤 预计缺席4-6周
  14. Linux远程控制音乐播放,总结一下linux远程控制方法
  15. FLEAPHP框架的文件缓存系统
  16. 【Druid】Druid连接池(二)——配置监控界面
  17. 一般迭代法(一)| 原理公式 + 迭代法的收敛性
  18. 修改和重新封装了一个GHOST XP
  19. 成都百知教育跨境电商告诉你什么是海关数据,如何使用海关数据
  20. 大数据周会-本周学习内容总结016

热门文章

  1. 挑战马斯克的Neuralink,另一家神秘的「脑机接口」公司已获投资
  2. 做了几道Linux笔试题1
  3. JAVA实现包含main函数的栈问题(《剑指offer》)
  4. 博士在读却连矩阵的秩都搞不清,我该如何毕业?|Reddit热议
  5. 华为开源自研AI框架MindSpore!自动微分、并行加持,一次训练,可多场景部署...
  6. Fiddler (三) Composer创建和发送HTTP Request
  7. 说一说MVC的CSRF(三)
  8. bcftools合并vcf文件
  9. RHEL 5基础篇—了解系统的引导过程
  10. Docker多容器连接-以Nginx+PHP为例