DNS 服务 Unbound 部署最佳实践

文章目录

    • 安装
    • unbound-control
    • 配置
    • 启动服务
    • 测试

参考:

  • 官网地址:https://nlnetlabs.nl/projects/unbound/about/

  • 详细文档:https://unbound.docs.nlnetlabs.nl/en/latest/index.html

  • DNS服务Unbound部署于使用

  • https://cloud.tencent.com/developer/article/2314579

安装

Centos

yum install -y unbound

ubuntu

apt install unbound -y

unbound-control

远程管理服务

格式
unbound-control [-h] [-c cfgfile] [-s server] command

  • -h 显示版本和命令行选项帮助。

  • -c <配置文件> 所要使用的配置文件。/usr/local/etc/unbound/unbound.conf如果未给出,则使用默认配置文件 。

  • -s <服务器[@端口]> 要联系的服务器的 IPv4 或 IPv6 地址。如果未给出,则从配置文件中读取地址。
    command部分

  • start 使用-c指定的配置文件启动服务,如果没指定,则使用默认配置文件

  • stop 停止服务

  • reload 重新加载配置文件,未指定则重新加载默认配置文件

  • status 显示服务状态。退出代码 3 如果没有运行(端口连接被拒绝),错误为 1,如果运行为 0。

  • reload_keep_cache 重新加载服务器,但如果(重新)配置允许,请尝试保留 RRset 和消息缓存。 这意味着缓存大小和线程数在重新加载之间不得更改。

  • verbosity 设置日志等级,与配置文件中的verbosity字段等同

  • stats 打印统计数据。将内部计数器重置为零,这可以使用 statistics-cumulative: config 语句进行控制。每行打印一个统计信息。[name]: [value]

  • stats_noreset 查看统计数据。像 stats 命令一样打印它们,但不会将内部计数器重置为零。

  • local_zone 添加具有名称和类型的新本地区域。像本地区域配置语句。如果区域已经存在,则类型更改为给定的参数。

  • local_zone_remove 删除具有给定名称的本地区域。删除其中的所有本地数据。如果该区域不存在,则命令成功。

  • local_data <RR data...> 添加新的本地数据,给定的资源记录。类似于local-data:关键字,除非不存在覆盖区域。在这种情况下,此远程控制命令会创建一个与此记录同名的透明区域。

  • local_data_remove 从本地名称中删除所有 RR 数据。如果该名称已经没有项目,则什么也不会发生。通常会导致名称的 NXDOMAIN(在静态区域中),但如果名称已变为空的非终结符(已删除名称下方的域名中仍有数据),则 NOERROR 无数据答案是该名称的结果。

  • local_zones, local_zones_remove, local_datas, local_datas_remove 这些跟上面的相同,只是批量添加,从标准输入中读取 每行一条

  • dump_cache 缓存的内容以文本格式打印到标准输出。您可以将其重定向到文件以将缓存存储在文件中。

  • load_cache 缓存的内容是从标准输入加载的。使用与 dump_cache 相同的格式。用旧的或错误的数据加载缓存可能会导致将旧的或错误的数据返回给客户端。支持以这种方式将数据加载到缓存中以帮助调试。

  • lookup 将用于查找指定名称的名称服务器打印到标准输出。

  • flush 刷新缓存,从缓存中删除名称。删除类型 A、AAAA、NS、SOA、CNAME、DNAME、MX、PTR、SRV、NAPTR、SVCB 和 HTTPS。因为这样做很快。可以使用flush_type或flush_zone删除其他记录类型。

  • flush_type 从缓存中删除名称、类型信息。

  • flush_zone 从缓存中删除名称处或名称下方的所有信息。删除 rrsets 和键条目,以便执行新的查找。这需要遍历和检查整个缓存,并且是一个缓慢的操作。条目在该命令的实现中被设置为过期(因此,启用服务过期后,它将提供该信息但安排预取新信息)。

  • flush_stats 缓存计数清零

  • flush_requestlist 刷新请求列表

  • dump_requestlist 显示正在处理的内容。打印服务器当前正在处理的所有查询。打印用户等待的时间。对于内部请求,不会打印时间。然后打印出模块状态。这将打印来自第一个线程的查询,而不是正在从其他线程提供服务的查询。

  • flush_infra [all | ip] 如果是all,则整个基础设施缓存被清空。如果是特定 IP 地址,则该地址的条目将从缓存中删除。它包含 EDNS、ping 和跛行数据。

  • list_stubs 列出正在使用的根区域。这些被一一打印到输出中。这包括正在使用的根提示。

  • list_forwards 列出正在使用转发的区域。这些按区域打印到输出。

  • list_insecure 列出不安全的区域。

  • list_local_zones 列出正在使用的本地区域。这些以区域类型每行打印一个。

  • list_local_data 列出正在使用的本地数据 RR。打印资源记录。

  • list_auth_zones 列出配置的授权区域。每行打印一个状态,指示区域是否过期和当前序列号。包括已配置的 RPZ 区域。

  • forward_add [+i] zone addr… 添加一个新的前向区域以运行 Unbound。With+i选项还为该区域添加了一个不安全的域(因此如果您为其他名称配置了 DNSSEC 根信任锚,它可以不安全地解析)。地址可以是 IP4、IP6 或名称服务器名称,如 unbound.conf 中的 forward-zone 配置。

  • forward [off | addr …] 设置转发模式。配置服务器是否应该询问其他上游名称服务器,应该去互联网根名称服务器本身,还是显示当前配置。您可以在 DHCP 更新后传递名称服务器。

  • 如果没有参数,则打印用于将所有查询转发到的当前地址列表。在启动时,这是来自前向区"."配置。之后它显示状态。当没有使用转发时,它会打印出来。

  • 如果传递了 off,则禁用转发并使用根名称服务器。这可用于避免错误或非 DNSSEC 支持从 DHCP 返回的名称服务器。但可能不适用于酒店或热点。

  • 如果给出了一个或多个 IPv4 或 IPv6 地址,则这些地址将用于转发查询。地址必须用空格分隔。可以-显’@port’式设置端口号(默认端口为 53 (DNS))。

  • "."默认情况下,使用根配置文件中的转发器信息 。配置文件未更改,因此重新加载后这些更改将消失。配置文件中的其他转发区域不受此命令的影响

