It's our wits that make us men.

使用bind部署dns子域名服务器

Posted on By eatMelon-Masses

使用bind部署dns子域名服务器

需求

拟把由阿里云dns解析管理的二级域名yiezi.ml下的三级域名a.yiezi.ml交由自建dns服务器管理,验证dns服务器授权机制。

dns迭代查询原理

域名是树状结构,所有域名由根域名服务器负责管理,各个国家拥有自己的顶级域名服务器。通过递归加迭代的方式完成整个域名查询过程。

recursiveQuery

查询步骤

  1. 主机拿到应用程序请求域名后,查询本地是否由该域名的dns缓存,有则返回,如果没有执行步骤二
  2. 主机请求本地域名解析服务器(通常是网关),本地域名服务器查询是否缓存该域名。
  3. 如果没有则请求根域名服务器,根域名服务器告诉本地域名服务器,该域名的顶级域名应该在IP地址为的xxx的顶级域名服务器处查询
  4. 本地域名服务器,继续请求顶级域名服务器,顶级域名服务器告诉本地域名解析服务器,该域名的二级域名应该在IP地址为的xxx二级域名服务器处查询。
  5. 本地域名服务器,继续请求二级域名解析服务器,二级域名解析服务器发现该数据库内有该域名的A记录,便把请求结果返回给本地域名服务器
  6. 本地域名服务器再把此结果返回给主机

需求解决思路

  1. 在阿里云二级域名服务器上添加一条ns记录,主记录a.yiezi.ml指向ns.yiezi.ml域名
  2. 在阿里云二级域名服务器上添加一条A记录,主记录ns.yiezi.ml指向自建的dns服务器
  3. 在自建dns服务器上,添加a.yiezi.ml 及其子域名的正向解析记录,用来验证是否生效。 注:ns记录作用就是把该子域名的解析权限下放给指定dns域名解析服务器。

实验步骤

一. bind 软件安装

  1. yum install bind -y
  2. rpm -qc bind(查看该软件的配置文件清单)

二. bind 配置文件配置

  1. 编辑主配置文件 vim /etc/named.conf

namedconf

绑定所有ip地址,允许任意ip地址的主机访问本服务
  1. 编辑区域配置文件 添加xxx区域

rfczone

vim /etc/named.rfc1912.zones 
添加test.a.yiezi.ml 区域配置文件,区域配置文件名称为域名+ “zone”
  1. 编辑区域数据配置文件

test.a.yiezi.ml

cp -p named.localhost benet.com.zone 创建模板
设置该区域域名解析频率等配置项,添加A记录
  1. 启动服务

    命令:systemctl start named.service

三. yiezi.ml 域名的dns解析服务器上添加ns记录(修改a.yiezi.ml授权的nameserver服务器)

  1. a.yiezi.ml 子域名的解析权限指向ns.yiezi.ml 域名

ns记录

  1. ns.yiezi.ml 域名指向自定义dns域名服务器ip

a记录

四. 自定义dns服务器上test.a.yiezi.ml添加A记录,指向个人博客服务器。

test.a.yiezi.ml 域名指向34.96.233.218 我的个人博客ip

test.a.yiezi.ml

五. 测试test.a.yiezi.ml域名

成功解析

blog.website