介绍: PowerDNS 支持的一些特性: EDNS Client Subnet、DNSSEC、GEODNS、IPv6 等 同时 PowerDNS 支持超多的解析记录种类: A、AAAA、AFSDB、ALIAS(ANAME)、CAA、CERT、CDNSKEY、CDS、CNAME、DNSKEY、DNAME、DS、HINFO、KEY、LOC、MX、NAPTR、NS、NSEC、NSEC3、NSEC3PARAM、OPENPGPKEY、PTR、RP、RRSIG、SOA、SPF、SSHFP、SRV、TKEY、TSIG、TLSA、TXT、URI 等 至于 Web 前端,PowerDNS 官方推荐的是自家的 PowerAdmin,然后我比对了一下,都是万年不更新,但是 PowerAdmin UI 保持上世纪末期的风格,PowerDNS-Webinterface 好很多,同样水准下,当然是选择了更好看的后者啊。
工具: PowerDNS:https://www.powerdns.com PowerDNS-Webinterface:https://github.com/Spacefish/powerdns-webinterface 其它前端 PowerAdmin:http://www.poweradmin.org
参考: http://arstech.net/install-powerdns-and-powerdns-webinterface-on-centos/ 拓展: https://guozeyu.com/2016/08/self-host-dns/
环境:
Centos6 x64 PHP 5.6 Apache MariaDB 10+
本文章一切都是在为实现 rDNS 反向解析功能前提下进行的,并没有测试其它功能,不保证文章所述可以完全保证其它功能的使用。
PowerDNS 部分
安装 PowerDNS Mysql 版本
1 | yum install -y epel |
修改配置文件 /etc/pdns/pdns.conf 我贴的是改好的,你只需要改配置文件底部的 Mysql 信息
1 | setuid=pdns |
接着我们登录 mysql,创建一个名为 powerdns 的用户以及数据库,并导入以下数据
1 | CREATE TABLE domains ( id INT AUTO_INCREMENT, |
下载 PowerDNS-Webinterface,导入文件夹内包含的 install.sql 文件,在进行前端数据库导入的时候,可能会出现 1 个 mysql 报错,忽略掉,不影响本文章功能实现的使用 到这里,PowerDNS 部署部分完成,我们使用下面的命令设置开机自启,以及立即启动 PowerDNS
1 | chkconfig —levels 235 pdns on |
可以顺便验证下 PowerDNS 服务是否正常启动
1 | netstat -an grep 53 |
PowerDNS-Webinterface 部分
进入搭建好的 Web 环境根目录,导入 PowerDNS-Webinterface 中 / web 内的所有内容,并修改 \ configs\db.php 中的 mysql 信息
1 | <?php |
删除安全文件,并设置 templates_c 文件夹权限
1 | rm -rf web\tmp\templates_c\DELETEME |
这时候访问你搭建好的 PowerDNS-Webinterface,账号密码 admin/admin,登录后马上更改默认密码
设置 PTR 解析部分
切换至 Domains 菜单,添加你需要设置 rDNS 的 IP 段在解析记录中添加下面的内容