您的位置:首页 > 数据库 > MySQL

[svc]powerdns+mysql,实现私有作用域转发

2017-11-17 12:16 253 查看

首先我要实现如下方案



要求要有api,即对数据库增删记录,不用重启dns服务器.

这里选用powerdns+mysqlbackend实现.我还有一篇使用bind+mysqlbackend实现:http://blog.csdn.net/iiiiher/article/details/78548440

不过pdns更加简单一些.

参考

编译安装参考:

https://github.com/PowerDNS/pdns

管理界面安装参考:

https://github.com/ngoduykhanh/PowerDNS-Admin

yum install python-devel openldap-devel


pdns安装

参考:

https://doc.powerdns.com/authoritative/guides/basic-database.html#

值得注意的是4.x以后pdns被分割成了3个组件,分别是PowerDNS Authoritative Server和PowerDNS Recursor.

这里centos7,yum安装的是pdns-3.4.11-1.el7.x86_64

yum安装

主要看下这个文档

参考:https://doc.powerdns.com/authoritative/installation.html

yum install pdns-backend-mysql -y


修改pdns配置

需要注意开启内置的httpapi,参考文档上的是4.x的,yum安装的3.x的

参考这个: https://github.com/ngoduykhanh/PowerDNS-Admin 设置.

experimental-json-interface=yes
experimental-api-key=changeme
webserver=yes
webserver-address=0.0.0.0

launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=root
gmysql-dbname=pdns
gmysql-password=mysecretpassword

#recursor=114.114.114.114
recursor=192.168.100.100    #这是我内网dns
allow-recursion=0.0.0.0/0


调试

# /usr/sbin/pdns_server --daemon=no --guardian=no --loglevel=9


数据库需要插入数据

3.x和4.x表结构都一样

安装pdnsadmin

官方有个基于php的,太重,于是找了个flask的部署上去了.

https://github.com/ngoduykhanh/PowerDNS-Admin



遇到的问题

转发有问题.是对应域中有SOA记录,登录数据库干掉就这个soa记录就可以转发了.这里应该学学dns种类了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: