脚本宝典收集整理的这篇文章主要介绍了Linux-DNS服务器搭建(正向解析),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
DNS:Domain Name System,领域名系统,该系统是区分互联网中庞大的计算机,由柏克莱大学发展出一套阶层式管理主机名对应 IP 的系统。由于该套系统是由柏克莱大学发展的,所以最开始叫做 Berkeley Internet Name Domain, BIND,其中Berkeley指的就是柏克莱大学,所以在下面实验当中通过yum安装的服务叫做bind服务。简单来说DNS是一种因特网的通讯协议名称,Bind 则是提供这个DNS服务的软件。
阶层式管理主机,意指每一级的域名服务器,仅解析他的下一级的域名。通过域名中的各级域找到对应的解析服务器,这样一步步的找到最终提供服务的主机。
图源:网络是怎样连接的
作为域名解析服务器,其最重要的功能自然而然就是将域名解析为IP地址。而完成这份工作的最主要文件就是域名解析文件。这里直接使用参考的域名解析配置文件为例(/var/named/named.localhost),说明一下域名解析配置文件中的内容。
上图便是dhcp服务提供给我们的参考文件。
解析文件的标准记录格式如下。
[domain] [ttl] IN [[RR type] [RR data]]
[待查数据] [暂存时间(秒)] IN [[资源类型] [资源内容]]
给的参考文件中的记录不是标准的记录格式,这是由于这个记录格式中有很多是省略的。
首先是IN
由于每行记录都有,所有第一条记录使用后,以后记录中可以省略。值得一提的是,在该配置文件中,这任意一个参数在一条记录中没有被声明的话,则会自动继承上一条记录的对应参数。最经常省略的就是TTL
与 IN
。
开头声明的TTL 就是 time to live 的缩写,意思就是当这笔记录被其他 DNS 服务器查询到后,这个记录会保持在对方 DNS 服务器的缓存中,保持多少秒钟的意思。
每个记录的TTL时间可以由SOA中配置所以剩下我们需要主要配置的就剩下三个参数了。
首先说明资源类型,在该配置文件中,可配置的资源类型有六种。
在解释这些配置资源名称之前,首先需要明白“@”这个符号的含义。
"@"在该配置文件中代表这该域名服务器管理的域,且是完整的写法。比如该域名解析服务器管理的是canyun.com.
这个域,则该域名解析服务器管理的主机名完整写法就应该是XXXXXXX.canyun.com.
,代表该配置文件中所有配置的主机名都会有.canyun.com.
这个后缀,所有在后面写主机名的时候往往就将该后缀省略。
参考于鸟哥的私房菜
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 的设定值为主。
A类型是在查询某个主机名的 IP,也是最长被查询的一个资源类型标志,相当于早期的host文件。其配置方式主机名 A IP地址
,如在canyun.com.这个域中,www这个主机全程则为
www.canyun.com.
(在强调一下,点不可以去掉),简写则为www
。AAAA是IPV6的地址。
要知道某个域名解析是由那一个主机提供的,则是通过NS类型表示的。配置方式域名 NS 主机名
,当然一个NS类型中写的主机也需要一个A类型来指明该主机的对应IP反应在配置文件中则为。
canyun.com. NS dns.canyun.com.
dns.canyun.com. A XXX.XXX.XXX.XXX
有时候你不想要针对某个主机名设定 A 的标志,而是想透过另外一部主机名的 A 来规范这个新主机名时,可以使用别名 (CNAME) 的设定,该资源类型主要是应用在有多台主机名指向同一IP时,当更换换ip的时候,不需要一个个更新A标志,只需要通过CNAME指向提供服务的主机名即可。
MX 是 Mail eXchanger (邮件交换) 的意思,通常你的整个领域会设定一个 MX,代表所有寄给这个领域的 email 应该要送到后头的email server 主机名上头才是。MX后面的数字数字代表优先级,数字越小优先级越高。与NS记录相同,有一个MX记录,也应该有一个对应的A记录。
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
3.配置域文件
[root@localhost ~]# vim /etc/named.rfc1912.zones
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
进去后文件内容如下所示。
修改后如下:
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,请注明来意。