linux DNS域名解析服务

news2025/1/15 17:40:52

目录

一.DNS

DNS系统的作用

域名结构:

根域

顶级域

二级域

子域

主机 

二.DNS解析过程

迭代查询:

递归查询:

三.实验模拟 主、从服务器设置

1.搭建本地DNS服务器------(主服务器配置)

1)初始化系统

​编辑2)安装 bind 软件包

​编辑 3)修改主配置

4)修改区域配置文件

:5)修改区域数据文件 

5)启动服务,关闭防火墙

​编辑6)客户端设置DNS服务器地址

2.搭建本地DNS服务器------(从服务器配置)

 1)初始化系统

​编辑2)安装 bind 软件包

​编辑

  3)修改主配置

5)启动服务,关闭防火墙

​编辑6)客户端设置DNS服务器地址

3.故障

1.使用 named-checkconf 配置文件路径 //解析配置文件是否出错

2. 进入vim /etc/named.rfc1912.zones修改

3.重启服务检查

4.测试


一.DNS

  • DNS是"域名系统"的英文缩写。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
  • DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。

DNS系统的作用

  • 正向解析:根据域名查找对应的IP地址口
  • 反向解析:根据IP地址查找对应的域名
  • DNS系统的分布式数据结构

域名结构:

  • http://www.sina.com.cn./
  • http://主机名.子域.二级域.顶级域 根域/
  • 树状结构最顶层称为根域,用“.”表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器,如将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 (完全合格域名,是指包含了所有域的主机名,其中包括根域),也是这台主机在域名中的全名

二.DNS解析过程

迭代查询:

  • 简单来说就是每次DNS解析请求都会用相对应的响应回复

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

递归查询:

  • 简单来说就是将DNS解析请求一探到底,再逐层返回
  • 本地域名服务器先将DNS解析请求发送给根域名服务器,根域名服务器再将解析请求转发给相对应的顶级域名服务器,顶级域名服务器再将解析请求转发给相对应的二级域名或子域名服务器,最后子域名服务器会根据域名的主机名解析出相对应的IP地址后,再逐层返回给本地域名服务器。

三.实验模拟 主、从服务器设置

1.搭建本地DNS服务器------(主服务器配置)

1)初始化系统

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux/config


2)安装 bind 软件包

[root@localhost ~]# yum install -y bind dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
loacl                                                                                    | 3.6 kB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 bind.x86_64.32.9.11.4-26.P2.el7_9.9 将被 安装
---> 软件包 dhcp.x86_64.12.4.2.5-83.el7.centos.1 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================================================
 Package             架构                  版本                                      源                    大小
================================================================================================================
正在安装:
 bind                x86_64                32:9.11.4-26.P2.el7_9.9                   loacl                2.3 M
 dhcp                x86_64                12:4.2.5-83.el7.centos.1                  loacl                515 k

事务概要
================================================================================================================
安装  2 软件包

总下载量:2.8 M
安装大小:6.8 M
Downloading packages:
----------------------------------------------------------------------------------------------------------------
总计                                                                            149 MB/s | 2.8 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 12:dhcp-4.2.5-83.el7.centos.1.x86_64                                                        1/2 
  正在安装    : 32:bind-9.11.4-26.P2.el7_9.9.x86_64                                                         2/2 
  验证中      : 32:bind-9.11.4-26.P2.el7_9.9.x86_64                                                         1/2 
  验证中      : 12:dhcp-4.2.5-83.el7.centos.1.x86_64                                                        2/2 

已安装:
  bind.x86_64 32:9.11.4-26.P2.el7_9.9                    dhcp.x86_64 12:4.2.5-83.el7.centos.1                   

完毕!

 3)修改主配置

[root@localhost ~]# vim /etc/named.conf

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        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; };

 

4)修改区域配置文件

[root@localhost named]# vim /etc/named.rfc1912.zones
zone "xy101.com" IN {
        type master;
        file "xy101.com.zone";
        allow-transfer { 20.0.0.168; };
};

zone "0.0.20.in-addr.arpa" IN {
       type master;
       file "xy101.com.zone.local";
       allow-transfer { 20.0.0.168; };
};

 

