科百科
当前位置: 首页 范文大全

自建域名dns解析服务器(如何搭建自己的DNS域名解析服务器)

时间:2023-08-16 作者: 小编 阅读量: 3 栏目名: 范文大全

最近有粉丝私信我,很多做技术开发的工程师在开发某个程序时,或者测试人员在做程序测试时,经常需要测试DNS域名解析,那么今天就为大家介绍一下如何搭建自己的DNS域名解析服务器。本文也以此软件来介绍DNS服务。BIND支持先今绝大多数的操作系统。BIND服务的名称称之为named。未授权前:授权:4、启动bind服务,servicenamedstart,在存放zone文件夹(/var/

最近有粉丝私信我,很多做技术开发的工程师在开发某个程序时,或者测试人员在做程序测试时,经常需要测试DNS域名解析,那么今天就为大家介绍一下如何搭建自己的DNS域名解析服务器。

如果你对DNS域名解析原理还不够了解,建议你首先去阅读一下我上篇关于DNS基本概念的讲解文章《DNS域名解决原理你真的了解吗?》

现在我们进入主题,Linux上搭建DNS服务的软件有bind9、NSD(Name server domain)和unbound,其中bind9是市场占有率最高的软件。本文也以此软件来介绍DNS服务。bind实现DNS的最佳最详细说明文档是"DNS & BIND"和"Bind97 Manual",网上都有中文版本的资源,推荐大家可以去读一读。

一、BIND简介

现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet Systems Consortium)编写和维护。

BIND支持先今绝大多数的操作系统(Linux,UNIX,Mac,Windows)。

BIND服务的名称称之为named。

DNS默认使用UDP、TCP协议,使用端口为53(domain),953(mdc,远程控制使用)。

二、BIND安装

本例使用的环境是CentOS 7.0的Linux操作系统(非CentOS 7.0系统,安装会有所区别),所以直接采用命令: 

yum install -y bind bind-chroot bind-utils

其中bind-chroot和bind-utils是bind的相关包。

二、BIND配置

1、BIND配置文件保存在两个位置: 

/etc/named.conf- BIND服务主配置文件/var/named/- zone文件(域的dns信息)

如果安装了bind-chroot(其中chroot是 change root 的缩写),BIND会被封装到一个伪根目录内,配置文件的位置变为: 

/var/named/chroot/etc/named.conf- BIND服务主配置文件/var/named/chroot/var/named/- zone文件 

 chroot是通过相关文件封装在一个伪根目录内,已达到安全防护的目的,一旦程序被攻破,将只能访问伪根目录内的内容,而不是真实的根目录。

2、BIND安装好之后不会有预制的配置文件,但是在BIND的文档文件夹内(/usr/share/doc/bind-9.9.4),BIND为我们提供了配置文件模板,我们可以直接拷贝过来: 

