当前位置: 首页 > news >正文

Linux网络部分——DNS域名解析服务

目录

1. 域名结构

2. 系统根据域名查找IP地址的过程

3.DNS域名解析方式

4.DNS域名解析的工作原理【☆】

5.域名解析查询方式

6.搭建主从DNS域名服务器      

①初始化操作主服务器和从服务器,安装BIND软件

②修改主服务器的主配置文件、区域配置文件、区域数据文件配置解析记录

​编辑

③修改从服务器主配置文件、主配置文件、区域配置文件、区域数据文件

④重启named服务

⑤验证配置结果,/etc/resolv.conf文件中的nameserver需要更改

7. 搭建本地DNS服务器 


        日常生活中通常我们是使用域名访问服务器,但是机器之间只认IP地址,转换的过程即为域名解析。DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

1. 域名结构

        域名结构是树形结构,以根域. 为起点,格式为:主机名.子域/二级域.顶级域.,当顶级域为国家域名时才有二级域。

.com商业

.net运营商

.org非营利组织

.edu教育机构

.cn国家

.uk

2. 系统根据域名查找IP地址的过程

1)先使用主机本地的hosts文件查找相关记录(hosts文件需要自己定义,优先级更高,但只在本机有效)

2)如果本地hosts文件没有记录,则使用DNS服务器进行解析。

3.DNS域名解析方式

正向解析:根据域名查找对应的IP地址

反向解析:根据IP地址查找对应的域名

4.DNS域名解析的工作原理【☆】

        采用委派机制。

        域名是树状结构,客户端先将DNS解析请求发送给本地域名服务器,本地域名服务器会先查询本地缓存有没有相关的记录,有则直接返回给客户端,没有记录则将解析请求发送给根域名服务器进行解析;根域服务器会将DNS解析请求委派给对应的顶级域服务器进行解析;顶级域服务器也会根据域名的二级域或子域再将DNS解析请求委派给对应的二级域或子域服务器进行解析;最后子域服务器会根据域名的主机名解析出响应的IP地址,再返回给本地域名服务器到客户端。

5.域名解析查询方式

递归查询:简单来说就是将DNS解析请求一探到底,逐层返回

        本地域名服务器收到客户机发送的DNS域名解析请求后,先发给根域名服务器,根域名服务器再将解析请求转发给对应的顶级域名服务器,顶级域名服务器再转发给对应的二级域名或子域名,最后子域名服务器会根据域名的主机名解析出对应的IP地址,再逐层返回给本地域名服务器到客户机。

迭代查询:简单来说就是每次DNS解析请求都会得到对应的相应回复

        本地域名服务器收到客户机发送的DNS域名解析请求后,先发给根域名服务器,根域名服务器回复消息告知去找对应的顶级域名服务器;本地域名服务器再将DNS域名解析请求发给对应的顶级域名服务器,顶级域名服务器会回复消息告知去找对应的二级域名或子域名服务器;最后本地域名服务器将DNS解析请求发送给对应的子域名服务器,子域名服务器会根据域名的主机名解析出相对应的IP地址后,直接返回给本地域名服务器

DNS系统类型:缓存域名服务器、主域名服务器、从域名服务器(缓存域名服务器和主域名服务器可以兼容)

6.搭建主从DNS域名服务器      

        配置本地局域网服务器至少1台,客户机可以为多台。这里我将我IP为192.168.170.10的虚拟机作为主服务器,192.168.170.20做从服务器(冗余)

①初始化操作主服务器和从服务器,安装BIND软件
systemctl stop firewalld       
systemctl disable firewalld   
setenforce 0                
vim /etc/selinux/config   --->  selinux=disabled
mount /dev/sr0 /mnt

②修改主服务器主配置文件、区域配置文件、区域数据文件配置解析记录

/etc/named.conf  --->默认监听本机,可以改成指定监听IP地址或者any表示任意--->关闭IPV453端口---> allow-query改成any表示允许所有客户端主机访问,或指定一个、多个网段 ---->recursion yes表示默认设置成递归查询(可改可不改)

/etc/named.rfc1912.zones 区域配置文件定义域名(正向解析配置和反向解析配置)

vim /var/named/XXXX

复制文件时要保存属性复制,否则会报错

做正向解析的配置,复制目录中named.localhost文件到当前目录,名为test.com.zone。vim编辑,两个@可以改可以不改,@可以改为test.com.完整域名  --->   指定邮箱冠名如admin.xy101.com.  --->   NS后@也改为test.com.完整域名   --->   更新标识serial可修改为20240425   --->   NS下一行设置本机IP地址   --->   往下设置正向解析的相关记录,还可以做别名XXXX  --->   保存

做反向解析配置,复制test.com.zone文件到当前目录,名为test.com.zone.local。vim编辑,

③修改从服务器主配置文件、主配置文件、区域配置文件、区域数据文件

/etc/named.conf --->默认监听本机,可以改成指定监听IP地址或者any表示任意--->关闭IPV453端口---> allow-query改成any表示允许所有客户端主机访问,或指定一个、多个网段 ---->recursion yes表示默认设置成递归查询(可改可不改)

/etc/named.rfc1912.zones 区域配置文件定义域名(正向解析配置和反向解析配置)

④重启named服务
systemctl enable named
systemctl start named

设置错误时重启named会报错,trail -f 文件名可以告诉哪里设置错误,或者根据提示的journal -xe 查看错误日志

⑤验证配置结果,/etc/resolv.conf文件中的nameserver需要更改

【补充】dig host 也可以域名解析

windows系统验证

7. 搭建本地DNS服务器 

1)初始化系统
2)安装 bind 软件包
3)修改主配置 /etc/named.conf      
listen-on port 53 { any; };      #设置监听IP地址和端口
allow-query     { any; };        #设置允许访问DNS服务器的客户端

4)修改区域配置文件 /etc/named.rfc1912.zones(跟主从差不多,这一步配置无需配置从服务器的信息)

zone "test.com" IN {                                  #正向解析配置
        type master;
        file "test.com.zone";                          #设置区域数据文件名称
};

zone "170.168.192.in-addr.arpa" IN {       #反向解析配置,地址倒写
        type master;
        file "test.com.zone.local";
};

5)修改区域数据文件 /var/named/test.com.zone
cd /var/named
cp -p named.localhost test.com.zone
vim test.com.zone

....
              NS           test.com.                       #设置当前区域名称
               A             192.168.170.10             #设置DNS服务器IP地址
www  IN A             192.168.170.100           #设置正向解析的主机名与IP地址的映射记录
xxx    IN CNAME   www                              #设置主机名 xxx 是 www 的别名

vim test.com.zone.local

....
100  IN PTR    www.test.com.         #设置IP地址与域名的反向解析记录

5)重启named服务
6)客户端设置DNS服务器地址 /etc/resolv.conf ,并验证 nslookup  host  dig

相关文章:

Linux网络部分——DNS域名解析服务

目录 1. 域名结构 2. 系统根据域名查找IP地址的过程 3.DNS域名解析方式 4.DNS域名解析的工作原理【☆】 5.域名解析查询方式 6.搭建主从DNS域名服务器 ①初始化操作主服务器和从服务器,安装BIND软件 ②修改主服务器的主配置文件、区域配置文件、区域数…...

预处理详解

乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 点击主页:optimistic_chen和专栏:c语言, 创作不易,大佬们点赞鼓…...

Python的创建和使用自定义模块

Python 的模块是组织代码的基本单元,它可以包含变量、函数、类等,并且可以被其他 Python 程序引用和重用。除了使用 Python 提供的标准库和第三方库外,开发者还可以创建自定义模块,用于组织和管理自己的代码。本文将详细介绍如何创…...

Python根据预设txt生成“你画我猜”题目PPT(素拓活动小工具)

Python根据预设txt生成“你画我猜”题目PPT(素拓活动小工具) 场景来源 去年单位内部的一次素拓活动,分工负责策划设置其中的“你画我猜”环节,网络上搜集到题目文字后,想着如何快速做成对应一页一页的PPT。第一时间想…...

小程序地理位置接口权限直接抄作业

小程序地理位置接口有什么功能? 随着小程序生态的发展,越来越多的小程序开发者会通过官方提供的自带接口来给用户提供便捷的服务。但是当涉及到地理位置接口时,却经常遇到申请驳回的问题,反复修改也无法通过,给的理由也…...

【Osek网络管理测试】[TG3_TC6]等待总线睡眠状态_2

🙋‍♂️ 【Osek网络管理测试】系列💁‍♂️点击跳转 文章目录 1.环境搭建2.测试目的3.测试步骤4.预期结果5.测试结果 1.环境搭建 硬件:VN1630 软件:CANoe 2.测试目的 验证DUT在满足进入等待睡眠状态的条件时是否进入该状态 …...

BEV下统一的多传感器融合框架 - FUTR3D

BEV下统一的多传感器融合框架 - FUTR3D 引言 在自动驾驶汽车或者移动机器人上,通常会配备许多种传感器,比如:光学相机、激光雷达、毫米波雷达等。由于不同传感器的数据形式不同,如RGB图像,点云等,不同模态…...

c#和python的flask接口的交互

