概念
Authoritative server
区分于公共DNS服务器,是给域名使用的,例如dnspod、CloudFlare这种。胶水记录
注册在注册商的DNS服务器上的记录,用于指向Authoritative server。PowerDNS
一个Authoritative server软件,官网https://www.powerdns.com/,提供了开源版本也有商业版本。PowerAdmin
社区开发的PowerDNS WebUI,官网https://www.poweradmin.org/,Github https://github.com/poweradmin/poweradmin
前期准备
用来做NS的域名
两台拥有公网IP地址的服务器
服务器安装好Docker
安装过程
设置胶水记录到你的两台服务器的公网IP地址
比如
ns1.wocao.com 指向 1.1.1.1
ns2.wocao.com 指向 2.2.2.2ns1安装
这里我就把我组合出来的贴出来了。
直接执行 git clone --recursive https://github.com/yumusb/poweradmin-aio.git
然后进去以后修改.env中的以下部分即可DB_ROOT_PASS=pdns_roootsadasdasd DNS_MASTER=domain.net DNS_NS1=ns1.wocao.com DNS_NS2=ns2.wocao.com TUNNEL_TOKEN=?????????????
我这里使用了CloudFlare Tunnel映射到公网,根据需要自己选择其他的方式。
映射以后就可以访问你的外网域名进行安装了,安装需要用到的数据库密码在.env中。
然后可以参考我的 backup.sh 来备份数据库,数据无价,谨慎操作。ns2设置
就懒得再部署什么主从了,直接使用端口转发ns1的,cat compose.yml services: gost-dns: image: ginuerzh/gost restart: always ports: - "53:53/udp" command: - "-L=udp://:53/ns1.wocao.com:53?ttl=60" logging: options: max-size: "10m" max-file: "3"
注意事项
先用非主要域名测试,测试完成后再正式使用。
过程不一定完整,还是需要自己多折腾,有问题需要补充请留言。