华为p6 root(华为mate40pro)

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

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

华为p6 root(华为mate40pro)插图

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

现在,我们进入正题。在Linux上构建DNS服务的软件有bind9、NSD(域名服务器域)和unbound,其中bind9是市场占有率最高的软件。本文还介绍了该软件的DNS服务。通过bind实现DNS的最佳和最详细的文档是& # 34;DNS & BIND & # 34还有& # 34;Bind97手册& # 34;,网上有中文版的资源。我推荐你阅读它们。

一、BIND简介

现在使用最广泛的DNS服务器软件是BIND(伯克利互联网域名),最早是伯克利大学的一个学生写的。现在最新的版本是9,由ISC(互联网系统联盟)编写和维护。

BIND支持大多数操作系统(Linux、UNIX、Mac、Windows)。

绑定服务的名称是。

默认情况下,DNS使用UDP和TCP协议,其端口为53(域)和953(mdc)。

第二,绑定安装

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

yum install -y bind bind-chroot bind-utils

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

第二,绑定配置

1.绑定配置文件保存在两个位置:

/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.使用以下命令配置绑定服务的主配置文件(/var/named/ch root/etc/named . conf):

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

许多内容使用简单的配置,删除日志文件下面的所有内容,以及选项中的一些内容,得到如下配置:

/*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/ch root/etc/named . conf)中添加zone参数:

5.创建一个新的example.net.zone文件,即example.net的域名解析文件。区域文件放在/var/named/chroot/var/named/下,区域文件可以以/var/named/ch root/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系统,这个步骤会有所不同。使用名为Start的默认服务直接启动服务,bind将直接在chroot包中运行,如下图所示:

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

ps -ef|grep named

8.测试DNS服务。此示例可以在这台计算机或其他计算机上测试。只需修改DNS服务的ip地址(命令:vim /etc/resolv.conf),然后使用命令dig(命令:dig )进行测试。

内容如下:

测试结果:

注意:非本地测试需要修改名为. conf的主配置文件,允许任何ip访问,然后重新启动服务器。

第三,绑定从服务器

从服务器将从域example.net的配置信息添加到bind的主配置文件中:

1.配置文件的位置

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

2.在主配置文件中添加一行区域定义:

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

3.因为bind是以命名用户的身份运行的,所以您应该授权存储区域文件的文件夹(/var/named/ch root/var/named/slaves)。授权前:

授权:

4.启动bind服务,名为Start的服务,并在存储该区域的文件夹中检查它(/var/named/ch root/var/named/slaves)。example.net.zone文件已下载。

5.修改dns服务器的ip地址并测试DIG

四。缓存服务器和转发服务器

DNS服务器既不能是域的主服务器,也不能是域的从服务器。服务器不能包含任务域的配置信息。它将接管递归解析的所有DNS查询,将解析结果返回给查询客户端,并缓存查询结果。这种DNS服务器被称为缓存名称服务器。

通常,缓存服务器配置在局域网中,以加快网络访问速度。

您还可以为缓存服务器配置上游DNS服务器地址,缓存服务器可以为客户提供上游DNS服务器地址。我们可以通过以下设置做到这一点:

将以下内容添加到主配置文件的选项中:

forwarders { 192.168.0.168;};

您还可以使用以下选项让服务器将所有DNS查询转发到转发器服务器:

将以下内容添加到主配置文件的选项中:

forward only;

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

如果你喜欢这篇文章,请帮忙关注,转发,喜欢。我会定期更新一些技术上的“干货”与大家分享,希望能帮助大家解决工作中的一些问题。谢谢大家!

下次通知:

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

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/147685.html

发表回复

登录后才能评论