实验环境

三台centos7虚拟机,一台ip为192.168.52.130,一台为192.168.52.131,最后一台为192.168.52.132

安装bind

使用yum -y insall bind bind-libs bind-utils来安装bind

使用rpm -ql bind来查询bind的生成了哪些工具,比如dig等等

备份文件

之后的文件,比如/etc/named.conf等等,都是安装bind的之后有的,建议在实验前,使用mv 文件 文件.backup备份一下,等学习完后,在去看看默认文件是怎么样的

另外bind的sample配置文件在/usr/share/doc/bind-*/sample下,可以进行参考

配置bind

单台dns服务器

操作包含3个文件

/etc/named.conf # 整个dns服务器配置

/etc/named.rfc1912.zones # 上面的文件通过include命令导入此文件,bind的sample里面注释写着这个文件包含的zone应该包含所有localhost名称和地址的定义,如RFC1912中所建议的那样,并且不应该泄漏给别的nameserver(这只是一个规范,不是强制要求)

/var/named/test.com.zone # 具体某个zone的配置,后面详细说明

使用单台虚拟机ip为192.168.52.130

配置文件

/etc/named.conf

options{directory "/var/named"; # 指定之后单独zone文件的路径
};# 所有这个文件都有这样的配置,好像是root域的配置
zone "." IN {type hint;file "named.ca";
};include "/etc/named.rfc1912.zones"; # 符合rfc要求的一类zone
include "/etc/named.root.key"; # 暂不清楚,应该和加密相关

/etc/named.rfc1912.zones

zone "test.com" IN {type master; # 主从设置,如果是从(slave),还要设置字段mastersfile "test.com.zone";
};

/var/named/test.com.zone

该文件和前面2个不一样,使用;为注释,前面2个可以#///**/

$TTL 600 ;全局ttl设定
; 配置soa,必须要有一个,且要在开头,@表示当前域,也就是test.com,IN表示internet,soa为类型,test.com.暂不确定,好像是该域的ns的名称,root.qq.com为管理者邮箱,第一个.表示@,因为和当前域@重复,所以写成.
@   IN  SOA test.com.   root.qq.com(1811201955 ; 序列号,在主从中有作用(serial)1H ; 刷新时间(refresh)5M ; 重试时间(retry)1W ; 超时时间(expire)10M) ; 否定答案缓存时间(minimum),以上中文来源于网络,英文来源于文档注释,单位不确定什么意思,比如那个w; 配置ns服务,至少要有一个,且必须配套要有ns的a记录IN  NS  ns1
ns1 IN  A   192.168.52.130; 上面的写法可以这样,补全后缀,注意要加.,选择一个就好
;    IN NS  ns1.test.com.
; ns1   IN  A   192.168.52.130; @表示当前域,即test.com,第二行名称为空,表示同上,即还有一个test.com,ip为2.2.2.2
@   IN  A   1.1.1.1IN  A   2.2.2.2; 表示www.test.com的ip为3.3.3.3
www IN  A   3.3.3.3; 通配符,都指向255.255.255.255
*   IN  A   255.255.255.255

使用指令进行检测语法错对

named-checkconf检测conf文件,自然也会检查include进去的文件

named-checkzone "test.com" /var/named/test.com.zone检测zone文件

启动dns

service named start启动服务,其实就是systemctl start named.service

service named stop关闭服务

rndc reload用于在不关闭服务的情况下,更新配置,但是这个配置在配置文件有错误的情况下,也是显示更新成功,但是不会生效,使用要注意(todo)

检查

使用host -t a www.test.com 192.168.52.130来测试,如果没错,按照设置会输出1.1.1.12.2.2.2

两台服务器测试主从同步设置

主从服务器以zone为粒度,也就是这里这里的主从是相对于zone来说的,一个主服务器在这个zone里是主,在另一个就可能是从了

就只操作test.com为例,进行操作,

test.com的主服务器IP为192.168.52.130

test.com的从服务器ip为192.168.52.131

操作的文件

主:

修改/var/named/test.com.zone

从:

新增/etc/named.conf

新增/etc/named.rfc1912.zones

/var/named/slaves/test.com.zone(这个文件不用新建,bind在同步过程中,自动生成)

配置文件

主服务器/var/named/test.com.zone

$TTL 600
@   IN  SOA test.com.   root.qq.com(1811201955 1H5M1W 10M)IN  NS  ns1
;新增ns记录,注意新增的名称为空,即为默认的test.com.IN  NS  nsSlave
;新增对应的a记录
nsSlave IN  NS  192.168.52.131ns1 IN  A   192.168.52.130
@   IN  A   1.1.1.1IN  A   2.2.2.2
www IN  A   3.3.3.3
*   IN  A   255.255.255.255