一、灰度图像的传输 c#端的传输 //读入文件夹中的图像 Mat img2 new Mat(file, ImreadModes.AnyColor); //将图像的数据转换成和相机相同的buffer数据 byte[] image_buffer new byte[img2.Width * img2.Height]; int cn img2.Channels(); //通道数 if (cn 1){//将图像的数…...

Python测试框架Pytest的参数化详解

上篇博文介绍过,Pytest是目前比较成熟功能齐全的测试框架,使用率肯定也不断攀升。 在实际工作中,许多测试用例都是类似的重复,一个个写最后代码会显得很冗余。这里,我们来了解一下pytest.mark.parametrize装饰器&…...

KernelSU 如何不通过模块,直接修改系统分区

刚刚看了术哥发的视频,发现kernelSU通过挂载OverlayFS实现无需模块,即可直接修改系统分区,很是方便,并且安全性也很高,于是便有了这篇文章。 下面的教程与原视频存在差异,建议观看原视频后再结合本文章进行操作。 在未进行修改前,我们打开/system/文件夹,并在里面创建…...

红日靶场ATTCK 1通关攻略

环境 拓扑图 VM1 web服务器 win7(192.168.22.129,10.10.10.140) VM2 win2003(10.10.10.135) VM3 DC win2008(10.10.10.138) 环境搭建 win7: 设置内网两张网卡,开启…...

CellMarker | 人骨骼肌组织细胞Marker大全!~(强烈建议火速收藏!)

1写在前面 分享一下最近看到的2篇paper关于骨骼肌组织的细胞Marker&#xff0c;绝对的Atlas级好东西。&#x1f44d; 希望做单细胞的小伙伴觉得有用哦。&#x1f60f; 2常用marker&#xff08;一&#xff09; general_mrkrs <- c( MYH7, TNNT1, TNNT3, MYH1, MYH2, "C…...

游戏名台词大赏

文章目录 原神&#xff08;圈内&#xff09; 崩坏&#xff1a;星穹铁道&#xff08;圈内&#xff09; 崩坏3&#xff08;圈内&#xff09; 原神 只要不失去你的崇高&#xff0c;整个世界都会为你敞开。 总会有地上的生灵&#xff0c;敢于直面雷霆的威光。 谁也没有见过风&…...

OpenCV如何在图像中寻找轮廓(60)

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV如何模板匹配(59) 下一篇 :OpenCV检测凸包(61) 目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 cv::findContours使用 OpenCV 函数 cv::d rawContours …...

java 泛型题目讲解

泛型的知识点 泛型仅存在于编译时期&#xff0c;编译期间JAVA将会使用Object类型代替泛型类型&#xff0c;在运行时期不存在泛型&#xff1b;且所有泛型实例共享一个泛型类 public class Main{public static void main(String[] args){ArrayList<String> list1new Arra…...

pptx 文件版面分析-- python-pptx(python 文档解析提取)

安装 pip install python-pptx -i https://pypi.tuna.tsinghua.edu.cn/simple --ignore-installedpptx 解析代码实现 from pptx import Presentation file_name "rag_pptx/test1.pptx" # 打开.pptx文件 ppt Presentation(file_name) for slide in ppt.slides:#pr…...

http的basic 认证方式

写在前面 本文看下http的basic auth认证方式。 1&#xff1a;什么是basic auth认证 basic auth是一种http协议规范中的一种认证方式&#xff0c;即一种证明你就是你的方式。更进一步的它是一种规范&#xff0c;这种规范是这样子&#xff0c;如果是服务端使用了basic auth认证…...

【信息系统项目管理师练习题】信息系统治理

IT治理的核心是关注以下哪项内容? a) 人员培训和发展计划 b) IT定位和信息化建设与数字化转型的责权利划分 c) 业务流程的绩效管理 d) IT基础设施的优化利用 答案: b) IT定位和信息化建设与数字化转型的责权利划分 IT治理体系框架的组成部分包括以下哪些? a) IT战略目标、IT治…...

RabbitMQ之顺序消费

什么是顺序消费 例如&#xff1a;业务上产生者发送三条消息&#xff0c; 分别是对同一条数据的增加、修改、删除操作&#xff0c; 如果没有保证顺序消费&#xff0c;执行顺序可能变成删除、修改、增加&#xff0c;这就乱了。 如何保证顺序性 一般我们讨论如何保证消息的顺序性&…...

轻松上手的LangChain学习说明书

一、Langchain是什么&#xff1f; 如今各类AI模型层出不穷&#xff0c;百花齐放&#xff0c;大佬们开发的速度永远遥遥领先于学习者的学习速度。。为了解放生产力&#xff0c;不让应用层开发人员受限于各语言模型的生产部署中…LangChain横空出世界。 Langchain可以说是现阶段…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...