cp -r /usr/share/doc/bind-9.9.4/sample/etc/* /var/named/chroot/etc/ cp -r /usr/share/doc/bind-9.9.4/sample/var/* /var/named/chroot/var/

3、配置BIND服务的主配置文件(/var/named/chroot/etc/named.conf),命令:

vim/var/named/chroot/etc/named.conf;

内容很多使用简单配置,删除文件中logging以下的全部内容,以及option中的部分内容,得到如下配置:

/*Sample named.conf BIND DNS server 'named' configuration filefor the Red Hat BIND distribution.See the BIND Administrator's Reference Manual (ARM) for details about the configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html*/options{// Put files that named is allowed to write in the data/ directory:directory"/var/named"; // "Working" directory//listen-on port 53{ any; };listen-on port 53{ 127.0.0.1; };//listen-on-v6 port 53{ any; };listen-on-v6 port 53{ ::1; }; };

4、在主配置文件(/var/named/chroot/etc/named.conf )中加入,zone参数:

 5、新建example.net.zone文件,example.net的域名解析文件,zone文件放在/var/named/chroot/var/named/下,zone文件可以以/var/named/chroot/var/named/named.localhost为模板。命令:

cp /var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/example.net.zone

文件example.net.zone的内容如下:

6、禁用bind默认方式启动,改用bind-chroot方式启动。命令如下:

[root@iZ2806l73p6Z named]# /usr/libexec/setup-named-chroot.sh /var/named/chroot on[root@iZ2806l73p6Z named]# systemctl stop named[root@iZ2806l73p6Z named]# systemctl disable named[root@iZ2806l73p6Z named]# systemctl start named-chroot[root@iZ2806l73p6Z named]# systemctl enable named-chroot[root@iZ2806l73p6Z named]#

图:

注意:如果是CentOS 6.5的系统,这个步骤回有所区别,直接使用默认的service named start 启动服务,bind就直接运行在chroot包中,如下图:

7、查看是否启动,命令:

ps -ef|grep named

 8、测试DNS服务,本例在本机上测试,也可在其他电脑上测试,修改DNS服务的ip地址即可(命令:vim /etc/resolv.conf ),然后使用命令dig(命令:dig www.example.net)测试。

内容如下:

测试结果:

注:非本机测试需要修改主配置文件named.conf,允许任何ip访问,然后重启服务器。

三、BIND从服务器

从服务器就是在bind的主配置文件中添加从域example.net的配置信息即可:

1、配置文件位置

/var/named/chroot/etc/named.conf

2、在主配置文件中添加一行域的zone定义:

zone "example.net" {type slave;masters { 120.27.99.64; };file "slaves/example.net.zone";

 3、由于bind是以named用户来运行的,所以要给存放zone文件的文件夹(/var/named/chroot/var/named/slaves)授权。未授权前:

授权:

4、启动bind服务,service named start,在存放zone文件夹(/var/named/chroot/var/named/slaves)中查看,已经把example.net.zone文件下下来了。

5、修改DNS服务器ip地址,测试dig www.example.net。

四、缓存服务器及转发服务器

一个DNS服务器可以即不是某个域的master服务器,也不是某个域的slave服务器,一个服务器可以不包含任务域的配置信息,它将接手到所有DNS查询进行递归解析,将解析结果返回给查询客户端,并且将查询结果缓存下来,这样的DNS服务器称之为caching name server。

通常一个局域网中配置缓存服务器是为了加速网络访问。

也可以为缓存服务器配置一个上游DNS服务器地址,缓存服务器可以给客户提供一个上游DNS服务器的地址,我们可以通过 以下设置完成:

在主配置文件中的option中加入:

forwarders { 192.168.0.168;};

还可以通过一下选项让服务器转发所有DNS查询到forwarders服务器:

在主配置文件中的option中加入:

forward only;

到此DNS域名解析搭建教程结束,你学会了吗?

如果你喜欢本文章,请帮忙关注、转发、点赞,本人将定期更新一些技术“干货”分享给大家,希望能帮助大家解决工作中的一些问题,谢谢!

下期预告:

《如何开发自己的DNS服务系统》

    推荐阅读
  • 火影忍者战力值(浅析火影忍者战力金字塔)

    抬手间毁天灭地,代表人物是千手柱间。被称为“忍者之神”其完美仙术加上木遁连生前的宇智波斑都能打败,而且还有大筒木一族的血脉“仙人体”,战斗续航能力吓人可以说是完美的忍者了。

  • 小长颈鹿遇袭(泰国6米长颈鹿运送途中落跑)

    之后动物园相关人员和当地警方开始对周边进行了地毯式搜索,他们很担心这只长颈鹿,因为它很有可能受到其他野生动物的攻击,比如当地从来没见过它们的大象。经过两天的搜索,他们终于发现了这只落跑的长颈鹿,但是很不幸,它已经死在了森林中的沼泽里,目前它的死因尚不明确。

  • 苏伊士运河堵塞对哪国影响最大(苏伊士运河世纪大堵船)

    当地时间3月29日,搁浅在苏伊士运河中的重型货船已成功起浮,船身方向明显修正。其实并不会,反而国内油价近日可能迎来年内首次下降。国内油价每10个工作日调整一次,本轮调价窗口为3月31日24时。国内多家纸企日前宣布将涨价。近日,随着苏伊士运河搁浅巨型货轮的救援工作救援工作持续进行,为巨轮船头挖掘泥沙的挖掘机逐渐在互联网上走红。有分析指出,苏伊士运河事件对中国影响最大的,应该是集装箱运费或大幅上涨。

  • 御龙在天手游怎样快速升战力(御龙在天手游怎么卡经验)

    小伙伴们在玩御龙在天游戏的时候肯定都想着一定要多多参加活动,这样才可以赚取经验,然后快快升级。但是御龙在天手游后期的升级会越来越慢,不仅仅是经验值需求越来越大,还有就是等级封印的时候经验只有一半。目前看来玩家在御龙在天手游中等级要是达到70级就已经达到封印开启条件了,当开启封印时,玩家之后积聚的经验就会减少,等等破封印之后情况就会变好了。

  • 咖喱鸭肉的做法和配方(制作咖喱鸭肉的方法)

    咖喱鸭肉的做法和配方?配料:油适量、盐适量、咖喱50g、胡萝卜200g。准备好一根胡萝卜,一个洋葱,一小块鸭胸肉,还有咖喱。先把鸭胸肉用少许料酒、生抽和生粉腌制起来。这时候就可以放入准备好的咖喱块了,等到滚开后换成小火慢慢熬制。熬到汤汁快收干了,胡萝卜变软时,放入事先腌好的鸭丁,快速的翻炒一会,根据自己的口味加入盐和鸭精。香喷喷的咖喱鸭肉出锅了。

  • 过生日文案抖音(抖音很火的生日文案致自己)

    5.渐入佳境,大概是我对人生最好的祝愿了。

  • 网球握拍方式(网球握拍方式有哪些)

    网球握拍方式大陆式握拍:食指根部压在与拍面水平的平面上,拍面的角度几乎与地面垂直,其握拍的方式仿佛是你在用拍框的侧面钉钉子,这也是大陆常见的网球握拍的方法,适合打发球、过顶球以及截击球。东方式正手握拍:东方式正手握拍是在大陆式握拍的基础上逆时针旋转30°,直到食指的根部搭在主边上。可以打出快速的平击球,但不适合打高于肩部的上旋回球。

  • 处暑吃什么最好 处暑适合吃什么食物

    秋燥易伤津、伤肺,因此处暑后要注意养阴润燥,调护身体津液。苹果中的果胶和鞣酸有收敛作用,可将肠道内积聚的毒素和废物排出体外。

  • 这些列车开行有变化(今日起陆续恢复开行)

    为确保旅客安全出行,中国铁路沈阳局全面执行测温验码、分散候车、通风消毒、预留隔离席位等疫情防控措施,积极推广无接触式服务。同时,强化旅客乘降组织,动态增加验证安检通道,落实保洁、餐饮、供水等基本服务,满足旅客出行需求。

  • 领导关系的特点(良好的领导和下属关系有三种类型)

    下属的薪水,放在重视的第一位。不包容年轻人的犯错,伤害的不仅仅是犯错的某一个人,伤害的是整个组织机体的上进心。领导和下属要达到同进同退的合作状态,需要领导做到三点:1、让下属有奔头。因为“画饼”所象征的未来,是职工的“奔头”。当然,这也是人之常情,领导考虑权力安全,始终是头等大事。本质上,是有利于领导,也有利于组织。