搭建内网DNS服务器教程

本文介绍了如何使用CoreDNS作为内网DNS服务器。CoreDNS是一个用Golang编写的轻量级DNS服务器,它是Kubernetes的默认DNS选项。相比Bind9,CoreDNS配置更简单。通过下载或编译安装CoreDNS,然后配置Corefile进行域名解析,包括将请求转发到上游DNS服务器以及设置内网域名解析。内网域名解析可以通过hosts插件实现,允许快速添加和管理内网主机记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内网DNS服务器的软件有许多,比如Bind9,dnsmasq,PowerDNS等等

而这次搭建内网dns服务的软件CoreDNS,CoreDNS是Golang编写的一个插件式DNS服务器,也是Kubernetes 1.13 后所内置的默认DNS服务器.自己也考虑过使用Bind9,但配置感觉太麻烦了,故选择了比较简单灵活的CoreDNS作为搭建dns服务的软件

使用spring3

下载安装

  • 编译安装(不推荐)

    # 编译安装首先确保环境中有Golang且版本为1.12或者更高 
    # 且因为软件编译时会下载来自谷歌的依赖,所以还是不是特别推荐编译安装
    git clone https://github.com/coredns/coredns
    cd coredns
    make
    
  • 下载安装

    从Github下载对应系统的依赖 https://github.com/coredns/coredns/releases

    # 下载依赖
    wget https://github.com/coredns/coredns/releases/download/v1.7.1/coredns_1.7.1_linux_amd64.tgz
    # 解压
    tar -zxvf coredns_1.7.1_linux_arm.tgz
    

编译/解压 完成后,都会得到一个coredns 的二进制文件,这个就是CoreDNS软件

域名解析配置

CoreDNS基本参数

./coredns -h

参数解释
-conf指定配置文件(默认为当前目录的 Corefile
-dns.port指定 DNS 服务监听端口
-pidfile指定 pid 文件的存放路径
-plugins列出已安装的插件
-quiet不打印日志
-version显示版本信息

域名解析

coredns 所在目录下,新建文件 Corefile,并且添加一下内容

.:53 {
    forward . 8.8.8.8:53
    log
}

forward是将DNS消息转发到上游DNS服务器上

当时你也可以添加多个上游DNS服务器

.:53 {
    forward . 8.8.8.8:53 223.5.5.5:53 223.6.6.6:53 [2400:3200::1]:53
    log
}

在终端输入 ./coredns -conf Corefile 即可运行(未root用户则需要添加sudo)

打开一个新终端,输入 dig @localhost a baidu.com 就可以测试coredns是否运行成功(未安装dig的输入apt-get install dnsutils进行安装)
使用spring2

可以看到,域名解析成功了

内网域名解析

内网的环境比较简单,这里使用hosts插件进行解析

.:53 {
    forward . 8.8.8.8:53
    hosts {
        172.10.162.32 guiyun.test
        # ttl
        ttl 60
        # 重载hosts配置
        reload 1m
        # 继续执行
        fallthrough
    }
    log
}

如果域名比较多,也可以使用

 .:53 {
    forward . 8.8.8.8:53
    hosts /opt/coredns/hosts
    log
}

并在**/opt/coredns/hosts**创建文件

172.10.162.32  guiyun.test
172.10.162.31  admin.guiyun.test

编辑保存运行后可以使用dig命令进行测试

终端,输入dig @localhost a guiyun.test就可以测试
使用spring1

更多的详细用法,可以去官网 进行学习

参考网站

https://blog.csdn.net/enweitech/article/details/84582800
https://draveness.me/dns-coredns/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值