图示详解OpenEuler下 DNS安装、配置与测试

前言

DNS配置内容、步骤、参数较多,初学者很难短时间掌握,另外,理解DNS工作原理也有一定的难度,一次配置成功的概率不大,因此,建议在配置DNS之前,先读一下之前笔者的博文《详解DNS工作原理及实例分析》。配置重点掌握三个文件:主配置文件、区域配置文件和区域文件,这三个文件分别承担怎样的任务?相互之间有什么先后、依存关系?具体参数含义是什么?都是认真思考和对待的,笔者用一个示意图,力图说明三个文件的关系。

需要特别指出的是,主配置文件named.conf、区域配置文件named.rfc1912.zones是bind服务安装后就有了,只需要修改配置即可;而区域文件则需要创建的新文件, 但在区域配置文件中需指定文件名及路径。

 一. DNS安装

在OpenEuler系统中,DNS服务通常由`bind`或`dnsmasq`提供。以下是bind安装步骤:

1、 安装bind服务:

dnf install -y bind 

2.、安装bind成功,如图所示。 

二、 DNS配置

1、客户端配置:

编辑`/etc/resolv.conf`文件,添加DNS服务器地址:
vim /etc/resolv.conf

添加以下内容:
nameserver 192.168.157.129
这里配置DNS服务器的IP地址。

2、 服务端配置:

(1) 修改主配置文件'bind':
cp /etc/named.conf /etc/named.conf.bak

修改配置文件之前,备份该文件是个好习惯,以防配置过程将配置文件能乱,及时将配置文件回复。
vim /etc/named.conf

主配置文件内容如图所示。

 修改以下内容:
listen-on port 53 { any; };
allow-query     { any; };

其中 listen-on port 53 { any; }; 这行配置指示DNS服务器在TCP和UDP的53端口上监听来自任何地址的请求。端口53是DNS协议的标准端口。`any;` 表示服务器将接受来自任何IP地址的请求。

   - `listen-on` 是BIND中用于指定服务器监听的网络接口的指令。
   - `port 53` 指定了端口号,这里是DNS协议默认的端口53。
   - `{ any; }` 是一个括号内的声明,表示服务器将监听所有网络接口的53端口。`any` 是一个特殊的地址,代表所有地址。
   allow-query { any; };  这行配置指定了哪些客户端可以向DNS服务器发送查询请求。`any;` 表示允许任何客户端向服务器查询DNS记录。

   - `allow-query` 是一个访问控制指令,用于限制谁可以对DNS服务器进行查询。
   - `{ any; }` 表示允许所有客户端进行查询,没有任何限制。

在实际部署中,出于安全考虑,可能需要对这些设置进行限制。例如,你可能只想允许特定网络或地址范围的客户端进行查询,或者只允许特定的服务器进行区域传送(transfer)。在这种情况下,你可以将`any`替换为特定的IP地址或网络段,如:
listen-on port 53 { 192.168.1.0/24; };
allow-query { 192.168.1.0/24; };
这样,只有`192.168.1.0/24`网络段内的客户端能够查询DNS服务器。

(2) 修改区域配置文件`/etc/named.rfc1912.zones`:
cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak
vim /etc/named.rfc1912.zones
添加区域配置:
zone "zhu.com" IN {
    type master;
    file "/etc/named/zhu.com.zone";
};

配置后文件如图所示。 

(3) 创建区域文件`/etc/named/zhu.com.zone`:

touch /etc/named/zhu.com.zone
vim /etc/named/zhu.com.zone

添加区域记录,例如:
$TTL 86400
@   IN  SOA  ns1.zhu.com. admin.zhu.com. (
        2021042801  ; Serial
        3600        ; Refresh
        1800        ; Retry
        604800      ; Expire
        86400       ; Minimum TTL
)
; 定义NS记录
@       IN      NS      ns1.zhu.com.

; 定义A记录
ns1     IN      A       192.168.157.128
www     IN      A       192.168.1.128