:5)修改区域数据文件 

[root@localhost ~]# cd /var/named
[root@localhost named]# cp -a named.localhost xy101.com.zone
[root@localhost named]# ll
总用量 20
drwxrwx---. 2 named named    6 2月  24 2022 data
drwxrwx---. 2 named named    6 2月  24 2022 dynamic
-rw-r-----. 1 root  named 2253 4月   5 2018 named.ca
-rw-r-----. 1 root  named  152 12月 15 2009 named.empty
-rw-r-----. 1 root  named  152 6月  21 2007 named.localhost
-rw-r-----. 1 root  named  168 12月 15 2009 named.loopback
drwxrwx---. 2 named named    6 2月  24 2022 slaves
-rw-r-----. 1 root  named  152 6月  21 2007 xy101.com.zone
[root@localhost named]# vim xy101.com.zone

 

[root@localhost named]# cp -a named.localhost xy101.com.zone.local
[root@localhost named]# vim xy101.com.zone.local

 

 注:

  •  0       ; serial    #更新序列号,可以是 10 位以内的整数
  • 1D      ; refresh    #刷新时间,重新下载地址数据的间隔
  • 1H      ; retry        #重试延时,下载失败后的重试间隔
  • 1W      ; expire    #失效时间,超过该时间仍无法下载则放弃
  • 3H )    ; minimum    #无效解析记录的生存周期
  • #“        @”这里是一个变量,当前DNS区域名
  • #          SOA记录中的更新序列号用于同步主、从服务器的区域数据,当从服务器判断区域更   新时,若发     现主服务器中的序列号与本地区域数据中的序列号相同,则不会进行下载。
  • #         “benet.com.”此为完全合格域名(FQDN),后面有个“.”不能漏掉
  • #         “admin.benet.com.”表示管理员邮箱,这里的“@”符号已有其他含义,所以用“.”代替

5)启动服务,关闭防火墙

[root@localhost named]# systemctl start named
[root@localhost named]# systemctl enable named


6)客户端设置DNS服务器地址

[root@localhost named]# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 20.0.0.142
nameserver 20.0.0.168

 

2.搭建本地DNS服务器------(从服务器配置)

 1)初始化系统

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux/config


2)安装 bind 软件包

[root@localhost ~]# yum install -y bind dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
loacl                                                                                    | 3.6 kB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 bind.x86_64.32.9.11.4-26.P2.el7_9.9 将被 安装
---> 软件包 dhcp.x86_64.12.4.2.5-83.el7.centos.1 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================================================
 Package             架构                  版本                                      源                    大小
================================================================================================================
正在安装:
 bind                x86_64                32:9.11.4-26.P2.el7_9.9                   loacl                2.3 M
 dhcp                x86_64                12:4.2.5-83.el7.centos.1                  loacl                515 k

事务概要
================================================================================================================
安装  2 软件包

总下载量:2.8 M
安装大小:6.8 M
Downloading packages:
----------------------------------------------------------------------------------------------------------------
总计                                                                            149 MB/s | 2.8 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 12:dhcp-4.2.5-83.el7.centos.1.x86_64                                                        1/2 
  正在安装    : 32:bind-9.11.4-26.P2.el7_9.9.x86_64                                                         2/2 
  验证中      : 32:bind-9.11.4-26.P2.el7_9.9.x86_64                                                         1/2 
  验证中      : 12:dhcp-4.2.5-83.el7.centos.1.x86_64                                                        2/2 

已安装:
  bind.x86_64 32:9.11.4-26.P2.el7_9.9                    dhcp.x86_64 12:4.2.5-83.el7.centos.1                   

完毕!

  3)修改主配置

[root@localhost ~]# vim /etc/named.conf

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        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; };

 

[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "xy101.com" IN {
        type slave;
        masters{ 20.0.0.142; };
        file "slaves/xy101.com.zone";

  

zone "0.0.20.in-addr.arpa" IN {
        type slave;
        masters{ 20.0.0.142; };
        file "slaves/xy101.com.zone.local";
};

 

5)启动服务,关闭防火墙

[root@localhost named]# systemctl start named
[root@localhost named]# systemctl enable named


6)客户端设置DNS服务器地址

