[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种类了.相关文章推荐
- dns子域和转发实现-065
- DNS--bind 实现主从复制、子域授权、反向区域及区域转发
- 两台LAP和一台NFS+MySQL+DNS实现LAMP负载均衡访问
- bind实现DNS子域授权及转发2/3
- 使用bind自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果
- bind-dlz结合mysql实现智能DNS
- 转发:[MySQL] 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- 基于BIND实现DNS的解析、主从、子域、请求转发、访问控制
- CenOS6服务管理之DNS-子域授权和区域转发及DNS视图功能实现
- DNS、BIND实现正向,反向,主/从,子域,转发,基本安全控制
- nat实现dns转发
- 数据转发中心高并发访问次数统计(mysql实现)
- Mysql InnoDB的索引,锁如何协调作用以实现事务隔离级别?
- 在RHEL 5下通过Bind实现DNS功能 DNS转发功能
- dns子域和转发实现
- CentOS上搭建git服务以及界面化管理_centos下gogs+nginx+mysql实现私有git服务
- 用IPTABLES的端口转发功能实现访问位于内网的MYSQL服务器
- 使用RHEL5.5配置DNS服务,实现主辅DNS服务器同步以及DNS转发服务器的配置
- Linux DNS利用view实现智能转发
- 借助mysql和DNS view实现智能DNS(centos6.3 x64环境)