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 2016-08-03 09:29:37 +08:00 via iPhone
嗯很不错的
|
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 1
@Antidictator 个人我感觉没什么优点,可以自定义 ns ,稳定性啥的倒不如用第三方的
|
13
Antidictator 2017-03-12 09:16:02 +08:00
@qcloud 这样子,感谢答疑:}
|