配置

配置的格式是以键值对的形式配置

注释以 # 开头,一直到行尾。 空行和行首的空格一样被忽略。

下面是一个最小的配置文件。源代码分发包含一个example.conf包含所有选项的扩展文件。

 cat  /etc/unbound/conf.d/my.conf 
server: # 设置监听所有本地网络地址interface: 0.0.0.0# 限制只允许哪些地址可以使用该DNS服务port: 53do-ip4: yesdo-udp: yesaccess-control: 127.0.0.0/8 allow       # 允许本地访问access-control: 192.168.0.0/16 allow    # 允许指定网段访问module-config: "iterator"       # 禁用DNSSEC的校验功能, 否则后面的转发会失败logfile: "/var/log/unbound.log" # 自定义日志存放的文件, 注意设置该文件的权限 chown unbound:unbounduse-syslog: no  # 关闭系统级的日志输出, 使用journalctl就看不到了log-queries: yes        # 日志中记录详细的查询记录verbosity: 1    # 日志记录的详细程度, 0代表不记录详细信息, 范围1-5越高越啰嗦local-zone: "upcr.com." staticlocal-data: "demo.upcr.com A 192.168.48.24"local-data-ptr: "192.168.48.24 demo.upcr.com"local-data: "demo.upcr.com A 192.168.48.25"local-data-ptr: "192.168.48.25 demo.upcr.com"local-data: "demo.upcr.com A 192.168.48.26"local-data-ptr: "192.168.48.26 demo.upcr.com"# 对指定域名进行条件转发forward-zone:name: "."forward-addr: "119.29.29.29"forward-addr: "223.5.5.5"stub-zone:name: "upcr.com"stub-addr: 10.168.48.10

启动服务

重启服务

systemctl restart unbound && systemctl status unbound

测试