[root@localhost named]# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 20.0.0.142
nameserver 20.0.0.168

注:从服务器不需要配置区域数据文件

3.故障

[root@localhost ~]# systemctl start named
Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.

1.使用 named-checkconf 配置文件路径 //解析配置文件是否出错

2. 进入vim /etc/named.rfc1912.zones修改

3.重启服务检查

4.测试

[root@localhost named]# nslookup xy101.com
Server:		20.0.0.142
Address:	20.0.0.142#53

Name:	xy101.com
Address: 20.0.0.142

[root@localhost named]#  nslookup 20.0.0.100
100.0.0.20.in-addr.arpa	name = abc.xy101.com.

[root@localhost named]# 

 

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

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

相关文章

win c++使用lua环境配置 5.3.5版本

编译lua 下载lua源码,github仓库 使用vs编译源码,新建一个静态库项目(只会生成lib文件),想要dll的话就新建dll项目(有一个lib文件和dll文件) 把lua源码下面的文件夹都是,复制到vs项目中 lib目录是我手动…

Linux蓝牙驱动模拟HID设备(把Linux系统模拟成蓝牙鼠标和蓝牙键盘)

by fanxiushu 2024-04-24 转载或引用请注明原始作者。 在经过windows的蓝牙驱动开发模拟成HID设备的大风大浪之后, 现在回到linux下实现相同功能,简直就是如小孩嬉闹一样的轻松。 但无论如何,作为模拟蓝牙HID设备的windows,linux一…

冰箱、保险柜门不要对准外面

风水真的和我们的生活息息相关,它会影响到我们的事业财运、婚姻感情、健康平安等等。很多人在不知情的情况下,触犯了风水里的禁忌,那结果可想而知! 峰民特别提示您:千万不要将冰箱、保险柜的门对准外面。冰箱是不能与…

什么是重放攻击(Reply attack)?

什么是重放攻击(Reply attack)? 重放攻击,也称为回放攻击,是一种网络攻击方式。重放攻击是一种中间人攻击,攻击者通过截获合法的数据传输并重新发送它们来欺骗接收方,让接收方误以为是合法的消息。重放攻击是非常常见的&#xf…

printjs打印表格的时候多页的时候第一页出现空白