下面是对配置的注释和解释:
$TTL 86400
这行设置了默认的记录存活时间(Time To Live,TTL),单位是秒。这里设置为86400秒,即24小时。这意味着除非本地DNS服务器的缓存被刷新,否则DNS记录将在缓存中保存24小时。
@ IN SOA ns1.zhu.com. admin.zhu.com. (
      2021042801 ; Serial
      3600        ; Refresh
      1800        ; Retry
      604800      ; Expire
      86400       ; Minimum TTL
)
这是一个SOA(Start of Authority)记录,标志着区域文件的开始,并包含有关DNS区域的重要信息:
- `@` 表示默认域名,通常与区域的名称相同。
- `IN` 表示记录的类别是Internet。
- `SOA` 是“Start of Authority”的缩写。
- `ns1.zhu.com.` 是主DNS服务器的主机名。
- `admin.zhu.com.` 是管理这个区域文件的管理员的联系邮箱,通常以`.`结束。
- `2021042801` 是序列号,用于版本控制。
- `3600` 是刷新时间,指定从属DNS服务器多久向主DNS服务器查询一次以获取更新。
- `1800` 是重试时间,指定如果从属DNS服务器在刷新时间内未能联系到主DNS服务器,它将尝试联系的频率。
- `604800` 是过期时间,指定从属DNS服务器在放弃这个区域文件之前等待主DNS服务器响应的最大时间。
- `86400` 是最小TTL值,指定DNS记录的最小存活时间。
; 定义NS记录
@         IN      NS      ns1.zhu.com.
这是一个NS(Name Server)记录,定义了哪个DNS服务器是这个区域的权威DNS服务器。这里指定`ns1.zhu.com`是权威DNS服务器。
; 定义A记录
ns1      IN      A       192.168.157.128
www      IN      A       192.168.157.128
这些是A(Address)记录,将主机名映射到IPv4地址:
- `ns1` 是一个主机名,`IN` 表示记录的类别是Internet,`A` 表示这是一个地址记录,`192.168.157.128` 是这个主机名对应的IPv4地址。
- `www` 是一个常见的主机名,通常用于指向网站的主服务器。这里它被映射到IPv4地址`192.168.157.128`。

整个配置定义了一个基础的DNS区域,包括一个SOA记录,一个NS记录,和两个A记录。

(4) 检查配置文件:
named-checkconf
named-checkzone zhu.com /etc/named/zhu.com.zone

(5) 重启`named`服务:
systemctl restart named
systemctl enable named

检查named服务状态:
systemctl status named

查看named服务端口是否已开启:

netstat -tulnp | grep 53

3. DNS测试

使用`dig`或`nslookup`命令测试DNS解析:
dig @127.0.0.1 www.zhu.com
nslookup www.zhu.com
检查返回的IP地址是否正确。如图所示,该DNS正确的解析了域名对应的IP地址。

4、常见问题

1. DNS服务启动失败:检查配置文件语法是否正确,使用`named-checkconf`和`named-checkzone`命令检查。

2. DNS解析失败:确认`resolv.conf`文件中的nameserver设置正确,检查网络连接。

3. DNS服务重启后配置失效:确认配置文件更改后是否被正确保存,重启服务时是否使用了正确的命令。

通过以上步骤,你可以在OpenEuler系统中安装、配置和测试DNS服务。

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

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

相关文章

(20)MATLAB使用卡方(chi-square)分布生成Nakagami-m分布

文章目录 前言一、使用卡方分布函数生成Nakagami分布随机变量二、MATLAB仿真1.仿真代码2.运行结果 前言 Nakagami分布随机变量的生成,可以使用gamma分布实现,也可以使用卡方(chi-square)分布随机变量生成。使用伽马(g…

120页满分PPT | 企业级业务架构和IT架构规划方案

方案内容综述 方案涵盖了从战略分析到具体实施路径的内容。提出了IT架构规划的工作思路,包括项目启动、部门访谈、资料收集、内部数据库搜索与先进实践研究等步骤,旨在通过这些步骤完成现状及差距分析,并基于此设计未来的应用架构、数据架构…

算法:724.寻找数组的中心下标

题目 链接:leetcode链接 思路分析(前缀和) 根据题意,我们可以将数组看成三个部分 [left] [mid] [right] 我们只需要[left]区间内的元素和等于[right]区间的元素和即可,此时mid就是中心下标 那么我们可以借助前缀和思…

鸿蒙开发之ArkUI 界面篇 二十 position绝对定位及层级zIndex

position控制组件的位置,可以实现层叠效果,Android中的FramLayout,通常用在左上角有些图标之类,绝对定位后的组件不占用自身原有位置,每个子组件都有这个属性,只是不用这个属性的时候不起作用,.zIndex()属性要和positi…

微服务——分布式事务

目录 分布式事务 1.1分布式事务的特性 1.2分布式事务应用背景 ​编辑 1.3.认识Seata 1.4部署TC服务 1.4.1.准备数据库表 1.4.2.准备配置文件 1.4.3.Docker部署 1.5.微服务集成Seata 1.5.1.引入依赖 1.5.2.改造配置 1.5.3.添加数据库表 ​编辑1.6.XA模式 1.6.1.两…

聊聊Mysql的MVCC

1 什么是MVCC? MVCC,是Multiversion Concurrency Control的缩写,翻译过来是多版本并发控制,和数据库锁一样,他也是一种并发控制的解决方案。 我们知道,在数据库中,对数据的操作主要有2种&#…

【数据结构 | PTA】表

文章目录 7-1 重排链表7-2 链表去重7-3 两个有序链表序列的合并7-4 两个有序链表序列的交集 7-1 重排链表 输入格式: 每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤105)。结点的地址是5位非负整数&#xff…

