Linux DNS域名解析服务器

DNS简介

DNS Domain Name System )是互联网上的一项服务,它作为将域名和 IP 地址相互映射的一个分
布式数据库,能够使人更方便的访问互联网。
DNS 使用的是 53 端口,
通常 DNS 是以 UDP 这个较快速的数据传输协议来查询的,但是没有查询到完整的信息时,就会再次
TCP 这个协议来重新查询所以启动 DNS 时,会同时启动 TCP 以及 UDP port53

因特网的域名结构

由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连
接在
因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名 (domain name)
(domain) 是名字空间中一个可被管理的划分
国家顶级域名:采用 ISO3166 的规定。如: cn 代表中国, us 代表美国, uk 代表英国,等等。国家域
名又常记为 ccTLD(country code top-level domains cc 表示国家代码 contry-code)
通用顶级域名:最常见的通用顶级域名有 7 个,即: com( 公司企业 ) net( 网络服务机构 ) org( 非营
利组织 ) int( 国际组织 ) gov( 美国的政府部门 ) mil( 美国的军事部门 )
基础结构域名 (infrastructure domain) :这种顶级域名只有一个,即 arpa ,用于反向域名解析,因
此称为反向域名。

域名服务器的类型划分

  • 根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的 顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解 析,只要自己无法解析,就首先求助根域名服务器。所以根域名服务器是最重要的域名服务器。假定所 有的根域名服务器都瘫痪了,那么整个DNS系统就无法工作。需要注意的是,在很多情况下,根域名服 务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名 服务器进行查询。
  • 顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。
  • 权限域名服务器:负责一个的域名服务器。
  • 本地域名服务器:本地域名服务器不属于域名服务器的层次结构,但是它对域名系统非常重要。当一个 主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。
  • 主从DNS服务器:为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保 存,其中的一个就是主DNS服务器(Master name server),负责解析至少一个域。其他的是辅助 (从)DNS服务器(Slave name server):负责解析至少一个域,是主DNS服务器的辅助。当主域名服 务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅 助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。

 DNS域名解析的过程

> set type=ns
> com.
Authoritative answers can be found from:
com     nameserver = a.gtld-servers.net.
*** ***
a.gtld-servers.net     internet address = 192.5.6.30
> server 192.33.14.30
Default server: 192.33.14.30
Address: 192.33.14.30#53
> set type=ns
> bilibili.com.
> server 1.12.0.17
> set type=a
> www.bilibili.com
www.bilibili.com       canonical name = a.w.bilicdn1.com.
> a.w.bilicdn1.com.

DNS服务器配置

关于服务端

dns服务的安装与启用

安装

dnf install bind -y

启用

systemctl enable --now bind 

开放服务

vim /etc/named.conf
listen-on port 53 { any; } ##在本地所有网络接口上开启53端口
allow-query { any; }; ##允许查询A记录的客户端列表
dnssec-validation no; ##禁用dns检测使dns能够缓存外部信息到本纪
systemctl restart named

DNS企业级高级配置

高速缓存dns

高速缓存dns是一个非权威的dns,在dns服务器中本身并没有数据

当客户需要解析域名时首先查询缓存中是否有数据,如果没有就会从指定的dns服务器中缓存

高速缓存dns可以大大节省内网在做地址解析上所需要花费的时间

高速缓存配置参数

vim /etc/named.conf
forwarders { 114.114.114.114; };
systemctl restart named

DNS的正向解析

DNS正向解析的作用

当客户设定当前dns服务器为dns解析服务器时,正向解析即为客户提供A记录 客户提供域名,dns服务器负责把域名解析成对应IP

实施方法

