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'] 