一:什么是Unbound?
Unbound是红帽公司(RedHat)默认使用的的DNS服务包,其中现在使用的Centos7系列的DNS服务包默认自带Bind与Unbound这两个,其中Unbound是FreeBSD操作系统下的默认DNS服务器软件,Unbound是一个安全性高、功能强大、能够跨平台使用的服务其中功能远远大于Bind功能。另一个是Bind服务拥有全球大量的用户使用,但是Bind产品只能适用简单网络结构,如今网络的飞快发展与进步,Bind服务已经越来越不能适应在如今复杂的大规模网络环境下提供DNS服务了。
二:配置Unbound服务
1. 首先确保linux服务器能够正常上网
(如果无法使用网络,这可以配置本地的yum源>>linux7配置本地yum方法)
2. 安装Unbound
[root@localhost ~]#yum install -y unbound
3. 配置Unbound
(这里使用的是vim编辑器,最小化Linux没有安装,可使用vi或执行yum install -y vim进行安装)
[root@localhost ~]#vim /etc/unbound/unbound.conf
- 进入后按esc键输入 :set nu 显示行号
- 设置监听所有接口
(找到第46行在这里可能有所不同但大概都相同,按 i 进入插入模式,把注释去掉)
- 设置允许给所以地址解析服务
(我的在第240行,把后面的refuse改为allow,并把注释去掉)
- 设置任何用户都可访问
(我的在292行,把双引号里的unbound删掉)
- 设置解析的区域名
(这里我设置的是dns.com为了保持原来的规范com后面也有个 . )
- 定义正/反向解析记录
(我的在661行修改了正向解析在675行修改了反向解析)
保存退出
(按esc键输入 :wq)
4.在服务器端的防火墙中开放DNS服务或者关闭防火墙(可二选一)
放行DNS服务
[root@localhost ~]#firewall-cmd --permanent --add-service=dns //设置防火墙开放DNS服务
[root@localhost ~]#firewall-cmd –reload
关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
5.重启Unbound服务
[root@localhost ~]#systemctl restart unbound
6.验证
用另一台虚拟机或真机,使网络在同一网段,并且dns指向DNS服务器的ip地址
可以使用nslookup查看
或者直接ping域名