Centos 搭建unbound简单的DNS缓存服务器

一、编译安装

1.安装依赖包

yum -y install gcc openssl-devel expat-devel libevent-devel

2.下载安装包,编译安装  下载地址:https://unbound.net/download.html

./configure --prefix=/usr/local/unbound --with-pthreads  --with-libevent --with-ssl

--with-pthreads:支持多线程;
--with-libevent:允许使用大的传出端口范围。
--with-ssl:用于生成秘钥文件

二、配置unbound.conf文件

server:
verbosity: 1
num-threads: 2                          #线程数
interface: 127.0.0.1         #监听地址(一般写本机内网ip)
interface: ::0
port: 53 #端口
so-reuseport: yes          #为每个线程的传入查询打开专用侦听套接字。可以更均匀地将传入查询分布到线程
cache-min-ttl: 600           #解析最小缓存时间
cache-max-ttl: 43200         #解析最大缓存时间
outgoing-range: 8192
access-control: 10.0.0.0/8 allow      #访问控制(允许10段ip访问本机)
access-control: 127.0.0.1/8 allow    #允许本机访问
access-control: ::0/0 allow       #允许ipv6网段访问
prefetch: yes             #消息缓存元素在它们到期之前被预取以保持缓存是最新的
do-ip4: yes
do-ip6: yes
do-udp: yes
do-tcp: yes
so-rcvbuf: 8m
so-sndbuf: 8m
msg-cache-size: 64m         #消息缓存的字节数。 默认值为4 MB。
rrset-cache-size: 128m        #RRset缓存的字节数。
outgoing-num-tcp: 256        #为每个线程分配的传出TCP缓冲区数
incoming-num-tcp: 1024       #为每个线程分配的传入TCP缓冲区数
#include: "zone.conf"          #zone.conf文件内容为解析内容,如local-data: "m.baidu.com A 192.168.10.1",也可以使用下面注释的方式配置解析
# local-data: "m.baidu.com 600 A 192.168.10.1"     #其中600为解析缓存时间
#python:
remote-control:            #这个区间为unbound控制设置。配置如下内容可以控制unbound服务,利用unbound-control命令对该服务执行开启、关闭、重启等操作。
control-enable: yes
control-interface: 127.0.0.1
control-port: 8953
server-key-file: "/usr/local/unbound/etc/unbound/unbound_server.key"
server-cert-file: "/usr/local/unbound/etc/unbound/unbound_server.pem"
control-key-file: "/usr/local/unbound/etc/unbound/unbound_control.key"
control-cert-file: "/usr/local/unbound/etc/unbound/unbound_control.pem"
forward-zone: #这个区间为转发设置

name:"."
forward-addr:223.5.5.5
forward-addr:119.29.29.29
forward-addr:202.96.134.133

5.启动服务

首先执行./sbin/unbound-checkconf检查配置文件语法,确认无误后进行下一步;

执行/sbin/unbound-control-setup生成秘钥,之后才能使用/sbin/unbound-control命令;

最后执行./sbin/unbound启动服务。

6.测试解析结果

dig m.baidu.com @127.0.0.1

由于bind搭建的dns服务器.解析量过大,路由器维护的nat条目数过大,会导致路由器CPU过高,可以通过搭建unbound(172.29.13.239)来实现dns解析缓存

bind dns搭建
1.yum -y install bind*
2.vim /etc/named.conf
options {
listen-on port 53 { any; }; 让所有的用户监听53端口
listen-on-v6 port 53 { ::1; };
allow-query { any; }; 允许所有人访问
forwarders {
172.29.13.239;
};

include "/etc/named.rfc1912.zones"; 头文件
named-checkconf /etc/named.conf 验证语法
3.vim /etc/named.rfc1912.zones
zone "lihu.com" IN {
type master;
file "lihu.com.zone";
allow-update { none; };
allow-transfer { none; };
};

zone "8.29.172.in-addr.arpa" IN {
type master;
file "172.29.8.zone";
allow-update { none; };
allow-transfer { none; };
};
named-checkconf /etc/named.conf 验证语法
4.vim /var/named/lihu.com.zone (正向解析,注意".")
$TTL 600
@ IN SOA ns.lihu.com. admin.lihu.com. (
     2018032701
      3H
      10M
      3D
      1D )
IN    NS        ns
IN    MX  10    mail
ns   IN     A    172.29.8.5
mail     IN        A    172.29.8.5
5.vim /var/named/172.29.8.zone (反向解析,注意“.”)
$TTL 600
@        IN     SOA      ns.lihu.com.   admin.lihu.com. (
        2018032701
          3H
          10M
          3D
          1D )
     IN   NS      ns.lihu.com.
5   IN   PTR    ns.lihu.com.
5   IN   PTR    mail.lihu.com.
named-checkzone "lihu.com" lihu.com.zone
named-checkzone "8.29.172.in-addr.arpa" 172.29.8.zone 验证zone及配置
service named start

 

posted @ 2018-06-11 17:14  Me-lihu  阅读(8)  评论(0编辑  收藏  举报