Coredns搭建DNS服务

CoreDNS 是一个灵活、可扩展的 DNS 服务器,常用于 Kubernetes 环境中,但也可以在其他场合单独部署。以下是在 Ubuntu 系统上部署 CoreDNS 的基本步骤:

步骤 1: 安装 CoreDNS

Ubuntu 官方仓库可能不包含最新版本的 CoreDNS,所以我们将手动下载并安装它。

  1. 首先,访问 CoreDNS 的 GitHub 发布页面来下载最新版本的 CoreDNS 二进制文件:
    CoreDNS GitHub Releases

  2. 使用 wget 命令下载适合您系统的版本(例如,如果是 Linux amd64 架构):

    wget https://github.com/coredns/coredns/releases/download/v1.8.3/coredns_1.8.3_linux_amd64.tgz  
    
  3. 解压下载的文件:

    tar -zxvf coredns_1.8.3_linux_amd64.tgz  
    
  4. 移动解压后的 coredns 可执行文件到 /usr/local/bin/:

    sudo mv coredns /usr/local/bin/  
    
  5. 确认 CoreDNS 已正确安装:

    coredns -version  
    

步骤 2: 配置 CoreDNS

CoreDNS 通过一个名为 Corefile 的配置文件进行配置。

  1. 创建一个存放 Corefile 的目录(如果尚未存在):

    sudo mkdir /etc/coredns  
    
  2. 创建并编辑 Corefile:

    sudo nano /etc/coredns/Corefile  
    

    以下是一个基础的配置示例,这配置了一个简单的 DNS 服务器,它处理 .example 域的请求:

.:53 {  
    errors  
    health  
    ready  
    log  
    cache 30  
    forward . 8.8.8.8 114.114.114.114  
    reload  
}  
  
example.com {  
    hosts {  
        192.168.1.10 host1.example.com  
        192.168.1.20 host2.example.com  
        fallthrough  
    }  
}  
  
test.com {  
    hosts {  
        10.10.100.100 test.com  
    }  
}  

配置文件详解

配置文件中的各个部分详细解释如下:

全局块 (.:53)
此部分设置了DNS服务器的基本行为和全局配置。

  • errors: 启用错误日志记录。如果DNS查询过程中发生错误,这些错误会被记录下来。
  • health: 启用健康检查。这通常用于监控DNS服务器的运行状态,确保它正常响应请求。 http://IP:8080/health
  • ready: 表示服务准备就绪,通常用于告知系统DNS服务已准备好接受查询。 http://IP:8181/ready
  • log: 开启日志记录,用于记录所有接收到的查询和响应的详细信息。
  • cache 30: 开启缓存,并设置缓存时间为30秒。这意味着DNS查询的结果会被缓存30秒,重复的查询在这段时间内可以直接从缓存中获得答案,从而加快响应速度和减轻服务器负担。
  • forward . 8.8.8.8 114.114.114.114: 设置默认的转发规则。如果DNS服务器无法本地解析某个域名,它会将查询转发到这些上游DNS服务器(Google的8.8.8.8和中国的114.114.114.114)。
  • reload: 允许在不重启服务的情况下重新加载配置文件,这对于更新配置而不中断服务非常有用。

example.com 块
这个块专门处理所有指向 example.com 域的DNS查询。

  • hosts: 在这个设置下,你可以直接指定域名到IP地址的映射。
    • 192.168.1.10 host1.example.com: 将 host1.example.com 解析到 192.168.1.10
    • 192.168.1.20 host2.example.com: 将 host2.example.com 解析到 192.168.1.20
  • fallthrough: 如果在此块中没有找到匹配的记录,DNS查询将继续传递到其他可能的解析器或转发规则中去。

test.com 块
此块专门处理所有指向 test.com 域的DNS查询。

  • hosts: 类似于 example.com 的设置,你可以直接指定域名到IP地址的映射。
    • 10.10.100.100 test.com: 将根域名 test.com 直接解析到 10.10.100.100

通过这种方式,你可以高效地管理和解析特定的域名请求,同时利用转发规则处理那些无法本地解析的查询。这样的配置既保证了响应速度,也增加了灵活性和可控性。

步骤 3: 创建 Systemd 服务文件

为了让 CoreDNS 成为一个系统服务并在启动时自动运行,您需要创建一个 systemd 服务文件。

  1. 创建并编辑 CoreDNS 服务文件:

    sudo nano /etc/systemd/system/coredns.service  
    
  2. 添加以下内容到服务文件:

    [Unit]  
    Description=CoreDNS DNS server  
    After=network.target  
    
    [Service]  
    PermissionsStartOnly=true  
    User=root  
    ExecStart=/usr/local/bin/coredns -conf /etc/coredns/Corefile  
    Restart=on-failure  
    
    [Install]  
    WantedBy=multi-user.target  
    
  3. 重新加载 systemd 管理器配置:

    sudo systemctl daemon-reload  
    
  4. 启动 CoreDNS 服务并设置为开机启动:

    sudo systemctl start coredns  
    sudo systemctl enable coredns  
    
  5. 检查 CoreDNS 服务的状态:

    sudo systemctl status coredns  
    

现在,您已经成功在 Ubuntu 上部署了 CoreDNS

步骤四

测试是否可用

nslookup host1.example.com [DNS的IP]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/608617.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kafka应用Demo:指派分区订阅消息消费

环境准备 Kafka环境搭建和生产者样例代码与《Kafka应用Demo:按主题订阅消费消息》相同。 消费者代码样例 public class KafkaConsumerService {private static final Logger LOGGER LoggerFactory.getLogger(KafkaConsumerService.class);private static final S…

word图片水印

一、word中旧水印如何删除 打开word模板,想要删除旧水印,如下图所示操作,但是旧水印删除不掉。 以为上传新水印图片会替换掉旧水印,结果显示了2个水印,要怎么删除呢? 如下截图所示,双击打开页…

vue+element的表格(el-table)排班情况表(2024-05-09)

vueelement的表格&#xff08;el-table&#xff09;排班情况&#xff0c;增删查改等简单功能 代码&#xff1a; <template><!-- 表格 --><div class"sedules"><el-header><el-date-pickerv-model"monthValue2"type"month…

YOLOv8网络结构介绍

将按照YOLOv8目标检测任务、实例分割任务、关键点检测任务以及旋转目标检测任务的顺序来介绍&#xff0c;主要内容也是在目标检测任务中介绍&#xff0c;其他任务也只是Head层不相同。 1.YOLOv8_det网络结构 首先&#xff0c;YOLOv8网络分成了三部分&#xff0c;分别是主干网络…

制鞋5G智能工厂数字孪生可视化平台,推进行业数字化转型

制鞋5G智能工厂数字孪生可视化平台&#xff0c;推进行业数字化转型。随着科技的飞速发展&#xff0c;5G技术与智能制造的结合正成为推动制鞋行业数字化转型的重要力量。制鞋5G智能工厂数字孪生可视化平台&#xff0c;不仅提高了生产效率&#xff0c;还优化了资源配置&#xff0…

【Linux系统编程】31.pthread_detach、线程属性

目录 pthread_detach 参数pthread 返回值 测试代码1 测试结果 pthread_attr_init 参数attr 返回值 pthread_attr_destroy 参数attr 返回值 pthread_attr_setdetachstate 参数attr 参数detachstate 返回值 测试代码2 测试结果 线程使用注意事项 pthread_deta…

SpringCloud:认识微服务

程序员老茶 &#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; P   S : 点赞是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#…

NSSCTF | [SWPUCTF 2021 新生赛]easy_sql

打开题目&#xff0c;提示输入一些东西&#xff0c;很显眼的可以看到网站标题为“参数是wllm” 首先单引号判断闭合方式 ?wllm1 报错了&#xff0c;可以判断为单引号闭合。 然后判断字节数&#xff08;注意‘--’后面的空格&#xff09; ?wllm1 order by 3-- 接着输入4就…

[Linux][网络][网络层][IP协议]详细讲解

目录 0.基本概念1.IP协议头格式2.IP分片与组装1.为什么要分片&#xff1f;2.分片后谁来组装&#xff1f;3.这个分片操作传输层知道吗&#xff1f;4.如何识别报文和报文的不同&#xff1f;5.接收端&#xff0c;如何得知报文是独立的还是一个分片&#xff1f;6.如何区别哪些分片是…

UDP和TCP协议比较,TOE技术

如今在某些方面TCP超越UDP的主要原因如下 在硬件层面的TOE(TCP Offload Engine)功能&#xff0c;将越来越多的TCP功能卸载到网卡上。它极大地提升了TCP的性能&#xff0c;使其在高吞吐量场景下的表现更为出色。近年TCP的拥塞控制算法实现了显著进步。这些新算法显著提高了TCP在…

macos安装mysql一直卡在安装成功那个页面选项的解决办法

问题描述&#xff1a; 我安装的是比较新的版本8.0.37&#xff0c;安装过程中一直卡在安装那个选项上&#xff0c;且页面提示安装成功了&#xff0c;但就是死活不往下面的配置选项那一步走。 解决办法&#xff1a; 1.首先清理掉之前的mysql sudo rm -rf /usr/local/mysql2.然…

软件技术主要学什么课程

软件技术专业主要学习的课程和内容有编程语言、数据结构与算法、数据库技术等&#xff0c;以下是上大学网( www.sdaxue.com)整理的软件技术主要学什么课程&#xff0c;供大家参考&#xff01; 编程语言&#xff1a;掌握一种或多种编程语言&#xff0c;如C#、Java、Python、C等&…

Python 2.x与Python 3.x:初学者该如何选择?

自从Python在1994年首次发布以来,已经经历了多个版本的更新和改进。Python 1.x虽然在发展史上具有重要意义,但早已过时,不再用于实际开发。2000年发布的Python 2.x和2008年发布的Python 3.x则成为了Python家族中最常用的两个版本,形成了一个重要的分界线。特别是Python 3.x…

GPU通用计算介绍

谈到 GPU &#xff08;Graphics Processing Unit&#xff0c;图形显示卡&#xff09;大多数人想到的是游戏、图形渲染等这些词汇&#xff0c;图形处理确实是 GPU 的一大应用场景。然而人们也早已关注到它在通用计算上的巨大潜力&#xff0c;并提出了 GPGPU (General-purpose co…

本地搭建hydra服务用go以验证oidc流程

目录 1、docker搭建hydra&#xff0c;环境配置&#xff1a; 2、搭建完成后服务调用&#xff1a; 2.1保证服务正常启动&#xff1a; 2.2 通过postman调用&#xff0c;获取client_id&#xff1a; 2.3 通过client_id&#xff0c;实现oauth2/auth调用 3. 通过go语言实现oidc验…

jsp 实验12 servlet

一、实验目的 掌握怎样在JSP中使用javabean 二、实验项目内容&#xff08;实验题目&#xff09; 编写代码&#xff0c;掌握servlet的用法。【参考课本 上机实验1 】 三、源代码以及执行结果截图&#xff1a; 源代碼&#xff1a; inputVertex.jsp&#xff1a; <% page lang…

免费思维13招之四:主副型思维

免费思维13招之四:主副型思维 本节,给你分享一下产品型思维的第二种子思维:主副型思维 什么是主副型思维呢?传统的主副型思维是指对企业的核心、利润最高的产品进行收费,一些附加品、延伸产品进行让利,赠送给客户。 但是这早已过时了,现在升级之后的产品型思维,就是将…

​​​​【收录 Hello 算法】4.4 内存与缓存

目录 4.4 内存与缓存 4.4.1 计算机存储设备 4.4.2 数据结构的内存效率 4.4.3 数据结构的缓存效率 4.4 内存与缓存 在本章的前两节中&#xff0c;我们探讨了数组和链表这两种基础且重要的数据结构&#xff0c;它们分别代表了“连续存储”和“分散存储”两种物理…

如何防止WordPress网站内容被抓取

最近在检查网站服务器的访问日志的时候&#xff0c;发现了大量来自同一个IP地址的的请求&#xff0c;用站长工具分析确认了我的网站内容确实是被他人的网站抓取了&#xff0c;我第一时间联系了对方网站的服务器提供商投诉了该网站&#xff0c;要求对方停止侵权行为&#xff0c;…

16【PS Aseprite 作图】图像从Aseprite传输到PS

【内容背景】Aseprite很适合做像素图&#xff0c;有一个“完美像素”的选项&#xff0c;就不用在PS里面慢慢修线&#xff0c;能够省事很多 【具体操作】 勾选完美像素 Aseprite里面的“完美像素”能够减少修线的步骤&#xff0c;在“作图”的时候一定要注意勾选 导出 选择…
最新文章