$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.48.10
nameserver 8.8.8.8
search localhost$ dig demo.upcr.com ; <<>> DiG 9.16.23 <<>> demo.upcr.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43494
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;demo.upcr.com.                 IN      A;; ANSWER SECTION:
demo.upcr.com.          3600    IN      A       192.168.48.25
demo.upcr.com.          3600    IN      A       192.168.48.26
demo.upcr.com.          3600    IN      A       192.168.48.24;; Query time: 0 msec
;; SERVER: 192.168.48.10#53(192.168.48.10)
;; WHEN: Mon Mar 25 22:25:29 CST 2024
;; MSG SIZE  rcvd: 90

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Filter、Listener、AJAX

Filter 概念&#xff1a;Filter 表示过滤器&#xff0c;是JavaWeb三大组件(Servlet、Filter、 Listener)之一。 过滤器可以把对资源的请求拦截下来&#xff0c;从而实现一些特殊的功能。 过滤器一般完成一些通用的操作&#xff0c;比如&#xff1a;权限控制、统一编码处理、敏感…

CentOS使用Docker部署Halo并结合内网穿透实现公网访问本地博客

文章目录 1. Docker部署Halo1.1 检查Docker版本如果未安装Docker可参考已安装Docker步骤&#xff1a;1.2 在Docker中部署Halo 2. Linux安装Cpolar2.1 打开服务器防火墙2.2 安装cpolar内网穿透 3. 配置Halo个人博客公网地址4. 固定Halo公网地址 本文主要介绍如何在CentOS 7系统使…

Nextcloud激活被锁用户

Nextcloud激活用户 如果docker下没有安装sudo 和 vim执行下面命令&#xff0c;安装了则跳过 #进入docker内部 #更新apt-get apt-get update #安装sudo apt-get install sudo #安装vim apt-get install vim 修改下面文件内容&#xff0c;否则执行occ命令可能报错 进入上面查询…

连接数据库(MySQL)的JDBC

目录 JDBC简介快速入门API详解DriverManager&#xff08;驱动管理类&#xff09;注册驱动&#xff1a;获取数据库连接(对象)&#xff1a; Connection&#xff08;数据库连接对象&#xff09;获取执行SQL的对象管理事务 Statement(执行SQL语句)执行DML、DDL语句执行DQL语句 Resu…

轨迹预测后处理之非极大值抑制(NMS)

非极大值抑制是图像处理里面的一种算法&#xff08;比如边缘检测会使用到&#xff09; 轨迹预测这里借鉴了其思想&#xff0c;比如说对于某个场景中的某辆车&#xff0c;我们使用模型预测 64 条轨迹或者更多&#xff0c;以很好地捕获多模态性&#xff0c;同时每条轨迹对应一个…

JavaScript 基础、内置对象、BOM 和 DOM 常用英文单词总结

一提到编程、软件、代码。对于英语不是很熟悉的同学望而却步。其实没有想像中的难么难&#xff0c;反复练习加上自己的思考、总结&#xff0c;会形成肌肉记忆。整理一下&#xff0c;初学者每天30遍。 1、JavaScript 基础语法 break&#xff1a;中断循环或 switch 语句的执行。…

Gif动图怎么快速制作?两招教你在线做

Gif动图作为一种实用的图片格式&#xff0c;因为其体积小&#xff0c;画面丰富&#xff0c;所以在各大聊天软件中非常的受欢迎。小伙伴们是不是很好奇这种gif动态图片是如何制作的吧&#xff01;下面&#xff0c;小编就给大家分享两个快速制作gif动画的小技巧&#xff01;不用下…

Matlab从入门到精通课程

教程介绍 MATLAB是美国MathWorks公司出品的商业数学软件&#xff0c;用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人&#xff0c;控制系统等领域。 学习地址 链接&#xff1a;https://pan.baidu.com/s/1PxGarBwQusMzwPVqcE…

内网使用rustdesk进行远程协助

文章目录 前言一、搭建rustdesk中继服务器二、搭建文件下载服务器三、创建引导脚本四、使用 前言 内网没有互联网环境&#xff0c;没法使用互联网上有中继服务器的远程协助工具&#xff0c;如teamviewer、todesk、向日癸等&#xff1b;在内网进行远程维护可以自己搭建中继服务…

