因最近需要安装一个dns,本来选择安装bind dns。但是鉴于bind dns 哪复杂的配置文件,选择了unbound dns.

   unbound的说明就不写了网上一搜一大堆的。下面就写下安装步骤

   我使用的是centos 7.0的系统。如果大家是全新安装的话建议选择这个版本的。有很多新的更新改进。

软件仓库默认是包含有unbound dns的。不过版本比较老了是1.4.x的。所以最后手动下载编译安装。

yum install -y wget
wget http://www.unbound.net/downloads/unbound-latest.tar.gz
tar zxvf unbound-latest.tar.gz

安装需要的插件

yum install gcc openssl-devel expat-devel

我没有自己定义安装就是直接使用了默认的安装目录

cd unbound-1.5.7/
./configure && make && make install

添加用户名和用户组

groupadd unbound
useradd -m -g unbound -s /bin/false unbound

编辑配置文件

vi /usr/local/etc/unbound/unbound.conf
verbosity: 1
interface: 0.0.0.0
do-ip4: yes
do-udp: yes
do-tcp: yes
access-control: 0.0.0.0/0 allow
local-data: "xxx.xx A 10.10.10.10"
forward-zone:
        name: "."
        forward-addr: 119.29.29.29
        forward-addr: 114.114.114.114

配置文件很简单大多数默认就可以了。如果有需要的话可以自己查看配置文件。都有恨详细的说明

local-data: 这个部分可以添加多条 每条的格式都是这样 

local-data: "xxx.xx A 10.10.10.10"
这里是监听所有的网络,要是你有多张网卡配置了不同的ip 可以修改成你想对外服务的那个ip地址
interface: 0.0.0.0
access-control: 0.0.0.0/0 allow
这部分是对那些ip地址提供服务,如果只想给特定的ip地址段如192.168.0.0/24 这样的 修改一下就好

还有一个就是防火墙的问题,centos7 默认的防火墙是firewall 不是iptables。开始的时候没有注意这个。检查没有安装iptables 就没有去管最后导致只能本地访问。可以都检查下。

systemctl stop firewalld

启动服务

unbound-checkconf
unbound
unbound-checkconf 这个是用来检查配置文件 unbound.conf有没有错误的。

最后测试下

echo "nameserver 127.0.0.1" > /etc/resolv.conf 
ping qq.com

如果正常解析就说明服务器正常了