1.编写zones文件设定要维护的域
vim /etc/named.rfc1912.zone
zone "easylee.org" IN { ##维护的域名
type master; ##当前服务器位主dns
file "easylee.org.zone"; ##域名A记录文件
allow-update { none; }; ##允许更新主机列表
};
2.根据zones文件中的指定生成A记录文件
cd /var/named/
cp -p named.localhost westos.com.zone
$TTL 1D ##TIME-TOLIVE(dns地址保存时间长度默认是“S”)
@IN SOA dns.easylee.org. root.easylee.org. ( ##SOA授权起始
(Start of Authority)##负责管理管理员邮
箱,NS服务器名称等7个信息0       ; serial #域名版本序列号1D     ; refresh #刷新时间(辅助dns)1H     ; retry #重试时间(辅助dns)1W     ; expire #过期时间3H )   ; minimum #A记录最短有效期,如
果$TTL被设定那么一设定值为准NS     dns.easylee.org. #nameserver 域名
dns             A       172.25.254.100 #nameserver A记录
www             CNAME   node.a.easylee.org. #Canonical Name
(规范名称,A记录别名)
node.a         A       172.25.254.101 #A记录
node.a         A       172.25.254.102
easylee.org.     MX 1   172.25.254.111. #邮件解析记录
3.测试实验结果
dig -t A www.easylee.org @172.25.254.100 ##查询A记录
dig -t mx easylee.org @172.25.254.100 ##查询MX记录

在查询结果时会有几种反馈值

DNS的反向解析

DNS反向解析的作用

当客户设定当前dns服务器为dns解析服务器时,正向解析即为客户提供PRT记录 客户提供域名,dns服务器负责把域名解析成对应IP

实施方法

1.编写zones文件设定要维护的域
]# vim /etc/named.rfc1912.zones
...
zone "254.25.172.in-addr.arpa" IN {type master;file "172.25.254.ptr";allow-update { none; };
};
2.根据zones文件中的指定生成A记录文件
]# cd /var/named/
]# cp -p named.loopback 172.25.254.ptr
]# vim 172.25.254.ptr
$TTL 1D
@       IN SOA dns.easylee.org. root.easylee.org. (0       ; serial1D     ; refresh1H     ; retry1W     ; expire3H )   ; minimumNS     dns.easylee.org.
dns     A       172.25.254.100
111     PTR     bbs.easylee.org.
3.测试实验结果
]# dig -x 172.25.254.111 @172.25.254.100

DNS多向解析方案

在企业中服务器不可能在同一个网段,不同网段的服务器是不是需要用多台dns来满足服务器需求? 根据这一企业需求我们可以在DNS中通过访问设置,让不同网段的服务器都解析到自己网段的相应地址 这就是DNS多项解析

配置实验环境

在当前网卡中添加所需网段IP

]# ip addr add 192.168.0.100/24 dev ens160

实施方法

1.注释在主配置文件中默认的zone语句块
/*
zone "." IN {type hint;file "named.ca";
};
include "/etc/named.rfc1912.zones";
*/
2.添加view语句块来限制访问数据走向
view net-172 {match-clients { 172.25.254.0/24; };zone "." IN {type hint;file "named.ca";};include "/etc/named.rfc1912.zones";
};
view net-192 {match-clients { 192.168.0.0/24; };zone "." IN {type hint;file "named.ca";};include "/etc/named.rfc192.zones";
};
3.生成并配置zones文件
]# cp -p /etc/named.rfc1912.zones /etc/named.rfc192.zones
]# vim /etc/named.rfc192.zones
zone "easylee.org" IN {type master;file "easylee-192.org.zone";allow-update { none; };
};
4.生成并配置A记录文件
]# cp -p /var/named/easylee.org.zone /var/named/easylee-192.org.zone
]# vim /var/named/easylee-192.org.zone
$TTL 1D
@       IN SOA dns.easylee.org. root.easylee.org. (0       ; serial1D     ; refresh1H     ; retry1W     ; expire3H )   ; minimumNS     dns.easylee.org.
dns             A       192.168.0.100
www             CNAME   node.a.easylee.org.
node.a         A       192.168.0.101
node.a         A       192.168.0.102
easylee.org.   MX 5   192.168.0.111.

主从DNS服务器

        为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保存,其中的一个就 是主DNS服务器(Master name server),负责解析至少一个域。其他的是辅助(从)DNS服务器 (Slave name server):负责解析至少一个域,是主DNS服务器的辅助。当主域名服务器出故障时,辅 助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中, 而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性

1.配置实验环境

  • 新建一台主机作为辅助DNS主机,并配置好网络和软件仓库
  • 在新建主机中安装DNS服务并保证服务可以被访问