TS + Vue3 elementUI 表格列表中如何方便的标识不同类型的内容,颜色区分 enum

TS Vue3 elementUI 表格列表中如何方便的标识不同类型的内容&#xff0c;颜色区分 enum 本文内容为 TypeScript 一、基础知识 在展示列表的时候&#xff0c;列表中的某个数据可能是一个类别&#xff0c;比如&#xff1a; enum EnumOrderStatus{"未受理" 1,"…

python能做什么

python能做什么 Web开发&#xff1a;Python具有许多流行的Web框架&#xff0c;如Django和Flask&#xff0c;使得它成为Web开发的首选语言。它简洁、易于学习、且拥有丰富的生态系统&#xff0c;能够快速构建高性能的Web应用。 数据科学和机器学习&#xff1a;Python在数据科学…

51单片机—直流电机

1.元件介绍 2.驱动电路 3.电机调速 一般会保证一个周期的时间是一样的 应用&#xff1a; 1.LED呼吸灯 #include <REGX52.H>sbit LEDP2^0;void Delay(unsigned int t) {while(t--); } void main() {unsigned char Time,i;while(1){for(Time0;Time<100;Time){for(i0;…

【MATLAB源码-第16期】基于matlab的MSK定是同步仿真,采用gardner算法和锁相环。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 **锁相环&#xff08;PLL&#xff09;** 是一种控制系统&#xff0c;用于将一个参考信号的相位与一个输入信号的相位同步。它在许多领域中都有应用&#xff0c;如通信、无线电、音频、视频和计算机系统。锁相环通常由以下几个…

matlab和stm32的安装环境。能要求与时俱进吗,en.stm32cubeprg-win64_v2-6-0.zip下载太慢了

STM32CubeMX 6.4.0 Download STM32CubeProgrammer 2.6.0 Download 版本都更新到6.10了&#xff0c;matlab还需要6.4&#xff0c;除了st.com其他地方都没有下载的,com.cn也没有。曹 还需要那么多固件安装。matlab要求制定固件位置&#xff0c;然后从cubemx中也指定…

mac WPS 无格式粘贴

操作办法 文件–文字偏好设置–编辑–剪切和粘贴选项

基于yolov8安全帽检测的系统

基于yolov8安全帽检测的系统 项目描述&#xff1a; 安全头盔检测&#xff08;计算机视觉&#xff09; 1.自训练数据集1538张数据图片&#xff0c;进行标注&#xff0c;并进行100轮的训练&#xff0c;准确率达0.966 2.使用 Flask 和 Ultralytics YOLOv8 模型开发了一个 Web 应…

阿里CICD流水线Docker部署,将阿里镜像私仓中的镜像部署到服务器中

文章目录 阿里CICD流水线Docker部署&#xff0c;将阿里镜像私仓中的镜像部署到服务器中一、CICD流水线的初步使用可以看我之前的两篇文章二、添加部署任务&#xff0c;进行Docker部署&#xff0c;创建一个阿里的试用主机1、选择主机部署&#xff0c;并添加服务主机2、创建免费体…

Excel·VBA数组平均分组问题

看到一个帖子《excel吧-数据分组问题》&#xff0c;对一组数据分成4组&#xff0c;使每组的和值相近 上一篇文章《ExcelVBA数组分组问题》&#xff0c;解决了这个帖子问题的第1步&#xff0c;即获取所有数组分组形式的问题 接下来要获取分组和值最相近的一组&#xff0c;只需计…

鸿鹄工程项目管理系统源码:Spring Boot带来的快速开发与部署体验

随着企业规模的不断扩大和业务的快速发展&#xff0c;传统的工程项目管理方式已经无法满足现代企业的需求。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性&#xff0c;企业需要借助先进的数字化技术进行转型。本文将介绍一款采用Spring CloudSpring BootMybat…

flask_restful结合蓝图使用

在蓝图中&#xff0c;如果使用 Flask_RESTful &#xff0c; 创建 Api 对象的时候&#xff0c;传入蓝图对象即可&#xff0c;不再是传入 app 对象 /user/__init__.py from flask.blueprints import Blueprintuser_bp Blueprint(user,__name__)from user import views /user…