bind搭建DNS服务构建依赖域名的测试环境

     背景:在很多时候,有没有经常遇到过,线上部署的系统依赖二级或三级域名,而测试环境又因没有多的域名而无法真实的进行测试,最终线上出现各种有关域名配置的错误导致不可用,为了解决此问题而又不需重新申请测试域名,以下使用bind搭建DNS服务器(Linux)来解决此问题。

     介绍:DNS域名解析服务(DomainNameSystem)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析:

正向解析:根据主机名(域名)查找对应的IP地址。

反向解析:根据IP地址查找对应的主机名(域名)。

工作形式上又分主服务器、从服务器和缓存服务器。

  主服务器:在特定区域内具有唯一性、负责维护该区域内的域名与IP地址对应关系。

  从服务器:从主服务器中获得域名与IP地址对应关系并维护,以防主服务器宕机等情况。

  缓存服务器:通过向其他域名解析服务器查询获得域名与IP地址对应关系,提高重复查询时的效率

bind搭建DNS服务构建依赖域名的测试环境_第1张图片

首先准备一台linux服务器(192.168.0.85)作为dns服务主机,同时需放开防火墙对公网的udp/53端口。

step1(安装bind):

[root@vm20702 ~]# yum install -y bind bind-chroot bind-utils

step2(主配置文件):

[root@vm20702 ~]# vim /etc/named.conf

bind搭建DNS服务构建依赖域名的测试环境_第2张图片

step3(配置zone,新增一个域名映射):

正向解析的作用是根据主机名(域名)查找到对应的IP地址,区域文件中已有一些默认信息,可不必理会,直接在下面追加即可。

[root@vm20702 named]# vim /etc/named.rfc1912.zones

zone"music.com" IN {

        type master;

        file"music.com.zone";

        allow-update { none; };

};

step4(配置具体域名-IP解析信息):

可直接复制正向解析模板文件:"/var/named/named.localhost",填写信息后即可直接使用。

[root@vm20702 named]# cp /var/named/named.localhost /var/named/music.com.zone

[root@vm20702 named]# vi /var/named/music.com.zone

检查之前先看下 配置文件有没有读取权限 ll /var/named (如果没有读取权限, chmod +r /var/named/* 即可,非常重要)

[root@vm20702 named]#  chmod +r /var/named/*

$TTL 1D

@      IN SOA  @ rname.invalid. (

                                        0      ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      @

        A      120.79.x.x

        AAAA    ::1

portal     IN A    120.79.x.x

step5(重启named服务让配置文件立即生效):

[root@vm20702 named]# systemctl restart named

默认日志查看

[root@vm20702 named]# tail -f /var/named/data/named.run

step6(检验解析结果):

将本机的DNS设置为本机的IP 192.168.0.85

[root@vm20702 named]# cat/etc/resolv.conf

# Generated by NetworkManager

nameserver 192.168.0.85

nameserver 192.168.0.85

options timeout:2 attempts:3 rotate single-request-reopen

使用nslookup命令用于检测能否从网络DNS服务器中查询到域名与IP地址的解析记录,检测named服务的解析能否成功,此为查询DNS服务器的信息:

[root@Centos named]# nslookup

> ems.music.com

Server:        192.168.0.85

Address:    192.168.0.85#53

Non-authoritative answer:

Name:  ems.music.com

Address: 120.77.x.x

至此,DNS服务器就已搭建成功。

step7(在windows下配置此dns服务器用于测试环境模拟线上域名调试):

bind搭建DNS服务构建依赖域名的测试环境_第3张图片
bind搭建DNS服务构建依赖域名的测试环境_第4张图片

然后打开cmd, ping ems.music.com 查看响应ip就是 120.77.x.x 这个ip,至此所有操作成功完成。

参考文献1

参考文献2

你可能感兴趣的:(bind搭建DNS服务构建依赖域名的测试环境)