2.对辅助DNS进行配置

修改zones文件设定要做主从的域

]# vim /etc/named.rfc1912.zones
zone "easylee.org" IN {type slave;masters { 172.25.254.100; };file "slaves/easylee.org.zone";
//     allow-update { none; };
};

3.启动服务并测试

]# systemctl enable --now named
]# dig -t A www.easylee.org @172.25.254.200

4.解决数据时时同步问题

主从dns经过上述设定后存在数据同步延迟,在主dns中更改数据后要等到下个同步周期的时间到来才能 进行同步。

1.在主dns中设置数据更改后主动通知对象
]# vim /etc/named.rfc1912.zones
zone "easylee.org" IN {type master;file "easylee.org.zone";allow-update { none; };also-notify { 172.25.254.200; };
};
2.更改A记录文件测试结果
]# vim /var/named/easylee.org.zone
$TTL 1D
@       IN SOA dns.easylee.org. root.easylee.org. (2023032901     ; serial #更改A记录后一
定要更新serial值1D     ; refresh1H     ; retry1W     ; expire3H )   ; minimumNS     dns.easylee.org.
dns             A       172.25.254.100
www             CNAME   node.a.easylee.org.
node.a         A       172.25.254.200
node.a         A       172.25.254.202
easylee.org.   MX 5   172.25.254.111.
3.测试数据同步性
]# dig -t A www.easylee.org @172.25.254.100
]# dig -t A www.easylee.org @172.25.254.200

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

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

相关文章

LeetCode面试题04 检查平衡性

题目: 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。 一、平衡树定义: 二叉树,一种由节点组成的树形数据结构,每…

Notable是一款优秀开源免费的Markdown编辑器

一、Notable简介 ‌ Notable‌是一款开源的跨平台Markdown编辑器,支持Linux、MacOS、Windows以及国产操作系统等多种主流操作系统。它以其高颜值和强大的功能,成为了许多用户的首选工具。 主要特性 实时预览‌: Notable提供了实时预览功能&…

安卓报错Switch Maven repository ‘maven‘....解决办法

