docker安装powerdns pdnsadmin,pdns-recursor实现内网dns解析
参考文章:https://blog.csdn.net/sdhzdtwhm/article/details/135910057
https://www.cnblogs.com/charnet1019/p/16005184.html
修改的地方:
yum install epel-release -y
yum install -y iptables iptables-services 需要下载最新的
镜像版本有了一定的修改,以及powerdns的端口修改成5300(因为要安装的pdns-recurosr是53端口)[root@localhost powerdns]# cat /opt/powerdns/pdns/config/pdns.conf
api=yes
api-key=qwerasdf
launch=gmysql
gmysql-host=pdnsdb
gmysql-port=3306
gmysql-dbname=pdns
gmysql-user=pdns
gmysql-password=pdns123
local-address=0.0.0.0
local-port=5300 #端口修改
webserver=yes
webserver-address=0.0.0.0
webserver-allow-from=0.0.0.0/0
webserver-port=8081
enable-lua-records=yes[root@localhost powerdns]# cat docker-compose.yaml
version: '3'
services:pdnsdb:image: mysql:5.7.35restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: pdnsMYSQL_USER: pdnsMYSQL_PASSWORD: pdns123volumes:- ./pdnsdb/data:/var/lib/mysql- ./pdnsdb/init-scripts:/docker-entrypoint-initdb.dnetworks:- pdns_netpdns:image: powerdns/pdns-auth-47:4.7.4restart: alwaysuser: rootprivileged: trueenvironment:SECRET_KEY: qwerasdfports:- "5300:5300/tcp" #端口修改- "5300:5300/udp" #端口修改volumes:- ./pdns/config:/etc/powerdnsdepends_on:- pdnsdbnetworks:- pdns_netpdnsadmindb:image: mysql:5.7.35restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: pdnsadminMYSQL_USER: pdnsadminMYSQL_PASSWORD: pdnsadmin123volumes:- ./pdnsadmindb/data:/var/lib/mysqlnetworks:- pdns_netpdnsadmin:image: powerdnsadmin/pda-legacy:v0.3.0 #镜像版本restart: alwaysports:- "9191:80"environment:- SQLALCHEMY_DATABASE_URI=mysql://pdnsadmin:pdnsadmin123@pdnsadmindb/pdnsadmin- GUNICORN_TIMEOUT=60- GUNICORN_WORKERS=2- GUNICORN_LOGLEVEL=DEBUGdepends_on:- pdns- pdnsadmindbnetworks:- pdns_net
networks:pdns_net:driver: bridge
安装pdns-recursor:
yum install pdns-recursor -y
[root@localhost pdns-recursor]# cat /etc/pdns-recursor/recursor.conf
allow-from=0.0.0.0/0,::/0 #对应权威服务器的allow-recursion 允许哪些ip进行递归
forward-zones-file=/etc/pdns-recursor/zones
forward-zones-recurse=.=223.5.5.5, .=114.114.114.114 # 除forward-zones外其他所有的请求发至223.5.5.5, 114.114.114.114
local-address=0.0.0.0 #对应权威服务器的local-address
local-port=53
setgid=pdns-recursor
setuid=pdns-recursor
[root@localhost pdns-recursor]# cat zones
test-source.app.cn=192.168.109.169:5300
local-source.app.cn=192.168.109.169:5300
[root@localhost pdns-recursor]# 每次添加zones后:需要重启pdns-recursor
systemctl restart pdns-recursor
设置成开机自启:
systemctl enable pdns-recuror
在交换机中将修改dns为powerdns的ip
设置成功后,如何测试:
1.windows机器中:
nslookup source.app.cn 192.168.109.169
nslookup source.app.cn
ping source.app.cn
可以通过手动设置windows的dns为192.168.109.169,进行调试。ipconfig -all查看windows的dns
2.centos中,配置DNS1为192.168.109.169,重启网络,ping source.app.cn