使用bind部署dns子域名服务器
需求
拟把由阿里云dns解析管理的二级域名yiezi.ml下的三级域名a.yiezi.ml交由自建dns服务器管理,验证dns服务器授权机制。
dns迭代查询原理
域名是树状结构,所有域名由根域名服务器负责管理,各个国家拥有自己的顶级域名服务器。通过递归加迭代的方式完成整个域名查询过程。
查询步骤
- 主机拿到应用程序请求域名后,查询本地是否由该域名的dns缓存,有则返回,如果没有执行步骤二
- 主机请求本地域名解析服务器(通常是网关),本地域名服务器查询是否缓存该域名。
- 如果没有则请求根域名服务器,根域名服务器告诉本地域名服务器,该域名的顶级域名应该在IP地址为的xxx的顶级域名服务器处查询
- 本地域名服务器,继续请求顶级域名服务器,顶级域名服务器告诉本地域名解析服务器,该域名的二级域名应该在IP地址为的xxx二级域名服务器处查询。
- 本地域名服务器,继续请求二级域名解析服务器,二级域名解析服务器发现该数据库内有该域名的A记录,便把请求结果返回给本地域名服务器
- 本地域名服务器再把此结果返回给主机
需求解决思路
- 在阿里云二级域名服务器上添加一条ns记录,主记录a.yiezi.ml指向ns.yiezi.ml域名
- 在阿里云二级域名服务器上添加一条A记录,主记录ns.yiezi.ml指向自建的dns服务器
- 在自建dns服务器上,添加a.yiezi.ml 及其子域名的正向解析记录,用来验证是否生效。 注:ns记录作用就是把该子域名的解析权限下放给指定dns域名解析服务器。
实验步骤
一. bind 软件安装
- yum install bind -y
- rpm -qc bind(查看该软件的配置文件清单)
二. bind 配置文件配置
- 编辑主配置文件 vim /etc/named.conf
绑定所有ip地址,允许任意ip地址的主机访问本服务
- 编辑区域配置文件 添加xxx区域
vim /etc/named.rfc1912.zones
添加test.a.yiezi.ml 区域配置文件,区域配置文件名称为域名+ “zone”
- 编辑区域数据配置文件
cp -p named.localhost benet.com.zone 创建模板
设置该区域域名解析频率等配置项,添加A记录
-
启动服务
命令:systemctl start named.service
三. yiezi.ml 域名的dns解析服务器上添加ns记录(修改a.yiezi.ml授权的nameserver服务器)
- a.yiezi.ml 子域名的解析权限指向ns.yiezi.ml 域名
- ns.yiezi.ml 域名指向自定义dns域名服务器ip
四. 自定义dns服务器上test.a.yiezi.ml添加A记录,指向个人博客服务器。
test.a.yiezi.ml 域名指向34.96.233.218 我的个人博客ip
五. 测试test.a.yiezi.ml域名
成功解析