阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux入门教程:DNS服务器的配置

155次阅读
没有评论

共计 5131 个字符,预计需要花费 13 分钟才能阅读完成。

1.DNS 服务器简介

域名系统(英文:DomainName System,縮寫:DNS)是因特网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。DNS 使用 TCP 和 UDP 端口 53。当前,对于每一级域名长度的限制是 63 个字符,域名总长度则不能超过 253 个字符。

在 dns 出现之前,我们把域名和 IP 的对照存放在 /etc/hosts 文件里边,但是随着 IP 的不断增大,使用文件存放显得不够了。而且不利于和其他的主机进行同步,DNS 应运而生。

DNS 的结构:他是利用树形目录的架构。将主机名的管理分配在不同层级的 DNS 服务器,让每一层的修改和查找都变得功能单一。

DNS 查询主机名的流程:

(1)先在本机有没有记录,没有的话向(.root)查询;
(2)向最顶层的. 查询;
(3)然后分层的查询,每次只查询它所对的下一层。
(4)查到之后记录缓存,并且将路径返回给用户。

注:在系统中我们可以通过 dig 命令进行路径追踪。

————————————– 分割线 ————————————–

CentOS 下源码安装 Bind 9.6.1 搭建 DNS 服务器 http://www.linuxidc.com/Linux/2014-06/103660.htm

使用 BIND 配置 DNS 服务器 — 初级篇 http://www.linuxidc.com/Linux/2013-05/84920.htm

BIND+DLZ+MySQL 智能 DNS 的正向解析和反向解析实现方法 http://www.linuxidc.com/Linux/2013-04/82527.htm

域名服务 BIND 构建与应用配置 http://www.linuxidc.com/Linux/2013-04/82111.htm

Ubuntu BIND9 泛域名解析配置 http://www.linuxidc.com/Linux/2013-03/81928.htm

CentOS 5.2 下安装 BIND9.6 http://www.linuxidc.com/Linux/2013-02/79889.htm

————————————– 分割线 ————————————–

工作流程如图所示:

​2. 搭建 DNS 服务器


​今天我们来自己搭建一个 DNS 服务器,这样的需求在公司的内部还是有的。

​首先我们来查找安装 dns 的包有那些:
Linux 入门教程:DNS 服务器的配置

​安装 dns 服务器:
Linux 入门教程:DNS 服务器的配置

​开启服务后看到 dns 服务开启的端口号是 53:
Linux 入门教程:DNS 服务器的配置

​接下来我们要修改配置文件提供相应的服务,这里我们为了安全期间,在 /var/named/chroot 的目录下修改配置文件,而不直接对 /etc/named 目录下的文件进行修改,两者是同步的,但是有一个约束条件,前者只有在 dns 开启成功的情况下才能使用!!!

Linux 入门教程:DNS 服务器的配置

​我们在选项中关闭了 ipv6 的开放,而且允许任意用户使用。

Linux 入门教程:DNS 服务器的配置

主配置文件的最后两行分别是副配置文件和我们的 dns 加密文件:

Linux 入门教程:DNS 服务器的配置

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-07/104453p2.htm

(1)DNS 的正向解析:
​我们依次来查看:

Linux 入门教程:DNS 服务器的配置

​我们来设置自己的域名系统,上边的是模板,底下的我们指定了域名配置文件的名称,这个要自己创建,位置在 /var/named/chroot/var/named 下:

Linux 入门教程:DNS 服务器的配置

​这个目录底下也有域名配置文件的模板,我们拷贝一份并进行设置:

Linux 入门教程:DNS 服务器的配置

这个是初始模样,请务必记住,并且和修改之后的进行对比:

Linux 入门教程:DNS 服务器的配置

​修改之后的:

Linux 入门教程:DNS 服务器的配置

​注意:这里的 @等于 example.com. 所以在最后两行,如果没有把域名补全的话,系统会把 @所代表的值添加到末尾,并且注意每个 com 后边还有一个点。

​这个时候我们重启服务,并且查看火墙是否已经关闭:

Linux 入门教程:DNS 服务器的配置

​服务端设置好之后,我们在另外一台机子上访问 dns 服务器。

​首先要做的就是修改 ifcfg-eth0 文件里的 DNS1 参数为指定 DNS 服务器的 IP:192.168.2.100. 然后重新启动 network 服务:

Linux 入门教程:DNS 服务器的配置

Linux 入门教程:DNS 服务器的配置
​重新启动 network:

Linux 入门教程:DNS 服务器的配置

Linux 入门教程:DNS 服务器的配置

