CoreDNS
安装
https://github.com/coredns/coredns/releases/tag/v1.13.2
[Unit]
Description=CoreDNS DNS Server
After=network.target
[Service]
Type=simple
ExecStart=/home/shingi/packages/coredns -dns.port=1053
Restart=on-failure
RestartSec=5s
User=root
WorkingDirectory=/home/shingi/packages
[Install]
WantedBy=multi-user.target
Corefile 示例
--conf Corefile
使用 hosts 插件 配置 A 记录
如果你只是本地或者小型局域网环境,最简单的方法是用 hosts 插件:
Corefile 示例
假设你要配置 mydomain.local → 192.168.1.50:
.:1053 {
hosts {
192.168.1.50 mydomain.local
fallthrough
}
forward . 8.8.8.8
log
}
.:1053 → DNS 监听所有域名 (.) 在 1053 端口
hosts { ... } → 配置静态 A 记录
fallthrough → 如果 hosts 中没有匹配,就转发给上游 DNS
forward . 8.8.8.8 → 上游 DNS(Google)
log → 记录访问日志,方便调试
使用zone 文件配置 A 记录
如果你想做完整 DNS 服务,可以用 file 插件 + zone 文件:
创建 zone 文件 /etc/coredns/db.mydomain.local:
$TTL 3600
@ IN SOA ns1.mydomain.local. admin.mydomain.local. (
2025122301 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 ; minimum
)
@ IN NS ns1.mydomain.local.
ns1 IN A 192.168.1.50
www IN A 192.168.1.50
@ 表示根域
NS → 域名服务器
A → 主机记录
Corefile 配置:
mydomain.local:1053 {
file /etc/coredns/db.mydomain.local
log
}
测试 A 记录
dig @dnsip -p 1053 mydomain.local