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: 53
        do-ip4: yes
        do-udp: yes
        access-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:unbound
        use-syslog: no  # 关闭系统级的日志输出, 使用journalctl就看不到了
        log-queries: yes        # 日志中记录详细的查询记录
        verbosity: 1    # 日志记录的详细程度, 0代表不记录详细信息, 范围1-5越高越啰嗦
    local-zone: "upcr.com." static
    local-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

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

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

相关文章

cryptography,一个神奇的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个神奇的 Python 库 - cryptography。 Github地址&#xff1a;https://github.com/pyca/cryptography 在当今数字化时代&#xff0c;信息安全越来越受到重视。数据加密是保护…

海外媒体发稿:9种高效的媒体套餐内容发稿策略分析-华媒舍

海外媒体发稿&#xff1a;9种高效的媒体套餐内容发稿策略分析高效的媒体发布和营销推广策略对公司、本人的成就尤为重要。下面我们就对于媒体套餐内容发稿营销推广策略开展全面解析&#xff0c;帮助读者掌握并应用这9种合理的思路&#xff0c;进而获得更好的媒体营销效果。 1.媒…

基于react native的自定义轮播图

基于react native的自定义轮播图 效果示例图示例代码 效果示例图 示例代码 import React, {useEffect, useRef, useState} from react; import {Animated,PanResponder,StyleSheet,Text,View,Dimensions, } from react-native; import {pxToPd} from ../../common/js/device;c…

小目标检测篇 | YOLOv8改进之GSConv + Slim Neck提升小目标检测效果

前言:Hello大家好,我是小哥谈。在文章中,作者提出了一种新方法GSConv来减轻模型的复杂度并保持准确性。GSConv可以更好地平衡模型的准确性和速度。并且,提供了一种设计范式Slim Neck,以实现检测器更高的计算成本效益。实验过程中,与原始网络相比,改进方法获得了最优秀的…

GDAl 之绘制栅格图像的大致直方图和精准直方图(8)

gdal的绘制大致直方图是仅查看概览或者抽样像素的一个子集 import os from osgeo import gdal import matplotlib.pyplot as plt import numpy as np# Dont forget to change directory. os.chdir(rD:\DeskTop\learn_py_must\Learn_GDAL\osgeopy-data\osgeopy-data\Switzerlan…

基于Selenium+Python的web自动化测试框架!

简介&#xff1a; 本文将详细介绍如何运用Python结合Selenium WebDriver库搭建web自动化测试框架。 一、什么是Selenium&#xff1f; Selenium是一个基于浏览器的自动化测试工具&#xff0c;它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分…

音视频处理 - 音频概念详解,码率,采样率,位深度,声道,编码

1. 音频采样 与视频不同&#xff0c;音频的最小单位不是一帧&#xff0c;而是一个采样。 采样是当前一刻声音的声音样本&#xff0c;样本需要经过数字转换才能存储为样本数据。 真实声音是连续的&#xff0c;但是在计算机中&#xff0c;声音是离散且均匀的声音样本。 2. 位深…

ER图与关系模型

1.设某商业集团数据库中有三个实体集。 “公司”实体集&#xff0c;属性有公司编号、公司名、地址等&#xff1b; “仓库”实体集&#xff0c;属性有仓库编号、仓库名、地址等&#xff1b; “职工”实体集&#xff0c;属性有职工编号、姓名、性别等。公司与仓库间存在“隶属…

《被讨厌的勇气》读书思考笔记 (好书推荐)

《被讨厌的勇气》是一本由日本心理学家岸见一郎和奥冈昌高合著的畅销心理成长书籍。这本书基于心理学家阿尔弗雷德阿德勒的思想&#xff0c;介绍了“自我决定心理学”的观点&#xff0c;探讨了人们如何克服害怕失败&#xff0c;勇敢追求自己真正想要的生活。这本书在心理学、自…

HCIP的学习(4)

GRE和MGRE VPN---虚拟专用网络。指依靠ISP&#xff08;运营商&#xff09;或其他公有网络基础设施上构建的专用的安全数据通信网络。该网络是属于逻辑上的。​ 核心机制—隧道机制&#xff08;封装技术&#xff09; GRE—通用路由封装 ​ 三层隧道技术&#xff0c;并且是属于…

Git基础(23):Git分支合并实战保姆式流程

文章目录 前言准备正常分支合并1. 创建两个不冲突分支2. 将dev合并到test 冲突分支合并1. 制造分支冲突2. 冲突合并 前言 Git分支合并操作 准备 这里先在Gitee创建了一个空仓库&#xff0c;方便远程查看内容。 正常分支合并 1. 创建两个不冲突分支 &#xff08;1&#xf…

Tableau项目案例-网上超市运营分析

一、数据简要介绍 超市运营分析.xlsx 1、客户分析 交易次数统计 购买次数即购买频率,是指消费者在一定时期内购买某种或某类商品的次数。 用tableau打开excel文件 双击城市字段,会显出出一个地图 类别字段也拖到筛选器上,如上操作相同

AI论文速读 | 具有时间动态的路网语义增强表示学习

论文标题&#xff1a; Semantic-Enhanced Representation Learning for Road Networks with Temporal Dynamics 作者&#xff1a; Yile Chen&#xff08;陈亦乐&#xff09; ; Xiucheng Li&#xff08;李修成&#xff09;; Gao Cong&#xff08;丛高&#xff09; ; Zhifeng Ba…

管理能力学习笔记四:团队发展四阶段

组建期 管理方式 动荡期 领导方式 规范期 管理方式 高产期 管理方式 高产期的注意点

FL Studio21.2.3最新中文编曲音乐制作软件新版本功能介绍

一、前言 随着科技的发展&#xff0c;越来越多的人开始尝试自己创作音乐。然而&#xff0c;传统的音乐制作过程复杂繁琐&#xff0c;需要昂贵的硬件设备和专业的知识技能。那么&#xff0c;有没有一款软件可以让普通人也能轻松地制作出专业级别的音乐作品呢&#xff1f;答案就…

什么是 ECMAScript,它与 JavaScript 有何不同

什么是 ECMAScript? 关于 JavaScript](https://cloudaffle.com/history-of-javascript/)的[历史以及它是如何产生的,有一个完整的故事。长话短说,ECMAScript 中的 ECMA 是指欧洲计算机制造商协会,早在 1997 年就向该协会提交了 JavaScript 1.1 进行标准化。创建了一个技术委员…

机器学习(二)

线性模型: 离散转为连续的变换: 检查是否有“序”的变化&#xff0c;若有“序”&#xff0c;则连续化&#xff1b;否则&#xff0c;转化为k维向量 最小二乘解: 多元线性回归: 广义线性模型: 线性判别分析: 由于将样例投影到一条直线(低维空间)&#xff0c;因此也被视为一种&q…

洛谷1803

P1803 凌乱的yyy / 线段覆盖 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 所需知识&#xff1a;贪心 本来还想用dfs bfs搜索来一点一点做的&#xff0c;看到了大佬的思路之后&#xff0c;直接orz了 整体思路&#xff1a;因为要想尽可能的多参加比赛&#xff0c;所以越早结…

MySQL 经典练习 50 题 (记录)

前言&#xff1a; 记录一下sql学习&#xff0c;仅供参考基本都对了&#xff0c;不排除有些我做的太快做错了。里面sql不存在任何sql优化操作&#xff0c;只以完成最后输出结果为目的&#xff0c;包含我做题过程和思路最后一行才是结果。 1.过程: 1.1.插入数据 /* SQLyog Ul…

《论文阅读》TSAM:一个因果情绪蕴含的双流注意模型 COLING 2022

《论文阅读》TSAM:一个因果情绪蕴含的双流注意模型 前言简介方法整体流程图上下文语句表示Two-Stream Attention Model(TSAM)原因预测实验结果前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《TSAM:…