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

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

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

相关文章

【c1】数据类型,运算符/循环,数组/指针,结构体,main参数,static/extern,typedef

文章目录 1.数据类型:编译器(compiler)与解释器(interpreter),中文里的汉字和标点符号是两个字节,不能算一个字符(单引号)2.运算符/循环:sizeof/size_t3.数组…

基于java的CRM客户关系管理系统的设计与实现(论文 + 源码 )

【免费】基于Java的CRM客户关系管理系统的设计和实现.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89273409 基于Java的CRM客户关系管理系统的设计与实现 摘 要 随着互联网的高速发展,市场经济的信息化,让企业之间的竞争变得&#xff0…

复写零(双指针)

下面的解法需要手动画图,举例去体会,只有自己手动去做了,才会有所收获。 class Solution {public void duplicateZeros(int[] arr) {int n arr.length;//先找到最后一个元素的位置;//至于为什么要直接先设dest 为-1,这是经过研究…

CNN笔记详解

CNN(卷积神经网络) 计算机视觉,当你们听到这一概念的是否好奇计算机到底是怎样知道这个图片是什么的呢?为此提出了卷积神经网络,通过卷积神经网络,计算机就可以识别出图片中的特征,从而识别出图片中的物体。看到这里充…

分布式与一致性协议之ZAB协议(四)

ZAB协议 ZooKeeper是如何选举领导者的。 首先我们来看看ZooKeeper是如何实现成员身份的? 在ZooKeeper中,成员状态是在QuorumPeer.java中实现的,为枚举型变量 public enum ServerState { LOOKING, FOLLOWING, LEADING, OBSERVING }其实&…

为何美国多IP服务器是全自动内容采集站的最佳选择?

为何美国多IP服务器是全自动内容采集站的最佳选择? 在建设全自动内容采集站时,选择合适的服务器至关重要。而在众多选项中,美国多IP服务器被认为是最佳选择,究竟为何呢?本文将从多个方面进行深入探讨。 为何美国多IP服务器是全自动内容采集…

分享8000网剧资源

兄弟们,前段时间搞短剧,收集了8500多部网剧资源。搞了整整两个月就赚3块两毛八,电费都不够。还不如进厂打螺丝。果断放弃这项目。 资源在手里面也没啥用。分享出来,大家看着玩。 有其他好的网络项目也可以分享分享。也可也一起…

真希望我父母读过这本书的笔记(二)

系列文章目录 真希望我父母读过这本书的笔记(一) 真希望我父母读过这本书的笔记(二) 文章目录 系列文章目录PART 5 培养心理健康的孩子亲子关系决定心理健康互动及来回交流如何开始交流互看游戏交流恐惧症 若遇棘手之际&#xff0…

9.Admin后台系统

9. Admin后台系统 Admin后台系统也称为网站后台管理系统, 主要对网站的信息进行管理, 如文字, 图片, 影音和其他日常使用的文件的发布, 更新, 删除等操作, 也包括功能信息的统计和管理, 如用户信息, 订单信息和访客信息等. 简单来说, 它是对网站数据库和文件进行快速操作和管…

[Flutter]创建一个私有包并使用

在Flutter中创建一个自己的私有组件(通常称为包或库),并通过Dart的包管理工具pub进行使用。 一、创建一个新的Flutter包 1.使用命令行创建 使用Flutter命令行工具来创建一个新的包: $ flutter create --templatepackage my_pri…

嵌入式复习重点

嵌入式系统有多种表现形式,包括计算机MCU、SOC片上系统、SOPC片上系统、GPU和FPGA等。 MCU(微控制器): 是最基本也是最常见的嵌入式系统形式,是集成了CPU、ROM、RAM、IO口、定时器、中断控制器等组件的单一芯片。MCU广泛用于电器电子产品的控制。SoC(系统片上芯片):…

P8800 [蓝桥杯 2022 国 B] 卡牌

P8800 [蓝桥杯 2022 国 B] 卡牌 分析 “最多” -- 二分 1.二分区间(凑齐的卡牌套数): l:a[]min;r:(a[]b[])max 2.check(x): (1)for循环内: 判断x - a[i…

Enhancing Diffusion——利用三维透视几何约束增强扩散模型

概述 透视在艺术中被广泛研究,但现代高质量图像生成方法却缺乏透视精度。新的生成模型引入了几何约束,通过训练过程提高透视精度。这样可以生成更逼真的图像,并提高相关深度估计模型的性能。 最近的图像生成技术使研究人员能够创造性地进行…

茅台葡萄酒打出节日新式营销“组合拳”,两月内落地品鉴会超千桌

执笔 | 尼 奥 编辑 | 古利特 2024年1-3月酒类进出口数据显示,葡萄酒进口量微增3.66%,进口额同比下滑11%,一季度整体跌势大缓,逐步走出普遍低迷的行情。与之相反的是,作为国产葡萄酒代表的茅台葡萄酒继续保持向上的战…

【C++】 认识多态 + 多态的构成条件详细讲解

前言 C 目录 1. 多态的概念2 多态的定义及实现2 .1 虚函数:2 .2 虚函数的重写:2 .2.1 虚函数重写的两个例外: 2 .3 多态的两个条件(重点)2 .4 析构函数为啥写成虚函数 3 新增的两个关键字3.1 final的使用:3…

线程详解(接上篇博客)

目录 1.生产者消费者模型; 2.基于环形队列的生产者消费者模型; 3.线程池; 4.STL, 智能指针, 线程安全; 5.读者写者问题. 前言: 本篇博客博主五一假期都在肝的一篇, 希望xdm点点三连, 博主感谢了 onz !!! 1.生产者消费者模型 321原则:(便于记忆) 3是指3种关系: 生产者和生产…

赚钱的背后逻辑!2024创业干什么最赚钱?2024创业方向!2024普通人的出路!2024普通人最有前景的行业!

钱根本不是赚来的。钱,是你帮别人解决问题后,对方给你的回报。什么时候把这句话理解透了,钱就会反过来追你。 问题就是每个人的痛点,痛点就是需求,男人怕穷,女人爱美,老人怕病,小孩怕…

OpenHarmony实战开发-管理位置权限

Web组件提供位置权限管理能力。开发者可以通过onGeolocationShow()接口对某个网站进行位置权限管理。Web组件根据接口响应结果,决定是否赋予前端页面权限。获取设备位置,需要开发者配置ohos.permission.LOCATION,ohos.permission.APPROXIMATE…

面试笔记——类加载器

基础 类加载器:用于装载字节码文件(.class文件)运行时数据区:用于分配存储空间执行引擎:执行字节码文件或本地方法垃圾回收器:用于对JVM中的垃圾内容进行回收 类加载器 :JVM只会运行二进制文件,类加载器的…

LLM——用于微调预训练大型语言模型(LLM)的GPU内存优化与微调

前言 GPT-4、Bloom 和 LLaMA 等大型语言模型(LLM)通过扩展至数十亿参数,实现了卓越的性能。然而,这些模型因其庞大的内存需求,在部署进行推理或微调时面临挑战。这里将探讨关于内存的优化技术,旨在估计并优…