从服务器/etc/named.conf

options{directory "/var/named";
};zone "." IN {type hint;file "named.ca";
};include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

从服务器/etc/named.rfc1912.zones

zone "test.com" IN {type slave; # 这里为slavemasters {192.168.52.130;}; # 这里注意加s和;masterfile-format text; # 默认生成的zone文件是乱码的,加上这个设置,输出就不会乱码了file "slaves/test.com.zone"; # 同步文件的路径
};

启动服务

在检查完配置文件的准确性后,分别启动主和备服务器,可以看到从服务器在/var/named/下生成了zone文件

使用host -t a www.test.com 196.128.52.131,如果没错误,在主从服务器下都会输出1.1.1.12.2.2.2

防火墙

使用centos7默认防火墙开启,只有22端口是开放的,如果在非本机测试,要开启端口53,这里我直接关闭了防火墙,使用systemctl stop firewalld

测试增量传送

修改主服务器的/var/named/test.com.zone文件,来进行增量修改

$TTL 600
@   IN  SOA test.com.   root.qq.com(1811201955 1H5M1W 10M)IN  NS  ns1;新增ns记录,注意新增的名称为空,即为默认的test.com.IN  NS  nsSlave
;新增对应的a记录
nsSlave IN  NS  192.168.52.131ns1 IN  A   192.168.52.130
@   IN  A   1.1.1.1IN  A   2.2.2.2
www IN  A   3.3.3.3; 增量传送
; 新增一个,放在通配符前面,同时修改序列号为1811202031,使用rndc reload在不用关闭服务器服务下来更新配置
hello IN A 4.4.4.4*   IN  A   255.255.255.255

在新增域名和更新序列号后,更新配置,可以看到从服务器的配置文件也会很快更新

测试

再次使用之前的命令host -t a hello.test.com 196.128.52.130host -t a hello.test.com 196.128.52.131进行测试,应该都会输出一样的4.4.4.4

两台服务器进行子域授权

将一台dns服务器的子域授权给另一台dns服务器管理

以sub.test.com为例

父dns服务器为192.168.52.130

子dns服务器为192.168.52.132

配置文件

修改父dns的/var/named/sub.test.com.zone

新增子dns的/etc/named.conf

新增子dns的/etc/named.rfc1912.zones

新增子dns的/var/named/sub.test.com.zone

配置文件

父dns的/var/named/test.com.zone

$TTL 600
@   IN  SOA test.com.   root.qq.com(1811201955 1H5M1W 10M)IN  NS  ns1IN  NS  nsSlave; 添加新的ns记录,第一个代表要授权的子域
sub IN  NS  nsSub
; 为ns记录设置a记录,指向子dns服务器
nsSub   IN  A   192.168.52.132nsSlave IN  NS  192.168.52.131
ns1 IN  A   192.168.52.130
@   IN  A   1.1.1.1IN  A   2.2.2.2
www IN  A   3.3.3.3
hello IN A 4.4.4.4
*   IN  A   255.255.255.255

子dns的/etc/named.conf

options{directory "/var/named";
};zone "." IN {type hint;file "named.ca";
};include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

子dns的/etc/named.rfc1912.zones

zone "sub.test.com" IN {type master;file "sub.test.com.zone";
};

子dns的/var/named/sub.test.com.zone

$TTL 600
@   IN  SOA sub.test.com.   root.qq.com(18112010311H 5M 1W 10M) IN  NS  ns1
ns1 IN  A   192.168.52.130
@   IN  A   11.11.11.11
hello   IN  A   22.22.22.22

测试

在检查后配置文件没有错误后,对父dns输入rndc reload重新装载配置,对子dns输入service named start启动服务

host -t A sub.test.com 192.168.52.130host -t A sub.test.com 192.168.52.132进行测试,如果配置没有出错,输出11.11.11.11

参考文档

配置:http://blog.51cto.com/anyisalin/1753638

配置:http://cn.linux.vbird.org/linux_server/0350dns_3.php

记录类型:http://www.178linux.com/67851

乱码解决:https://yq.aliyun.com/articles/507346

官方文档:https://bind.isc.org/doc/arm/9.13/Bv9ARM.html

待完成

1.view的使用

2.主从的原理,是主提醒,还是从去取

3.文档的一些阅读,比如序列号的范围,比如序列号自动策略

转载于:https://www.cnblogs.com/faberry/p/9995931.html

