Linux-DNS服务器搭建(正向解析)

发布时间:2022-06-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Linux-DNS服务器搭建(正向解析)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

目录
  • 1.DNS简介
  • 2.DNS服务器的部署
    • 2.1 流程图
    • 2.2 正向解析文件内容
      • 2.2.1 SOA
      • 2.2.2 A, AAAA
      • 2.2.3 NS
      • 2.2.4 CNAME
      • 2.2.5 MX
    • 2.3 配置实操

1.DNS简介

DNS:Domain Name System,领域名系统,该系统是区分互联网中庞大的计算机,由柏克莱大学发展出一套阶层式管理主机名对应 IP 的系统。由于该套系统是由柏克莱大学发展的,所以最开始叫做 Berkeley Internet Name Domain, BIND,其中Berkeley指的就是柏克莱大学,所以在下面实验当中通过yum安装的服务叫做bind服务。简单来说DNS是一种因特网的通讯协议名称,Bind 则是提供这个DNS服务的软件。

阶层式管理主机,意指每一级的域名服务器,仅解析他的下一级的域名。通过域名中的各级域找到对应的解析服务器,这样一步步的找到最终提供服务的主机。

Linux-DNS服务器搭建(正向解析)

图源:网络是怎样连接的

2.DNS服务器的部署

2.1 流程图

graph TD A[下载bind<BR>bind-utils.x86_64 ] --> B[配置主配置文件<br>/etc/named.conf] B --> C[配置域文件<br>/etc/named.rfc1912.zones] C --> D[配置域名解析文件<br>参考文件/var/named/named.localhost]

2.2 正向解析文件内容

作为域名解析服务器,其最重要的功能自然而然就是将域名解析为IP地址。而完成这份工作的最主要文件就是域名解析文件。这里直接使用参考的域名解析配置文件为例(/var/named/named.localhost),说明一下域名解析配置文件中的内容。

Linux-DNS服务器搭建(正向解析)

上图便是dhcp服务提供给我们的参考文件。

解析文件的标准记录格式如下。

[domain]   [ttl]        IN [[RR type]  [RR data]]
[待查数据] [暂存时间(秒)] IN [[资源类型] [资源内容]]

给的参考文件中的记录不是标准的记录格式,这是由于这个记录格式中有很多是省略的。

首先是IN由于每行记录都有,所有第一条记录使用后,以后记录中可以省略。值得一提的是,在该配置文件中,这任意一个参数在一条记录中没有被声明的话,则会自动继承上一条记录的对应参数。最经常省略的就是TTLIN

开头声明的TTL 就是 time to live 的缩写,意思就是当这笔记录被其他 DNS 服务器查询到后,这个记录会保持在对方 DNS 服务器的缓存中,保持多少秒钟的意思。

每个记录的TTL时间可以由SOA中配置所以剩下我们需要主要配置的就剩下三个参数了。

首先说明资源类型,在该配置文件中,可配置的资源类型有六种。

  • SOA:查询管理领域名的服务器管理信息
  • NS:查询管理领域名 (zone) 的服务器主机名
  • A:查询 IP 的记录(IPV4)
  • AAAA:查询 IP 的记录(IPV6)
  • SNAME:设定某主机名的别名 (alias)
  • MX:查询某领域名的邮件服务器主机名

在解释这些配置资源名称之前,首先需要明白“@”这个符号的含义。 "@"在该配置文件中代表这该域名服务器管理的域,且是完整的写法。比如该域名解析服务器管理的是canyun.com.这个域,则该域名解析服务器管理的主机名完整写法就应该是XXXXXXX.canyun.com.,代表该配置文件中所有配置的主机名都会有.canyun.com.这个后缀,所有在后面写主机名的时候往往就将该后缀省略。

参考于鸟哥的私房菜

2.2.1 SOA

SOA(Start Of Authority),主要是用于当多台服务器管理同一域名的时候,用于控制域名解析文件如何备份的。多台域名解析服务器是通过master/slave(主从)的方式进行管理。

由于SOA与域管理有关,所以[待查数据]是领域名,样例文件用@代指域名。

