
https://ze3kr.com/2016/08/self-host-dns/ 讲了如何配置
支持的一些特性: EDNS Client Subnet 、 DNSSEC 、 GEODNS 、 IPv6 等等,以上只是我想到的。同时 PowerDNS 支持超多的解析记录种类(至少是我目前见过最多的): A 、 AAAA 、 AFSDB 、 ALIAS (也是 ANAME )、 CAA 、 CERT 、 CDNSKEY 、 CDS 、 CNAME 、 DNSKEY 、 DNAME 、 DS 、 HINFO 、 KEY 、 LOC 、 MX 、 NAPTR 、 NS 、 NSEC 、 NSEC3 、 NSEC3PARAM 、 OPENPGPKEY 、 PTR 、 RP 、 RRSIG 、 SOA 、 SPF 、 SSHFP 、 SRV 、 TKEY 、 TSIG 、 TLSA 、 TXT 、 URI 等
YAML 写法事例,从来没有这么爽的配置过 DNS :
# @see: https://doc.powerdns.com/md/authoritative/backend-geoip/ domains: - domain: example.com ttl: 300 # 默认 TTL 时长 records: ##### Default NS ns1.example.com: - a: # 你的服务器的第一个 IPv4 地址 content: 10.0.0.1 ttl: 86400 - aaaa: # 你的服务器的第一个 IPv6 地址 content: ::1 ttl: 86400 ns1.example.com: # 你的服务器的第二个 IPv4 地址(如果没有就和上面一样) - a: content: 10.0.0.2 ttl: 86400 - aaaa: # 你的服务器的第二个 IPv6 地址(如果没有就和上面一样) content: ::2 ttl: 86400 ##### Root domain example.com: # 根域名下的记录 - soa: content: ns1.example.com. admin.example.com. 1 86400 3600 604800 10800 ttl: 7200 - ns: content: ns1.example.com. ttl: 86400 - ns: content: ns2.example.com. ttl: 86400 - mx: content: 100 mx1.example.com. # 权重 [空格] 主机名 ttl: 7200 - mx: content: 100 mx2.example.com. ttl: 7200 - mx: content: 100 mx3.example.com. ttl: 7200 - a: 103.41.133.70 # 如果想使用默认 TTL ,那就不用区分 content 和 ttl 字段 - aaaa: 2001:470:fa6b::1 ##### Servers list 你的服务器列表 beijing-server.example.com: &beijing - a: 10.0.1.1 - aaaa: ::1:1 newyork-server.example.com: &newyork - a: 10.0.2.1 - aaaa: ::2:1 japan-server.example.com: &japan - a: 10.0.3.1 - aaaa: ::3:1 london-server.example.com: &uk - a: 10.0.4.1 - aaaa: ::4:1 france-server.example.com: &france - a: 10.0.5.1 - aaaa: ::5:1 ##### GEODNS 分区解析 # @see: https://php.net/manual/en/function.geoip-continent-code-by-name.php # @see: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3 # unknown also is default # %co.%cn.geo.example.com # 默认 unknown.unknown.geo.example.com: *newyork # 默认解析到美国 # 洲 unknown.as.geo.example.com: *japan # 亚洲解析到日本 unknown.oc.geo.example.com: *japan # 大洋洲解析到日本 unknown.eu.geo.example.com: *france # 欧洲解析到法国 unknown.af.geo.example.com: *france # 非洲解析到法国 # 国家 chn.as.geo.example.com: *beijing # 中国解析北京 gbr.eu.geo.example.com: *uk # 英国解析到英国 services: # GEODNS www.example.com: [ '%co.%cn.geo.example.com', 'unknown.%cn.geo.example.com', 'unknown.unknown.geo.example.com'] 1 Showfom PRO 嗯很不错的 |
2 qcloud 2016-08-03 09:33:02 +08:00 感谢!收藏先! |
3 jackysc 2016-08-03 09:47:35 +08:00 楼主的文章都写的很不错,收藏了 |
4 anjunecha 2016-08-03 10:47:36 +08:00 这个方案裸域 CNAME 可否有办法解决? |
5 ZE3kr OP @anjunecha 不建议主域名下设置 CNAME ,可以开 ALIAS 记录解决,见 https://doc.powerdns.com/md/authoritative/howtos/#using-alias-records |
7 ashchen 2016-08-03 11:13:17 +08:00 支不支持数据库? |
8 ZE3kr OP @ashchen 支持 MySQL 等, https://doc.powerdns.com/md/authoritative/ 。个人还是喜欢文件形式的编辑,这个 GEOIP 版本应该只能 YAML 。 |
9 ZE3kr OP @anjunecha 现在在裸域名配置 GEODNS 是个问题,要不就是只在裸域下配置,要不就在二级域名下配置 GEODNS ,两者都弄会出 bug 。裸域名弄要麻烦一些,见 https://github.com/PowerDNS/pdns/issues/4276 |
10 ylx 2017-01-02 19:22:44 +08:00 就不能通过面板设置吗。。好复杂 |
11 Antidictator 2017-03-12 00:24:22 +08:00 @qcloud 小白问个问题呗,自建 DNS 有没有好处。 Google 一圈没找到?我姿势不对? |
12 qcloud 2017-03-12 04:46:12 +08:00 via iPhone @Antidictator 个人我感觉没什么优点,可以自定义 ns ,稳定性啥的倒不如用第三方的 |
13 Antidictator 2017-03-12 09:16:02 +08:00 @qcloud 这样子,感谢答疑:} |