dns bind配置教程相关推荐

  1. DNS知识及域名解析内容深入浅出超详细总结附DNS配置教程

    目录 一.互联网为什么要使用域名 二.DNS解析 1. 域名系统DNS (Domain Name System,DNS) 2. DNS解析 3.DNS的作用 三.DNS服务 1.企业中的DNS服务 2 ...

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

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

  3. CentOS7.6域名服务器配置(一)使用Bind配置主从DNS服务器

    CentOS7.6 使用Bind配置主从DNS服务器 一.环境信息说明 1.1 实现场景 配置实现在一个服务器上配置多域名解析(多区域文件) 配置域名反向解析(这个如果不配置邮件服务器,则不是很重要, ...

  4. DNS BIND之dnssec安全实例配置-根节点

    上一节我们对dnssec有了一定的认识,下面我们通过实例来说明尝试一下dnssec的配置.关于bind的安装参考:DNS BIND安装测试 环境如下: 递归解析服务器:192.168.13.45 权威 ...

  5. Kali Linux常用服务配置教程安装及配置DHCP服务

    Kali Linux常用服务配置教程安装及配置DHCP服务 在Kali Linux中,默认没有安装DHCP服务.下面将介绍安装并配置DHCP服务的方法. 1.安装DHCP服务 在Kali Linux中 ...

  6. web service方法进行全文检索_SpringMVC(Web应用)配置教程终章项目实战

    建立数据源本章是SpringMVC(Web应用)配置教程系列的最后一章了,感谢大家一路陪伴,一起成长.这篇文章较长,建议先收藏再看,这一章将链接之前所有的部分,之前没有看过的也可以在这篇中学习.项目实 ...

  7. MySQL 免安装版的下载与配置教程

    MySQL 免安装版的下载与配置教程 MySQL 的下载安装 附录 其它 MySQL 命令 查看本 MySQL 数据存放目录 此博客存在上一个版本,如果读者对笔者以前版本的博客依然感兴趣,可以访问此链 ...

  8. Linux-DNS服务-BIND配置

    DNS服务器类型: 主DNS服务器:负责解析本地客户端请求 辅助DNS服务器:辅助服务器的区域数据都是从主服务器复制而来,其数据都是只读的 缓存服务器:不负责解析,仅为加速,不需要注册 bind详解: ...

  9. bind dlz mysql rpm_智能DNS --BIND DLZ+MYSQL

    智能DNS --BIND DLZ+MYSQL 一.概念介绍: 1.智能DNS: 智能DNS就是根据用户的来路,自动智能化判断来路IP返回给用户,而不需要用户进行选择. 智能DNS与普通DNS区别: 普 ...

最新文章

  1. Docker初学3:Docker的常用命令
  2. jinchuang正文 nginx配置limit_conn_zone来限制并发连接数以及下载带宽
  3. 使用py2exe打包python脚本为exe可执行程序
  4. html新增了哪些功能,HTML5相比HTML新增了哪些功能?
  5. Android新建项目选择SDK的区别
  6. 安装OpenResty(Nginx+Lua)开发环境
  7. CSS3笔记之基础篇(三)文字与字体
  8. mysql concat 引号_在MySQL concat里面使用多个单引号,三引号的问题
  9. 汇总:MySQL 8.0 运维便捷命令
  10. java时间格式转换_Java时间日期格式转换
  11. python遇到的问题
  12. perl DBI 总结
  13. python 运行时 变量_在运行时在python中检索变量的名称?
  14. python模块heapq之简单学习使用
  15. EDA技术实用教程 | 复习八 | 多位加法器的行为级描述
  16. 图片放大镜 jQuery插件
  17. 已解决:“apktool” W: invalid resource directory name:XXX\res navigation
  18. 域管理员与本地管理员密码破解
  19. 日语中单词后面1,2,3,4,5是什么意思
  20. python对excel操作简书_Python-Excel操作

热门文章

  1. 英语 面包为什么不可数?
  2. 感知哈希算法(Perceptual hash algorithm)的OpenCV实现
  3. LeetCode--265. 粉刷房子Ⅱ(动态规划)
  4. 车牌识别EasyPR(5)——文字定位
  5. php mysql 框架_YCKIT-一个基于PHP+MYSQL架构下的敏捷开发框架
  6. Snabbdom(虚拟dom-h函数)
  7. pymongo查询列表元素_Python数据类型之列表list
  8. springboot application.properties server.port配置小问题
  9. SpringDataRedis的简单案例使用
  10. No.3 - CSS transition 和 CSS transform 配合制作动画