SOA的[资源内容]有7个参数。依次为:

  • Master DNS 服务器主机名:这个参数主要是哪部主机作为主域名解析服务器的意思。示例文件中没有配置主机名,实际上需要写个主机名如:dns(如果管理的是canyun.com.则全称未dns.canyun.com.最后一个点不能少);

  • 管理员的 email地址:那么管理员的 email 为何?发生问题可以联络这个管理员。

  • 序号 (Serial):这个序号代表的是这个数据库档案的新旧,序号越大代表越新。 当从服务器要判断是否主动下载新的数据库时,就以序号是否比从服务器上的还要新来判断,若是则下载,若不是则不下载。

  • 更新频率 (Refresh):从服务器向主服务器更新配置时间的间隔。

  • 失败重新尝试时间 (Retry):如果因为某些因素,导致从服务器无法对主服务器达成联机,那么在多久的时间内,从服务器会尝试重新联机到主服务器。

  • 失效时间 (Expire):如果一直失败尝试时间,持续联机到达这个设定值时限, 那么 从服务器将不再继续尝试联机,并且尝试删除这份下载的 zone file 信息。

  • 快取时间 (Minumum TTL):如果这个数据库 zone file 中,每笔 RR 记录都没有写到 TTL 快取时间的话,那么就以这个 SOA 的设定值为主。

2.2.2 A, AAAA

A类型是在查询某个主机名的 IP,也是最长被查询的一个资源类型标志,相当于早期的host文件。其配置方式主机名 A IP地址,如在canyun.com.这个域中,www这个主机全程则为 www.canyun.com.(在强调一下,点不可以去掉),简写则为www。AAAA是IPV6的地址。

2.2.3 NS

要知道某个域名解析是由那一个主机提供的,则是通过NS类型表示的。配置方式域名 NS 主机名,当然一个NS类型中写的主机也需要一个A类型来指明该主机的对应IP反应在配置文件中则为。

canyun.com.  NS dns.canyun.com.
dns.canyun.com. A XXX.XXX.XXX.XXX

2.2.4 CNAME

有时候你不想要针对某个主机名设定 A 的标志,而是想透过另外一部主机名的 A 来规范这个新主机名时,可以使用别名 (CNAME) 的设定,该资源类型主要是应用在有多台主机名指向同一IP时,当更换换ip的时候,不需要一个个更新A标志,只需要通过CNAME指向提供服务的主机名即可。

2.2.5 MX

MX 是 Mail eXchanger (邮件交换) 的意思,通常你的整个领域会设定一个 MX,代表所有寄给这个领域的 email 应该要送到后头的email server 主机名上头才是。MX后面的数字数字代表优先级,数字越小优先级越高。与NS记录相同,有一个MX记录,也应该有一个对应的A记录。

2.3 配置实操

1.下载服务

[root@localhost ~]#  yum install bind bind-utils.x86_64 -y
…………
Dependency Updated:
  bind-libs.x86_64 32:9.11.4-26.P2.el7_9.9    bind-libs-lite.x86_64 32:9.11.4-26.P2.el7_9.9    bind-license.noarch 32:9.11.4-26.P2.el7_9.9   
  dhclient.x86_64 12:4.2.5-83.el7.centos.1    dhcp-common.x86_64 12:4.2.5-83.el7.centos.1      dhcp-libs.x86_64 12:4.2.5-83.el7.centos.1     

Complete!

2.配置主配置文件

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

Linux-DNS服务器搭建(正向解析)

3.配置域文件

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

Linux-DNS服务器搭建(正向解析)

Linux-DNS服务器搭建(正向解析)

allow-updata行在正向解析中不设置主从复制的情况下可删除。

4.配置解析文件

[root@localhost ~]# cd /var/named
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# cp -p named.localhost canyun.com.zone   ##为了安全,将模板文件的权限复制过来,复制后的名称与自己在named.rfc1912.zones中写的文件名一样
[root@localhost named]# vim canyun.com.zone

进去后文件内容如下所示。

Linux-DNS服务器搭建(正向解析)

修改后如下:

Linux-DNS服务器搭建(正向解析)

5.启动named服务,关闭防火墙和selinux

[root@localhost named]# systemctl start named
[root@localhost named]# systemctl stop firewalld.service 
[root@localhost named]# setenforce 0

6.修改网卡配置,将DNS地址设为本身

[root@localhost named]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

…………
#dns1              ##dns服务可注释掉

[root@localhost named]# systemctl restart network   ##重启网络服务

7.测试

[root@localhost ~]# host mail.canyun.com
mail.canyun.com has address 192.168.186.10
[root@localhost ~]# host bbc.canyun.com
bbc.canyun.com has address 192.168.186.15

脚本宝典总结

以上是脚本宝典为你收集整理的Linux-DNS服务器搭建(正向解析)全部内容,希望文章能够帮你解决Linux-DNS服务器搭建(正向解析)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:数据库