K8s持久化存储PV和PVC(通俗易懂)

一、PV和PVC的引入 Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足。 拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EBS。EBS Volume 已经提前创建,并且知道确切的 volume-id。Pod 通常是由应用的开发人员…

Linux安装配置Jupyter Lab并开机自启

文章目录 1、安装配置jupyter lab首先需要使用pip3安装:生成配置文件和密码: 2、设置开机自启首先通过which jupyter查询到可执行文件路径:设置自启服务: 1、安装配置jupyter lab 首先需要使用pip3安装: pip3 instal…

细说机器学习和深度学习

背景 平常业务开发中每天都要接触到机器学习和深度学习的概念,在听了很多大佬的普及后,发现甚是有趣。于是小编想着着手开始学习这部分的内容。 那废话不多说,就从最基础的机器学习和神经网络开始~ 一、机器学习基础 1、机器学习是什么&a…

2024 uniapp入门教程 01:含有vue3基础 我的第一个uniapp页面

uni-app官网uni-app,uniCloud,serverless,快速体验,看视频,10分钟了解uni-app,为什么要选择uni-app?,功能框架图,一套代码,运行到多个平台https://uniapp.dcloud.net.cn/ 准备工作:HBuilder X 软件 HBuilder X 官网下载&#xf…

职场上的人情世故,你知多少?这五点一定要了解

职场是一个由人组成的复杂社交网络,人情世故在其中起着至关重要的作用。良好的人际关系可以帮助我们更好地融入团队,提升工作效率,甚至影响职业发展。在职场中,我们需要了解一些关键要素,以更好地处理人际关系&#xf…

泛微流程隐藏按钮

隐藏右键菜单的按钮 控制台输入 mobx.toJS(WfForm.getGlobalStore().rightMenu.rightMenus) 获取相对应 type在js中进行隐藏 ecodeSDK.overwritePropsFnQueueMapSet(WeaRightMenu,{ //复写组件名隐藏菜单fn:(newProps)>{ //newProps代表组件参数newProps.datas newProps.…

Hierarchical Cross-Modal Agent for Robotics Vision-and-Language Navigation

题目:用于视觉语言导航的层次化跨模态智能体 摘要 1. 问题背景和现有方法 VLN任务:这是一种复杂的任务,要求智能体基于视觉输入和自然语言指令进行导航。 现有方法的局限性:之前的工作大多将这个问题表示为离散的导航图&#x…

MySQL基础教程(一):连接数据库和使用表

这个专栏用来讲解 MySQL 数据的基本语法和用法。本教程的目的是方便查询 MySQL 的用法,因此对于原理的讲解会偏少一些,但特点就是会有很多实验操作图。 本专栏使用的源材料是《MySQL必知必会》这本书的源代码。 文章目录 1. 连接 MySQL 数据库2. 创建数…

【物流配送中心选址问题】基于改进粒子群算法

课题名称: 基于改进粒子群算法的物流配送中心选址问题 改进方向:动态惯性权重优化粒子群算法 代码获取方式: 模型描述: 待补充 Matlab仿真结果: 1. 模型优化后的仿真结果 2. 初始解对应的物流配送路径图 3. 粒子…

Tianrui Green Shield

Tianrui Green Shield,即天锐绿盾,是一款专注于企业数据防泄密的软件系统。以下是对天锐绿盾的详细介绍: 一、基本信息 产品名称:天锐绿盾(又名绿盾信息安全管理软件)公司官网:www.drhchina.co…

VMware中Ubuntu系统Docker正常运行但网络不通(已解决)

问题描述:在VMware中的Ubuntu系统下部署了Docker,当在docker容器中运行Eureka微服务时,发现Eureka启动正常,但无法通过网页访问该容器中Eureka。 解决办法如下: 1、创建桥接网络:test-net sudo docker n…

2024年最强网络安全学习路线,详细到直接上清华的教材!

关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线 首先咱们聊聊,学习网络安全方向通常会有哪些问题前排提示:文末有CSDN官方认证Python入门资料包 ! 1、打基础时间太长 学基础花费很长时间,光语…

微信第三方开放平台接入本地消息事件接口报错问题java.security.InvalidKeyException: Illegal key size

先看报错: java.security.InvalidKeyException: Illegal key sizeat javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1039)at javax.crypto.Cipher.implInit(Cipher.java:805)at javax.crypto.Cipher.chooseProvider(Cipher.java:864)at javax.crypto.Cipher.in…