启动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
[Unit] Description=CoreDNS Documentation=https://coredns.io/manual/toc/ Wants=network-online.target After=network.target
[Service]
Type=simple User=root
ExecStart=/usr/local/bin/coredns -dns.port=53 -conf /etc/coredns/Corefile StandardOutput=rsyslog StandardError=rsyslog Restart=on-failure KillSignal=SIGTERM
[Install] WantedBy=multi-user.target
|
Corefile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
.:53 { header { response set ra aa response clear rd } hosts /etc/coredns/hostsfile { fallthrough } prometheus :9153 forward . 223.5.5.5 log errors whoami reload loop } jakehu.me { header { response set ra aa response clear rd } file /etc/coredns/jakehu.me log loop reload errors } jakehu.com { forward . 223.5.5.5 log errors whoami }
|
DNS zone file
1 2 3 4 5 6 7
| $ORIGIN jakehu.me. @ 3600 IN SOA sns.dns.icann.org. noc.dns.icann.org. 2017042745 7200 3600 1209600 3600 3600 IN NS a.iana-servers.net. 3600 IN NS b.iana-servers.net.
www IN A 127.0.0.1
|
如果增加了记录需要将 2017042745
加 1,让配置生效
主从配置
CoreDNS 本身并不直接支持传统的主从配置(如 BIND 的 masters 和 slaves)。不过,以下几种方法可以实现类似的功能:
- DNS 转发:通过配置 forward 插件将 DNS 查询转发到另一台服务器,适用于负载均衡或容灾目的。
- CoreDNS 与 Consul 集成:通过 Consul 共享服务发现数据,实现多台 CoreDNS 服务器的高可用配置。
- DNS 区域同步:通过手动同步 DNS 配置文件,达到多个 CoreDNS 服务器数据一致性。
参考:
https://coredns.io/manual/toc/