​我们追踪了一下,发现可以找到 www.example.com,并且 dns 服务器为 192.168.2.100 这就说明我么之前的 dns 服务器配置是没有问题的。


​上述部分是 dns 服务器的正向解析,同时我们还知道 dns 具有反向解析的能力,那如何实现呢,当然还是要修改配置文件了,与正向解析的步骤差别不大。

1.DNS 服务器简介

域名系统(英文:DomainName System,縮寫:DNS)是因特网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。DNS 使用 TCP 和 UDP 端口 53。当前,对于每一级域名长度的限制是 63 个字符,域名总长度则不能超过 253 个字符。

在 dns 出现之前,我们把域名和 IP 的对照存放在 /etc/hosts 文件里边,但是随着 IP 的不断增大,使用文件存放显得不够了。而且不利于和其他的主机进行同步,DNS 应运而生。

DNS 的结构:他是利用树形目录的架构。将主机名的管理分配在不同层级的 DNS 服务器,让每一层的修改和查找都变得功能单一。

DNS 查询主机名的流程:

(1)先在本机有没有记录,没有的话向(.root)查询;
(2)向最顶层的. 查询;
(3)然后分层的查询,每次只查询它所对的下一层。
(4)查到之后记录缓存,并且将路径返回给用户。

注:在系统中我们可以通过 dig 命令进行路径追踪。

————————————– 分割线 ————————————–

CentOS 下源码安装 Bind 9.6.1 搭建 DNS 服务器 http://www.linuxidc.com/Linux/2014-06/103660.htm

使用 BIND 配置 DNS 服务器 — 初级篇 http://www.linuxidc.com/Linux/2013-05/84920.htm

BIND+DLZ+MySQL 智能 DNS 的正向解析和反向解析实现方法 http://www.linuxidc.com/Linux/2013-04/82527.htm

域名服务 BIND 构建与应用配置 http://www.linuxidc.com/Linux/2013-04/82111.htm

Ubuntu BIND9 泛域名解析配置 http://www.linuxidc.com/Linux/2013-03/81928.htm

CentOS 5.2 下安装 BIND9.6 http://www.linuxidc.com/Linux/2013-02/79889.htm

————————————– 分割线 ————————————–

工作流程如图所示:

​2. 搭建 DNS 服务器


​今天我们来自己搭建一个 DNS 服务器,这样的需求在公司的内部还是有的。

​首先我们来查找安装 dns 的包有那些:
Linux 入门教程:DNS 服务器的配置

​安装 dns 服务器:
Linux 入门教程:DNS 服务器的配置

​开启服务后看到 dns 服务开启的端口号是 53:
Linux 入门教程:DNS 服务器的配置

​接下来我们要修改配置文件提供相应的服务,这里我们为了安全期间,在 /var/named/chroot 的目录下修改配置文件,而不直接对 /etc/named 目录下的文件进行修改,两者是同步的,但是有一个约束条件,前者只有在 dns 开启成功的情况下才能使用!!!

Linux 入门教程:DNS 服务器的配置

​我们在选项中关闭了 ipv6 的开放,而且允许任意用户使用。

Linux 入门教程:DNS 服务器的配置

主配置文件的最后两行分别是副配置文件和我们的 dns 加密文件:

Linux 入门教程:DNS 服务器的配置

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-07/104453p2.htm

(2)DNS 的反向解析:

​回到副配置文件中,在目录 /var/named/chroot/etc 下:

Linux 入门教程:DNS 服务器的配置

​看到我们 IP 的书写格式了么,是的,既然是反向解析,IP 的书写顺序也是相反的,并且指定了配置文件:

Linux 入门教程:DNS 服务器的配置

​跳转到配置文件目录,首先我们拷贝反向解析配置文件的模板,然后进行编辑:

Linux 入门教程:DNS 服务器的配置

​这个是模板的格式:

Linux 入门教程:DNS 服务器的配置

​我们修改之后的样子:

记住最后一行,它代表的意思是 192.168.2.200 所对应的域名是 ptr.example.com. 这个是我们等会检验配置是否正确的标准。

​退出保存后重启 dns 服务:

Linux 入门教程:DNS 服务器的配置

​回到客户机我们来反向解析一下 192.168.2.200 是什么域名:

Linux 入门教程:DNS 服务器的配置

​小结:

​ 如上所讲,dns 的正向解析和反向解析已经完成,但是这样的功能有点单一化,事实上它还有些不使用,比如说如何去同步的修改,如何和 dhcp 共同协作提供 ddns 的服务,这些我们在下节讲解。1. 本机和外网的解析