现象:打印多页的时候第一页空白了,一页的时候没有问题 插件:printjs 网上搜索半天找到的方式解决: 1. 对于我这次的现象毫无作用。其他情况不得而知,未遇见过。(这个应该是大家用的比较多的方式&#xf…

古籍数字化平台中的OCR:这个平台更精准

在浩瀚的历史长河中,古籍作为中华民族的文化瑰宝,承载着无数先人的智慧与心血。然而,由于岁月侵蚀、保存不当等多种原因,许多珍贵的古籍面临损坏、失传的危机。为了守护这些无价之宝,云聪研发团队倾力打造了一款尖端的…

使用QTcpSocket

(1)客户端每隔10ms向服务器发送一次数字字符串&#xff0c;从0开始。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QTcpSocket> #include <QLabel> #include <QTimer> namespace Ui { class MainWindow; }class Mai…

11 - 在k8s官方文档上,经常搜索不到内容的问题

使用k8s官方文档时&#xff0c;会出现首页可以正常打开&#xff0c;但是输入搜索关键字之后&#xff0c;搜索不到内容的情况&#xff0c;如下图&#xff1a; 这是由于相关搜索组件被墙的原因&#xff0c;处理方法如下&#xff1a; 谷歌浏览器&#xff1a; 火狐浏览器&#x…

Epic游戏商店再送大作,兽人必须死3即将免费领取

Epic游戏商店再送大作&#xff01;兽人必须死3即将免费领取 圣诞节过后&#xff0c;Epic游戏商店一直在送出精心制作的小游戏或者在小圈子里备受热议的作品。虽然之前送过的游戏如《天外世界》和《幽灵行者》等名气不小&#xff0c;但对于一直在“白嫖”的玩家们来说&#xff0…

采用php vue2 开发的一套医院安全(不良)事件管理系统源码(可自动生成鱼骨图)

采用php vue2 开发的一套医院安全&#xff08;不良&#xff09;事件管理系统源码&#xff08;可自动生成鱼骨图&#xff09; 医院安全&#xff08;不良&#xff09;事件管理系统采用无责的、自愿的填报不良事件方式&#xff0c;有效地减轻医护人员的思想压力&#xff0c;以事件…

【Go语言快速上手(四)】面向对象的三大特性引入

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Go语言专栏⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Go语言知识   &#x1f51d;&#x1f51d; GO快速上手 1. 前言2. 初识GO中的结构…

记内网http洪水攻击,导致网页无法访问一事

事由 最近两日&#xff0c;部分同事在访问税纪云平台时&#xff0c;登录跳转页面频繁转圈、要么就是出现无法连接的错误提示。 无法访问此页面 已重置连接。 请尝试: 检查连接 检查代理和防火墙 运行 Windows 网络诊断经过以下几方面的排查&#xff0c;无果。 后续通过检查…

【Node.js】02 —— Path模块全解析

&#x1f31f;Node.js之Path模块探索&#x1f308; &#x1f4da;引言 在Node.js的世界中&#xff0c;path模块就像一把万能钥匙&#x1f511;&#xff0c;它帮助我们理解和操作文件与目录的路径。无论你是初入Node.js殿堂的新手&#xff0c;还是久经沙场的老兵&#xff0c;理…

Docker容器概念介绍与基本管理

前言 在软件开发和部署环境中&#xff0c;使用 Docker 等容器技术可以帮助团队实现快速、一致、可靠的应用程序部署&#xff0c;提高开发效率和应用程序的可移植性。 目录 一、虚拟化产品介绍 1. 云服务模型 1.1 IaaS 1.2 PaaS 1.3 SaaS 1.4 DaaS 2. 产品介绍 2.1 虚…

【八股】Spring篇

why Spring? 1.使用它的IOC功能&#xff0c;在解耦上达到了配置级别。 2.使用它对数据库访问事务相关的封装。 3.各种其他组件与Spring的融合&#xff0c;在Spring中更加方便快捷的继承其他一些组件。 IoC和DI &#x1f449;IOC是Inversion of Control的缩写&#xff0c;“…

Nginx 四层和七层代理区别、配置

四层&#xff1a;通过报文中的目标地址和端口&#xff0c;加上负载均衡设备设置的服务器选择方式&#xff0c;决定最终选择的内部服务器&#xff0c;使用tcp、udp协议。 七层&#xff1a;"内容交换"&#xff0c;通过报文中真正有意义的应用层内容&#xff0c;加上负…

ETLCloud平台组件模版的使用技巧

ETL工具介绍 在ETLCloud平台中配备了各种不同的组件、模板、规则&#xff0c;用户可运用不同类型的组件来实现想要的业务流程。接下来直接进入平台组件模板的使用技巧说明吧。 使用技巧 1.组件复制 平时在使用的时候&#xff0c;如果遇到要用到一个组件&#xff0c;需要再来…

创建一个空的maven项目,整合SpringBoot和Redis

创建一个空的maven项目&#xff0c;整合SpringBoot和Redis 创建空的maven项目 在最新版的idea中创建maven项目的时候会让选择模板 如下图&#xff1a; 我们选择quickstart快速开始模板&#xff0c;quickstart快速开始模板创建的maven项目里面什么都不带&#xff0c;只有一个…

【机器学习】集成学习---投票法(Voting)

一、引言 集成学习&#xff08;Ensemble Learning&#xff09;是机器学习领域中的一种重要策略&#xff0c;它通过结合多个模型的预测结果来提高整体性能。在单个模型容易过拟合或欠拟合的情况下&#xff0c;集成学习能够通过综合多个模型的优点来减少这种风险&#xff0c;从而…

javaWeb项目-房屋房租租赁系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、JSP技术 JSP(Jav…