主机论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 120|回复: 5

docker一键自建PowerDNS权威DNS服务器

[复制链接]

118

主题

2364

回帖

5586

积分

论坛元老

Rank: 8Rank: 8

积分
5586
发表于 2025-2-9 21:29:19 | 显示全部楼层 |阅读模式
啥意思呢?白话就是你的域名可以不用放在cloudflare,放在自己自建ns服务器上。就类似于这个: pam.ns.cloudflare.com

  1. services:
  2.   powerdns:
  3.     image: pschiffe/pdns-mysql
  4.     container_name: powerdns
  5.     restart: always
  6.     networks:
  7.       - 1panel-network
  8.     ports:
  9.       - "53:53"
  10.       - "53:53/udp"
  11.       - "8081:8081"
  12.     environment:
  13.       PDNS_gmysql_host: "your-mysql-container-name"
  14.       PDNS_gmysql_port: "3306"
  15.       PDNS_gmysql_user: "your-db-username"
  16.       PDNS_gmysql_password: "your-db-password"
  17.       PDNS_gmysql_dbname: "your-db-name"
  18.       PDNS_primary: "yes"
  19.       PDNS_webserver: "yes"
  20.       PDNS_api: "yes"
  21.       PDNS_api_key: "your-api-key"
  22.       PDNS_webserver-allow-from: "0.0.0.0/0"
  23.       PDNS_webserver_address: "0.0.0.0"
  24.       PDNS_webserver_password: "your-webserver-password"
  25.       PDNS_version_string: "anonymous"
  26.       PDNS_default_ttl: "300"
  27.       PDNS_allow_notify_from: "0.0.0.0"
  28.       PDNS_allow_axfr_ips: "127.0.0.1"
  29.       PDNS_default_soa_content: "ns1.yourdomain.xyz hostmaster.@ 0 10800 3600 604800 3600"

  30.   powerdns-admin:
  31.     image: powerdnsadmin/pda-legacy:latest
  32.     container_name: powerdns-admin
  33.     restart: always
  34.     networks:
  35.       - 1panel-network
  36.     ports:
  37.       - "127.0.0.1:9191:80"
  38.     environment:
  39.       SQLALCHEMY_DATABASE_URI: "mysql://your-db-username:your-db-password@your-mysql-container-name:3306/your-db-name"
  40.       PDNS_API_URL: "http://powerdns:8081"
  41.       PDNS_API_KEY: "your-api-key"
  42.       PDNS_VERSION: "4.9.2"
  43.       GUNICORN_TIMEOUT: "60"
  44.       GUNICORN_WORKERS: "5"

  45. networks:
  46.   1panel-network:
  47.     external: true
复制代码



上面的yml基于1panel网络,没有1panel面板让gpt帮你去掉网络就好

注意2处的your-api-key需要保持一致,自己生成就好

搭建完成反代一下127.0.0.1:9191就可以访问了,注册第一个账号就是管理员

域名方面,在注册商那里找到胶水记录,设置2条ns1.yourdomain.xyz和ns2.yourdomain.xyz指向你服务器ip,然后把你的域名ns记录改为ns1.yourdomain.xyz和ns2.yourdomain.xyz

现在可以登录你搭建的面板了,左侧Create Zone,然后Zone Name输入你的域名,最后点击域名进去设置2个ns记录。@ ns ns1.yourdomain.xyz,@ ns ns2.yourdomain.xyz

现在你可以继续添加A记录了,就跟其他地方一样

回复

使用道具 举报

31

主题

3639

回帖

9123

积分

论坛元老

Rank: 8Rank: 8

积分
9123
发表于 2025-2-9 21:32:02 | 显示全部楼层
MySQL 是什么?
回复

使用道具 举报

118

主题

2364

回帖

5586

积分

论坛元老

Rank: 8Rank: 8

积分
5586
 楼主| 发表于 2025-2-9 21:34:36 | 显示全部楼层
iks 发表于 2025-2-9 21:32
MySQL 是什么?

数据库。都需要改的哈。样板是示例,简单的东西自己改就行。重点的2处api 一致我已经说了
回复

使用道具 举报

40

主题

1557

回帖

4154

积分

论坛元老

Rank: 8Rank: 8

积分
4154
发表于 2025-2-9 21:32:00 | 显示全部楼层
国内域名厂家基本不支持设置胶水记录。
自己找个机器搞,稳定性就不说了。延迟也会有问题。

折腾一下还行。常用就算了。
回复

使用道具 举报

118

主题

2364

回帖

5586

积分

论坛元老

Rank: 8Rank: 8

积分
5586
 楼主| 发表于 2025-2-9 21:35:29 | 显示全部楼层
万亩斜阳 发表于 2025-2-9 21:35
国内域名厂家基本不支持设置胶水记录。
自己找个机器搞,稳定性就不说了。延迟也会有问题。

一般人确实没必要。对于响应速度有极致追求的大佬才会自己建ns。
回复

使用道具 举报

96

主题

2805

回帖

7692

积分

论坛元老

Rank: 8Rank: 8

积分
7692
发表于 2025-2-9 21:42:16 | 显示全部楼层
没什么必要吧,一般访问一次后都会有缓存了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-2-28 03:50 , Processed in 0.078807 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表