例如:Switch Maven repository ‘maven(http://developer.huawei.com/repo/)’ to redirect to a secure protocol 在库链接上方添加配置代码:allowInsecureProtocol true

es实现上传文件查询

es实现上传文件查询 上传文件,获取文件内容base64,使用es的ingest-attachment文本抽取管道转换为文字存储 安装插件 通过命令行安装(推荐) 1.进入 Elasticsearch 安装目录 2.使用 elasticsearch-plugin 命令安装 bin/elastics…

采集opc ua转profinet IO项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关采集OPC UA的数据 2 5 用PROFINET IO协议转发数据 4 6 案例总结 6 1 案例说明 设置网关采集OPC UA设备数据把采集的数据转成profinet IO协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协议转换…

linux 安装composer

下载composer curl -sS https://getcomposer.org/installer | php下载后设置环境变量,直接通过命令composer -v mv composer.phar /usr/local/bin/composer查看版本看是否安装成功 composer -v

可视化建模以及UML期末复习----做题篇

一、单项选择题。(20小题,每小题2分,共40分) 1、UML图不包括( ) A、用例图 B、状态机图 C、流程图 D、类图 E、通信图 答案:C、流程图 UML中不包括传统意义上的流程图,流程图通常是指B…

VBA高级应用30例应用在Excel中的ListObject对象:向表中添加注释

《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以…

Mac mini m4本地跑大模型(ollama + llama + ComfyUI + Stable Diffusion | flux)

安装chat大模型(不推荐,本地运行的大模型只能聊废话,不如网页版使用openAI等高效) 首先下载ollama的安装包 https://ollama.com/ 点击启动访问:http://localhost:11434 Ollama is running 代表已经运行起来了&#x…

借助Aspose.Cells ,在 Excel 中将文本转换为数字

在 Excel 中将文本转换为数字是一项常见要求。许多用户会遇到以文本形式存储的数字,这可能会导致计算错误。此问题会影响财务、数据分析和报告。将这些文本条目转换为实际数字对于准确的数据处理至关重要。在这篇博文中,我们将探讨如何使用 C# 将以文本形…

2024 年 11 月区块链游戏研报:牛市加持下的 GameFi 破局之路

2024 年 11 月区块链游戏研报 作者:Stella L (stellafootprint.network) 数据来源:Footprint Analytics 区块链游戏 Research 页面 2024 年 11 月 Web3 游戏行业市场增长显著但大规模采用策略仍在演进。随着比特币创下历史新高并接近 10 万美元里程碑…

QT 多级嵌套结构体,遍历成员--半自动。<模板+宏定义>QTreeWidget树结构显示

Qt的QTreeWidget来显示嵌套结构体的成员&#xff0c;并以树形结构展示。 #include <QApplication> #include <QTreeWidget> #include <QTreeWidgetItem> #include <QString> #include <cstdint>// 假设这些是你的结构体定义 struct BaseMeterPa…

【JAVA高级篇教学】第一篇:Springboot对接通义千问大模型

博主今天打算讲解下Java如何对接阿里云的通义千问大模型&#xff0c;可以自己玩玩ai问答之类的&#xff01; 目录 一、发展历程 二、API-KEY的获取与配置 三、引用SDK 四、文本模型 1.代码 2.返回数据 3.官方代码案例 五、通义千问VL 1.计量计费 六、查看API-KEY调用额…

快捷构建AI大模型,源码自取可直接运行

Node.js 和 WebSocket 实现一个基于kimi&#xff08;Moonshot 月之暗大模型&#xff09;的AI工具 前端&#xff1a;前端界面比较容易&#xff0c;只需要简单的额css js即可&#xff0c;本文使用vue作为作为demo。 后端&#xff1a;我java很垃圾&#xff0c;写不出好的代码&am…

R语言 | 峰峦图 / 山脊图

目的&#xff1a;为展示不同数据分布的差异。 1. ggplot2 实现 # 准备数据 datmtcars[, c("mpg", "cyl")] colnames(dat)c("value", "type") head(dat) # value type #Mazda RX4 21.0 6 #Mazda RX4 Wag …

Redis性能优化18招

Redis性能优化的18招 目录 前言选择合适的数据结构避免使用过大的key和value[使用Redis Pipeline](#使用Redis Pipeline)控制连接数量合理使用过期策略使用Redis集群充分利用内存优化使用Lua脚本监控与调优避免热点key使用压缩使用Geo位置功能控制数据的持久化尽量减少事务使…

学习笔记063——通过使用 aspose-words 将 Word 转 PDF 时,遇到的字体改变以及乱码问题

文章目录 1、问题描述&#xff1a;2、解决方法&#xff1a; 1、问题描述&#xff1a; Java项目中&#xff0c;有个需要将word转pdf的需求。本人通过使用aspose-words来转换的。在Windows中&#xff0c;转换是完全正常的。但是当部署到服务器时&#xff0c;会出现转换生成的pdf…

(6)JS-Clipper2之ClipperOffset

1. 描述 ClipperOffset类封装了对打开路径和关闭路径进行偏移(膨胀/收缩)的过程。 这个类取代了现在已弃用的OffsetPaths函数&#xff0c;该函数不太灵活。可以使用不同的偏移量(增量)多次调用Execute方法&#xff0c;而不必重新分配路径。现在可以在一次操作中对开放和封闭路…

SpringCloudAlibaba教程之注册中心Nacos

目录 概念 架构 设计原则 架构分层 用户层 业务层 内核层 插件 单机部署 1.下载安装包 2.安装nacos 3.启动nacos 快速开始 1.添加Maven依赖 2.添加配置 3.启动 集群部署 搭建步骤 1.搭建数据库&#xff0c;初始化数据库表结构 2.配置nacos 3.启动nacos集群…

PostgreSQL 安装部署系列:使用YUM 方式在Centos 7.9 安装指定 PostgreSQL -15版本数据库

一、前言 千里之行始于足下&#xff0c;想学习一门数据库&#xff0c;首先要从安装部署开始&#xff0c;先拥有一套属于自己的学习测试库。为了更好的学习该数据库&#xff0c;可以选择一个在企业界使用率比较普及的操作系统&#xff0c;选择稳定版本的操作系统&#xff1b;如果…