系统运维

PowerDNS Recursor的安装与配置实践指南

浅时光博客 · 1月18日 · 2024年 · 2.5k 次已读

一、PowerDNS Recursor 介绍

PowerDNS Recursor是一个开源的递归DNS服务器,用于向DNS客户端提供域名解析服务。它具有高性能、高可用性和灵活性等特点,并通过实现先进的负载均衡和缓存机制来提高响应速度和稳定性。

PowerDNS Recursor支持多种记录类型和DNS协议,包括IPv6、DNSSEC、EDNS等。它还支持DNS-over-TLSDNS-over-HTTPS等安全传输协议,以保护用户隐私和数据安全。

P文章来源(Source):https://www.dqzboy.comowerDNS Recursor可以部署在Linux、Unix和Windows等操作系统上,而且它的配置文件简单易懂,易于使用和管理。由于其性能和灵活性优秀,PowerDNS Recursor被广泛用于互联网服务提供商、企业和组织等场景中,为用户提供快速、可靠的域名解析服务。

  • PowerDNS权威服务器安装配置教程请阅读下面的文章:

二、PowerDNS Recursor 安装

  • 这里采用两台服务器安装PowerDNS-Recursor,实现主备
  • 以下操作两台节点都需要执行
curl -o /etc/yum.repos.d/powerdns-rec-47.repo https://repo.powerdns.com/repo-files/el-rec-47.repo

yum clean all 
yum makecache

yum install pdns-recursor

三、PowerDNS Recursor 配置

cd /etc/pdns-recursor/

# 备份默认的配置,然后清空原有内容并修改
mv recursor.conf{,_bak}

#过滤本机IP并定义变量,注意网卡名称根据实际情况填写
IP_ADDR=`ifconfig ens33 | grep 'inet' |tr -s ' ' | cut -d' '  -f3`

cat > recursor.conf <<EOF
daemon=yes
#loacl-address为pdns-recursor监听地址
local-address=${IP_ADDR},127.0.0.1
allow-from=0.0.0.0/0
local-port=53
#本地Host解析记录配置文件
#etc-hosts-file=/etc/pdns-recursor/dns-hosts.local
export-etc-hosts=on
#本地转发配置文件
forward-zones-file=/etc/pdns-recursor/zones
#forward-zones-recurse选项,用于转发所有未匹配域名的解析
forward-zones-recurse=.=114.114.114.114;8.8.8.8
#hint-file=/etc/pdns-recursor/named.ca
pdns-distributes-queries=no
reuseport=yes
max-cache-entries=2000000
#mac-negative-ttl参数用于缩短无应答域名的缓存时间
max-negative-ttl=60

dnssec=off

webserver=yes
webserver-address=0.0.0.0
webserver-port=8082
webserver-allow-from=0.0.0.0/0
api-key=vmware

dont-query=127.0.0.1/8
EOF
  • 参数解释:
    • loacl-address:pdns-recursor监听地址,请根据实际情况修改
    • forward-zones-recurse用于转发所有未匹配域名的解析
    • mac-negative-ttl用于缩短无应答域名的缓存时间,例如:test.dqzboy.cn解析记录尚未创建时,如果请求该记录解析,pdns-recursor会缓存空解析记录(时间默认为1小时),在缓存未被清除前,1小时内的解析都是空。配置此参数后,空解析记录默认缓存60秒钟
    • etc-hosts-file用于通过本地文件解析域名;例如,业务系统同时对内和对外提供服务,公网域名为www.dqzboy.cn(36.248.208.11),内网服务器地址为192.168.66.110,最佳方法是内网请求www.dqzboy.cn解析到内网IP地址(192.168.66.110),此场景下就可以通过此文件声明解析记录。
    • forward-zones-file用于声明指定域名解析转发,例:企业原文链接:https://www.dqzboy.com内部域名为dqzboy.cn,权威服务器为192.168.66.10
    • dont-query=127.0.0.1/8递归服务器默认不对私有IP地址进行二次解析,需要修改PowerDNS递归服务器的 dont-query=127.0.0.1/8
# 配置本地转发
cd /etc/pdns-recursor/

cat > /etc/pdns-recursor/zones <<EOF
# 内网域名转发举例,匹配到dqzboy.cn的主域转发给powerdns进行解析
+dqzboy.cn=192.168.66.10;192.168.66.11 #powerdns主备服务器IP;英文分号分隔

# 未匹配上,转发给下面的上游DNS
+.=114.114.114.114,114.114.115.115
EOF
  • 配置说明:带加号开头为递归解析,不带+号开头为迭代解析

四、PowerDNS Recursor 运行

systemctl start pdns-recursor.service
systemctl status pdns-recursor.service
systemctl enable pdns-recursor.service

五、PowerDNS Recursor 测试

  • 修改192.168.66.110这台服务器/etc/resolv.conf的配置,修改为PowerDNS Recursor主备服务器的IP地址
[root@localhost ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.66.12
nameserver 192.168.66.13
  • 然后通过Power Admin页面添加一条A记录:test.dqzboy.cn解析到192.168.66.110
PowerDNS Recursor的安装与配置实践指南
  • 访问test.dqzboy.cn测试解析情况
PowerDNS Recursor的安装与配置实践指南
PowerDNS Recursor的安装与配置实践指南

六、PowerDNS Recursor 监控

  • Pdns Recursor服务器IP加8082端口
PowerDNS Recursor的安装与配置实践指南


本文作者:浅时光博客
原文链接:https://www.dqzboy.com/12215.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可,转载时请以>超链接形式标明文章原始出处和作者信息
免责声明:本站提供的内容仅限于个人学习和研究使用;禁止将内容用于商业或非法用途。下载后请在24小时内彻底删除,否则后果由用户承担。访问和下载本站内容即表示您已同意上述条款 。

0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!