系列文章目录
RHCE第0章:RHCE开始前的准备
RHCE第1章:Web服务器(上)
RHCE第1章:Web服务器(下)
RHCE第2章:DNS服务
前言
这次博客的主要内容是dns服务,先看一下百度百科的官方解释
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
这里说一下什么是域名,域名就是平时说的www.xxx.com,这是一个倒叙的结果完整的域名最后要加一个 ‘.’,可以省略。
随便举个例子,可以用nslookup查看ip和域名
每个人的电脑不一样,这就是我的电脑访问百度所跳转到的ip
用IP直接访问有时候可能不成功,这个涉及到安全策略。
DNS服务器可以存储域名和IP的对应关系,但是如果关系特别多,主服务器容易崩溃,所以就有从服务器,从服务器里面存放了主服务器的一部分数据,用来缓解主服务器的压力,从服务可以有多个。所以有一般情况下,我们要访问一个域名大该是这么一个流程。
客户端先访问本地host这是优先级最高的,上次也说过,然后访问从服务器,如果有直接找到IP,然后访问对应IP就可以了,如果没找到,去访问主服务器,如果是一些经常使用的,主服务器一般都有,如果第一次用的域名,这就想要去外网访问了,比如我的宽带是联通的,就去联通服务器找。这都是能找到了,还找不到,就要去根域搜索,按照上面那个图倒叙一级一级往下找最后找到,如果还没有,就说明你域名写错了。
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装unbound
早在rhel5,6用bind做dns服务器,后来就从7开始就发展使用unbound了。
1.yum安装
yum install unbound -y
2.开机自启,启动服务
systemctl enable unbound
systemctl restart unbound
注意第一次启动时间可能会长一点,稍微等一下。因为每次重启都会重读配置文件,建议先写好配置文件,再重新启动。这里只是演示一下。
3.修改默认配置文件
vim /etc/unbound/unbound.conf
首先把服务范围变成对所有主机,默认只为本机提供服务
直接把注释去掉就可以了。
允许其他主机来我这里获取服务
进行如下修改
把username设置为空
这个是因为涉及到了一些安全隐患,需要修改一下。
默认的配置文件也是不建议修改的,想要增加配置具体操作和apache一样,自己从新写一个文件放进相应的目录,让服务重启的时候重读配置文件即可。
二、编写本地规则
1.编写配置文件
本地规则就是刚刚说的自己添加的规则
vim /etc/unbound/local.d/chaoge.com.conf
注意这个文件名字理论上可以随便写,但是也有一些要注意的。
当初创建主机名的时候,也是采用的域名命名法
这里是主机名+域名,有一个域就要有一个文件,所以我的文件叫chaoge.com.conf
修改后的内容如下
这里需要按你的主机名做对应的修改
#本地静态域
local-zone:"chaoge.com." static
#域名+生命周期(秒)+IN SOA(主DNS)+域名+错误邮箱+五组序号
#一:版本号,主服务器更新后版本号加一,当从服务器发现版本号增大,进行同步更新
#二:同步时间(秒)每86400秒检测进行同步
#三:同步失败后的同步时间,同步失败后每3600秒进行一次同步
#四:停止同步时间,第一次同步失败后达到10800秒停止同步
#五:再过一个周期后,停止服务
local-data:"chaoge.com. 86400 IN SOA ns.chaoge.com. root.chaoge.com 120000 86400 3600 10800 86400"
#域名+IN+服务器类型+(序号)+服务器名称
#NS(dns服务器) MX(邮件服务器)
local-data:"chaoge.com. IN NS ns.chaoge.com"
local-data:"chaoge.com. IN MX 10 mail.chaoge.com"
local-data:"chaoge.com. IN MX 20 smtp.chaoge.com"
#将IP和域名绑定,通过域名查IP,一般情况下会有多个IP分别完成任务,我就一个虚拟机,都放在一个里面了
local-data:"chaoge.com. IN A 192.168.100.1"
local-data:"ns.chaoge.com. IN A 192.168.100.1"
local-data:"mail.chaoge.com. IN A 192.168.100.1"
local-data:"smtp.chaoge.com. IN A 192.168.100.1"
local-data:"www.chaoge.com. IN A 192.168.100.1"
local-data:"chao1.chaoge.com. IN A 192.168.100.1"
local-data:"chao2.chaoge.com. IN A 192.168.100.2"
#反向解析,通过IP查域名
local-data-ptr:"192.168.100.1 ns.chaoge.com."
local-data-ptr:"192.168.100.1 mail.chaoge.com."
local-data-ptr:"192.168.100.1 stmp.chaoge.com."
local-data-ptr:"192.168.100.1 www.chaoge.com."
local-data-ptr:"192.168.100.1 chao1.chaoge.com."
local-data-ptr:"192.168.100.2 chao2.chaoge.com."
2.错误检查
红帽提供了以下命令进行配置文件的错误检查。
unbound-checkconf
然后重启,时间会长一点。
再大规模添加配置信息之后可能控制台显示重启成功了。
这里没有显示错误信息,但通过命令检查发现,服务没有启动。
这个时候就需要reboot一下。
之后就可以正常使用了。
3.检测
直接PING就行了
- 通过域名检测IP
我第二台虚拟机没开,但依然能检测到IP
- 通过IP检测域名
这个要用nslookup
现在进入第二虚拟机相当于从服务器。
首先确保两台虚拟机的DNS相同,当初也是这样设置的,可以查询一下。
再次进行查询操作
可以看到,我再主服务器上配置过之后,从服务器没有安装unbound,但都有了相应的配置信息,可以分担主服务器的压力
三、制作从DNS服务器
当从服务器有了配置信息,就可以对外提供服务了,现在完成这个事情
-
安装unbound
不演示了。 -
在主服务器打开安全策略
后边改成要传输域信息的域名 -
在从服务器进行基本配置
-
从服务器配置
name:可以写要转发的域,一个点代表全部
forward-addr:源地址
保存重启服务,如果失败,reboot,这个前边也说过了。
现在从dns服务器就配置成功了,但是由于我的虚拟机里没有第三台服务器做测试了,这里只能暂停了。 -
chao3.chaoge.com
之后博主用之前做好的快照零时关机克隆了一个新的虚拟机。
然后修改hostname,IP以及dns。
这些内容具体如何修改之前都说过就不重复了。
6. 检测
现在我的第三台虚拟机没有安装unbound也不是dns服务器
可以看到,它依旧可以查询对应的IP和域名信息。