Skip to content

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
☁️ 部署建议
如果你打算长期运行项目(博客 / API / 自动化脚本),建议直接用云服务器,会比本地稳定很多。
👉 查看云服务器(新用户优惠)