当前位置:首页 > 网络黑客 > 正文内容

dns解析服务是什么意思?如何搭建自己的DNS域名解析服务器

访客3年前 (2022-04-07)网络黑客690

最近有粉丝私信我,很多做技术开发的工程师在开发某个程序时,或者测试人员在做程序测试时,经常需要测试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中的部分内容,得到如下配置:options{// Put files that named is allowed to write in the data/ directory:di好文分享rectory”/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.conf2、在主配置文件中添加一行域的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域名解析搭建教程结束,你学会了吗?

扫描二维码推送至手机访问。

版权声明:本文由黑客技术发布,如需转载请注明出处。

本文链接:https://w-123.com/47934.html

标签: 阅历杂谈

“dns解析服务是什么意思?如何搭建自己的DNS域名解析服务器” 的相关文章

Google Chrome 99.0.4844.84 紧急更新修复了已被利用的零日漏洞

Google已经为Windows、Mac和Linux用户发布了Chrome 99.0.4844.84,以解决一个在外部被利用的高严重性零日漏洞。浏览器供应商在周五发布的安全公告中说:”Google已经得知CVE-2022-1096的一个漏洞存在于外部。” 99.0.4844.84版本已经在稳定的桌...

CPU 又曝大 bug,涉及英特尔、AMD、ARM

2018年,英特尔、AMD、ARM曝出CPU安全事件,引起广泛关注,舆论一片哗然。虽然英特尔公司表示此次事件不仅仅是英特尔,还涉及AMD/ARM等厂商,且CPU 漏洞补丁基本不会给普通用户造成任何影响,但这次bug依旧被定为成行业大事件。 时隔几年,CPU又再次曝出一个大bug,有意思的...

包含敏感数据数千个 Firefox cookie 出现在 GitHub 存储库中

包含敏感数据的数千个 Firefox cookie 数据库目前出现在 GitHub 的存储库中,这些数据可能用于劫持经过身份验证的会话。这些 cookies.sqlite 数据库通常位于 Firefox 配置文件文件夹中。它们用于在浏览会话之间存储 cookie。现在可以通过使用特定查询参数搜索 G...

泄露的 Facebook 工程师文件承认违法使用用户数据 或将面临全球收入 4% 的罚款

Facebook正面临一场世界各地隐私法规“海啸”,这将迫使该公司大幅改变处理用户个人数据的方式。根据外媒获得的一份从Facebook泄露的文件,Facebook这场“劫难”的根源在于,他们自己都搞不清楚用户数据的用途和去向。 这份泄露的文件是由Facebook广告和商业产品团队的隐私工程师去...

数百万用户受影响,杀毒软件 Avast 中潜藏近 10 年的漏洞被披露

5月5日,SentinelLabs 发布报告,显示他们曾在知名防病毒产品Avast 和 AVG (2016 年被 Avast 收购)中发现了两个存在时间长达近10年之久的严重漏洞。 这两个漏洞被跟踪为 CVE-2022-26522 和 CVE-2022-26523,存在于名为 aswArPot.s...

Crypto.com 承认超过 3000 万美元被黑客窃取

在周四凌晨发表的一篇博客文章中,加密货币交易所Crypto.com承认,在1月17日发生黑客攻击后,该公司损失了远远超过3000万美元的比特币和以太坊。事件发生后,该公司被批评一直围绕网络安全问题对外模糊沟通,昨天才由首席执行官Kris Marszalek正式确认。 新的博客文章说,未经授权的提款总...

评论列表

闹旅隐诗
3年前 (2022-08-06)

)测试。内容如下:测试结果:注:非本机测试需要修改主配置文件named.conf,允许任何ip访问,然后重启服务器。三、BIND从服务器从服务器就是在bind的主配置文件中添加从域example.net的配置信息即可:1、配置文件位置/var/named/chroot/etc/named.conf2

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。