[Linux] dns域名解析服务

news2024/10/7 20:27:13

一、DNS

1.1 DNS简介

域名解析:(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用udp53和tcp53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

TCP 53号端口:连接DNS服务器

UDP 53号端口:解析DNS

1.2 DNS 数据结构分布 

树状结构最顶层称为根域,用“.”表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器,如将com域的解析权委派给com域服务器,以后但凡根服务器收到以com结尾的域名解析请求,都会转发给com域服务器,同样道理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机。

根域
位于域名空间最顶层,一般用一个 “.” 表示

顶级域
一般代表一种类型的组织机构或国家地区,
如 .net(网络供应商)、.com(工商企业)、.org(团体组织)、.edu(教育机构)、.gov(政府部门)、.cn(中国国家域名)

二级域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,
如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn 

子域
二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名

主机
主机位于域名空间最下层,就是一台具体的计算机,
如 www、mail都是具体的计算机名字,可用www.sina.com.cn. 、mail.sina.com.cn. 来表示,这种表示方式称为 FQDN (完全合格域名,是指包含了所有域的主机名,其中包括根域),也是这台主机在域名中的全名

 1.3 服务器的类型

(1)主域名服务器负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

(2)从域名服务器当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。

1.4 DNS 域名解析方式


正向解析:根据域名查找对应的IP地(域名 --------> IP) 
反向解析:根据IP地址查找对应的域名(IP---------->域名)

 1.5 DNS查询方式

       递归查询

主机通常使用递归查询进行本地域名服务器查询。 其查询过程为:首先检查本地 DNS 是否有对应的寰球域名,如果有关联主机域名,则直接解析。如果无法访问根域名服务器,则从根域名服务器转发到顶级域名服务器,再转发到子域名服务器(如果有二级域名,则从二级域名转发到子域名服务器),从子域名服务器转发到 转发给主机,并根据主机名逐步转发给客户端,以便解析相应的 IP 地址。

迭代查询

从本地 DNS 服务器到根 DNS 服务器的查询是迭代查询。 查询过程:首先还要访问本地主机的 DNS 缓存,如果有缓存,则直接解析。如果没有,则先访问根域名服务器,根域名服务会回复相应的顶级域名服务器。接下来,客户端访问顶级域服务器,顶级域服务器回复给相应的子域服务器(如果有二级域名,则有另一个访问二级域名的过程)。然后,客户端访问相应的子域服务器,子域服务器回复相应的主机。然后,客户端访问主机,根据主机名解析相应的 IP 地址,并回复客户端,完成解析过程。

1.6 映射文件

hosts 文件包含 IP 地址和主机名之间的映射,以及主机的别名。

默认情况下,系统首先在 hosts 文件中查找解析记录。

hosts 文件优先于 /etc/nsswitch.conf 文件中指定的 DNS 服务器。

hosts 文件只对当前主机有效。

hosts 文件可减少 DNS 查找过程,加快访问速度。

Linux中有关DNS的映射文件

vim  /etc/hosts

 二、DNS域名解析器

2.1构建DNS域名解析器的目的

bind是开源软件,用于内网划分DNS,不同于外网,内网的DNS是不需要注册,是方便内部进行使用和访问的有效手段

2.2bind服务的安装

yum install bind bind-utils -y

2.3bind服务程序介绍 

    绑定服务程序的区域配置文件(/etc/named.rfc1912.zones)用于存储域名和 IP 地址之间的对应关系。该文件定义了存储域名和 IP 地址解析规则的文件位置和服务类型,但不包含域名和 IP 地址之间对应关系的具体信息。有三种服务类型:提示(根区)、主区(一级区)和从区(二级区),常用的主区和从区指的是主服务器和从服务器。

2.4查看需要修改的配置文件所在路径

rpm -qc bind

 三、搭建DNS域名解析器具体步骤

3.1 搭建正向解析

第一步:修改DNS
systemctl stop firewalld
setenforce 0
vim /etc/sysconfig/network-scripts/ifcfg-ens33  
systemctl restart network

第二步:修改主机配置文件
vim  /etc/named.conf
options {
(也可以使用//注释掉)        listen-on port 53 { any; }; 
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
(也可以使用//注释掉)        allow-query     { any; };
................................................
}

 第三步:写区域配置文件
vim /etc/named.rfc1912.zones

第四步:复制模板文件并重命名
cd   /var/named

cp -a named.localhost clx.com.zone
 第五步:编辑数据库文件,解析记录对应关系
vim clx.com.zone
$TTL 1D    // SOA代表有效解析记录的生存周期
@       IN SOA  master.clx.com.  admin.clx.com. (   //@符号表示当前的DNS区域名
                                        0       ; serial  //更新序列号,可以是 10 位以内的整数
                                        1D      ; refresh //刷新时间,重新下载地址数据的间隔
                                        1H      ; retry   //重试延时,下载失败后的重试间隔
                                        1W      ; expire  //失效时间,超过该时间仍无法下载则放弃
                                        3H )    ; minimum //无效解析记录的生存周期
        NS      master
master  A       192.168.136.133  //记录当前主机ip
www     A       192.168.136.120  //正向解析域名
ftp     A       192.168.136.110  //正向解析域名

 第六步:重启服务测试结果
systemctl restart named

四、主从DNS域名服务器的配置 

第一步:关闭防火墙 核心防护 安装bind
systemctl stop firewalld.service 
setenforce 0
yum install bind bind-utils.x86_64 -y

第二步:修改第一台虚拟机(打算作主服务器的那台)的区域配置

vim /etc/named.rfc1912.zones 
allow-transfer {192.168.136.11;};   //允许的主机IP

第三步:设置从服务器的配置
vim /etc/named.conf

 

第四步:添加从服务器的配置文件
vim /etc/named.rfc1912.zones
zone "clx.com" IN {
        type slave;    //从服务器类型设置

        file "clx.com.zone";  //主机提供

        masters { 192.168.136.133; };  //文件存放在/var/named/slaves下
};

 

第五步:保存后退出启动服务(有错误,看日志排错) 
 systemctl  start named
第六步:测试
echo "nameserver 192.168.136.11" > /etc/resolv.conf 
#将DNS指向自己
host www.clx.com
host ftp.clx.com

总结:

1. 了解域名的组成部分

2. 了解域名解析中递归查询和迭代解析的原理

3. 学习配置正向和反向域名解析

4. 成功配置主从域名解析服务器

 

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

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

相关文章

互联网Java工程师面试题·微服务篇·第三弹

目录 34、什么是端到端微服务测试? 35、Container 在微服务中的用途是什么? 36、什么是微服务架构中的 DRY? 37、什么是消费者驱动的合同(CDC)? 38、Web,RESTful API 在微服务中的作用是什…

C++字典树算法:找出强数对的最大异或值 II

涉及知识点 数学 字典树 题目 给你一个下标从 0 开始的整数数组 nums 。如果一对整数 x 和 y 满足以下条件&#xff0c;则称其为 强数对 &#xff1a; |x - y| < min(x, y) 你需要从 nums 中选出两个整数&#xff0c;且满足&#xff1a;这两个整数可以形成一个强数对&…

Mybatis框架——mybatis是什么

第一&#xff0c;mybatis是一个持久层的框架&#xff0c;它支持自定义SQL&#xff0c;存储过程以及高级映射。 mybatis几乎代替了所有的JDBC代码以及设置参数和获取结果集的工作&#xff0c;可以通过简单的XML或者注解来配置和映射原始类型、接口和Java POJO&#xff08;Plain…

webgoat-Challenges

AdminLostpassword 这一题密码藏在logo图片里 请求GET /WebGoat/challenge/logo 搜索admin看到密码&#xff0c;使用账号admin和这个密码登录拿到flag Without password 题目要求&#xff1a;在不知道Larry的密码情况下登录 考虑使用SQL注入 密码输入 123 or 11 -- Admin p…

【数据结构——队列的实现(单链表)】

数据结构——队列的实现&#xff08;单链表&#xff09; 一.队列1.1队列的概念及结构 二.队列的实现2.1 头文件的实现——&#xff08;Queue.h&#xff09;2.2 源文件的实现—— &#xff08;Queue.c&#xff09;2.3 源文件的实现—— &#xff08;test.c&#xff09; 三.队列的…

20.1 platform 设备驱动

一、Linux 驱动的分离与分层 1. 驱动的分隔和分离 现在有三个平台&#xff0c;A、B 和 C&#xff0c;这三个平台都有 MPU6050 设备。编写最简单的驱动框架如下图&#xff1a; 每个平台下都有一个主机驱动和设备驱动&#xff0c;主机驱动是必要的&#xff0c;因为不同的平台 I2…

【算法】新的开始(Kruskal算法,虚拟源点)

题目 发展采矿业当然首先得有矿井&#xff0c;小 FF 花了上次探险获得的千分之一的财富请人在岛上挖了 n 口矿井&#xff0c;但他似乎忘记了考虑矿井供电问题。 为了保证电力的供应&#xff0c;小 FF 想到了两种办法&#xff1a; 在矿井 i 上建立一个发电站&#xff0c;费用…

【计算机网络笔记】IP子网划分与子网掩码

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

项目笔记记录

一、node下载版本报错&#xff1a;npm install --legacy-peer-deps 二、Scheduled: 任务自动化调度 Scheduled 标记要调度的方法的注解&#xff0c;必须指定 cron&#xff0c;fixedDelay或fixedRate属性之一 fixedDelay&#xff1a;固定延迟 延迟执行任务&#xff0c;任务在…

sqli-labs关卡17(基于post提交的单引号闭合的报错盲注)通关思路

文章目录 前言一、回顾上一关知识点二、靶场第十四关通关思路1、判断注入点2、爆显位3、爆数据库名4、爆数据库表5、爆数据库列6、爆数据库关键信息 总结 前言 此文章只用于学习和反思巩固sql注入知识&#xff0c;禁止用于做非法攻击。注意靶场是可以练习的平台&#xff0c;不…

使用validator实现枚举类型校验

使用validator实现枚举类型校验 前言&#xff1a; 在前端调用后端接口传递参数的过程中&#xff0c;我们往往需要对前端传递过来的参数进行校验&#xff0c;比如说我们此时需要对用户的状态进行更新&#xff0c;而用户的状态只有正常和已删除&#xff0c;并且是在代码中通过枚…

20.有效的括号(LeetCode)

思路&#xff1a;用栈的后进先出的特性&#xff0c;来完成题目的要求 因为C有库&#xff0c;可以直接用&#xff0c;而C语言没有&#xff0c;所以我们直接把写好的栈拷贝上来用。 首先&#xff0c;完成框架的搭建 其次&#xff0c;再实现循环内的部分。1.左括号入栈 2.右括…

键盘接受一串字符到BUF为首地址的字节单元中,要求用下列方法分别编程,将它们以相反的次序显示在屏幕的下一行中

(1).按地址从尾向前依次显示。 (2)利用堆栈反向显示。 (3).利用交换的方法反序后&#xff0c;然后显示&#xff1a;即ai<——>aj

通过流量分析查看业务系统运行和访问情况

在当今数字化时代&#xff0c;应用程序的运行和访问情况对于企业和组织来说至关重要。无论是在线销售平台、移动应用还是企业内部系统&#xff0c;应用的性能和可用性直接影响着用户体验、业务流程以及组织效率。因此&#xff0c;对应用的运行和访问情况进行全面分析和评估&…

网络运维Day14

监控概述 监控的目的 报告系统运行状况每一部分必须同时监控内容包括吞吐量、反应时间、使用率等提前发现问题进行服务器性能调整前&#xff0c;知道调整什么找出系统的瓶颈在什么地方 监控的资源类别 公开数据 Web、FTP、SSH、数据库等应用服务TCP或UDP端口 私有数据 CPU、内…

Python高级语法----使用Python进行模式匹配与元组解包

文章目录 1. 模式匹配的新特性2. 高级元组解包技巧3. 数据类的匹配与应用1. 模式匹配的新特性 Python自3.10版本起引入了结构化模式匹配的新特性,这是一种强大的工具,允许开发者用更清晰、更直观的方式处理数据结构。模式匹配类似于其他编程语言中的switch-case语句,但它更…

【PC】开发者日志:竞技比赛验证系统强化

各位玩家大家好&#xff01;欢迎收看本期开发者日志。 在11月1日发布的第26赛季第2轮更新公告中&#xff0c;我们提到了有关强化比赛验证系统的内容。想必各位玩家一定会对我们加强验证系统的背景和意图感到好奇&#xff0c;为此我们想通过今天这篇反作弊开发者日志来向大家更详…

Linux socket编程(2):socket函数介绍及C/S模型代码实现

上一节简单介绍了一下套接字、字节序和地址结构体的概念&#xff0c;算是对socket有一个入门的了解。这一节就实现一个客户端-服务端的代码&#xff0c;从这个例子中来学习socket函数的使用。 文章目录 1 客户端/服务端模型2 套接字函数2.1 socket:创建套接字2.2 bind:绑定套接…

设计模式之适配器(Adapter)

Adapter Wapper 接口转换器 如果一个类不能直接访问另一个类的时候&#xff0c;中间加一个Adapter转换器就能访问了 常见例子: 电压转接头 java.io jdbc-odbc bridge(不是桥接模式) ASM Transformer java io里面的读文件操作: FileInputStream是字节流读文件&#xff0c;就像…