​之前讨论了 DNS 的正向解析和反向解析,但有的时候我们想让 DNS 服务器对于服务器本机的解析和对于外网的解析是不同的。那就需要在主配置文件中对本机和外网进行不同的配置:

Linux 入门教程:DNS 服务器的配置

Linux 入门教程:DNS 服务器的配置

​这个是主配置文件中对于本服务器的访问,并且副配置文件为 example.com.zone;(注意要注释的内容)。

Linux 入门教程:DNS 服务器的配置

​这个是对于非本机的配置,并且副配置文件为 example.com.inter.

​为了统一期间,把之前的副配置文件的策略注释掉。

Linux 入门教程:DNS 服务器的配置

​然后我们创建外网的副配置文件并进行编辑:

Linux 入门教程:DNS 服务器的配置

Linux 入门教程:DNS 服务器的配置

​这是我们外网副配置文件的设置,和内网不同的是 www.example.com 对应的 IP 是 192.168.2.160,而不是 192.168.2.150

​重启服务后先用本机查看 www.example.com 所对应的 IP:

Linux 入门教程:DNS 服务器的配置

​然后用非本机的查看 www.example.com 所对应的 IP:

Linux 入门教程:DNS 服务器的配置

​注意:在给大家做实验的时候卡壳了,最后发现原因是防火墙没有刷掉,所以大家在测试的时候一定要注意关掉火墙。


​在做下一个实验的时候我们要还原之前的设置!!

​2. 辅助节点的 DNS

​通常 DNS 服务器并不只是一个,我们会利用集群的思想,就是多个 DNS 服务器共同提供域名解析服务。这个时候我们需要其他的服务器作为 辅助节点,让主节点和辅助节点同步起来是我们的最后目标.

​辅助节点的主配置文件修改:

Linux 入门教程:DNS 服务器的配置

​其副配置文件的修改:

Linux 入门教程:DNS 服务器的配置

Linux 入门教程:DNS 服务器的配置

​此时我们的配置文件不再 named 目录下,而是在 slave 目录下。

此时在主节点我们要添加一个信息,那就是指定辅助节点为我们刚才所设置的服务器:
Linux 入门教程:DNS 服务器的配置

​当我们两个服务器同时开启服务之后,发现辅助节点的 slave 目录底下多出了 example.com.zone 文件,这就是同步所产生的。

Linux 入门教程:DNS 服务器的配置

​此时我们修改辅助节点的 dns 为其本身:

Linux 入门教程:DNS 服务器的配置

Linux 入门教程:DNS 服务器的配置

​我们并没有设置 example.com.zone 里边的信息,但是 dig 之后得到的 ip 和主服务器上设置的相同:

Linux 入门教程:DNS 服务器的配置

​我们修改主服务器上的 example.com.zone 中的 A 记录 www.example.com 的 ip 为 192.168.2.151, 然后重启 named 服务,dig www.example.com 发现辅助节点的服务器的 IP 并没有修改:

​主节点:

Linux 入门教程:DNS 服务器的配置

​辅助节点:

Linux 入门教程:DNS 服务器的配置

​虽然辅助节点也可以访问主节点的信息,但是没有做到同步啊。这是不行的。我们要让主辅助节点的 A 记录同步起来:

​在主节点的配置文件中修改,添加同步信息:

Linux 入门教程:DNS 服务器的配置

​增加参数 also-notify:

Linux 入门教程:DNS 服务器的配置

​保存后重启服务:

Linux 入门教程:DNS 服务器的配置

​并且我们要查看 selinux 的布尔值,如果不允许还要开启可以修改的权限:

Linux 入门教程:DNS 服务器的配置

​完成后我们用辅助节点来增加 www.example.com 的 IP 信息:

Linux 入门教程:DNS 服务器的配置

​发现是不被允许的,然后排查后发现原来是主节点的一个参数 allow-uodate 没有设置成辅助节点的 IP,添加它:

Linux 入门教程:DNS 服务器的配置

​之后再增添 bbs.example.com:

Linux 入门教程:DNS 服务器的配置

​修改成功了!

​然后我们 dig 一下 bbs.example.com:

Linux 入门教程:DNS 服务器的配置

​和我们添加的是相同的,说明已经做到了同步,其实我们还可以添加更多的节点,这样的话就可以提供功能更加强大的 DNS 服务。


​小结:

​ 上面看起来我们的 DNS 功能似乎已经不错了,但是显然在安全方面做的还不足,下节将会讲解加密后的修改 A 记录。这次的实验期间错误百出,说明自己在考虑问题方面还是思维不够缜密,这个习惯需要加强。下节再进行讲解。

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计5131字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中