域名解析服务器(DNS)

2024-05-23 22:28
文章标签 服务器 域名解析 dns

本文主要是介绍域名解析服务器(DNS),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

简介

        DNS

        域名

        域名结构

        域名服务器类型

        相关指令

实验内容 

        软件

 实验准备

正向解析实验 

        服务端操作

        客户端操作

逆向解析实验 

        服务端操作

        客户端操作


简介

        DNS

        DNS(Domain Name System)时互联网上的一项服务,作为将域名和IP地址互相映射的一个分布式数据库,能更方便人们访问互联网;DNS服务的监听端口是UDP协议的53端口。

        域名

        因特网采用层次树状结构的命名方法,任何连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(Domain Name)。

        域名只是逻辑概念,并不代表计算机所在的物理地点。

        域名结构

        域名可分为三大类:国家顶级域名、通用顶级域名、基础结构域名

        国家顶级域名:采用ISO3166标准;cn为中国、us为美国、uk为英国等。

        通用顶级域名:com代表企业公司、net代表网络服务机构、org代表非盈利组织、int代表国际组织、gov代表政府部门等。

        基础结构域名:该顶级域名只有一个---arpa,用于域名转换为IP地址,因此成为反向域名。

        域名服务器类型

        根域名服务器:顶层的域名服务器,知道所有顶级域名服务器的域名和IP地址

        顶级域名服务器:负责管理在该顶级域名注册的二级域名

        权限域名服务器: 负责一个区域的域名

        本地域名服务器:不属于域名服务器的层次结构,但对域名系统非常重要;当主机发出DNS请求时,查询请求就发送给本地域名服务器

        缓存DNS服务器:不负责解析域,只缓存域名解析的结果

        相关指令

        nslookup

                用于查询DNS记录,查看域名解析是否正常,在网络故障时可以用来诊断网络问题;Liunx和Windows都可以使用该命令

                非交互模式:nslookup + 需要解析的域名或IP地址

                交互模式: 使用nslookup命令进入交互模式(ctrl + Z退出交互模式)

        dig 

                是一个域名查询工具;可以从DNS服务器查询主机地址信息,获取到详细的域名信息

                安装

                Debian(Ubuntu、kali...)系列:

apt-get install dnsutils

                RedHat(RedHat、Centos、Fedora...)系列:

yum install bind-utils

                使用

dig + 需要解析的域名或IP地址

        其中status的值为状态指示

        NOERROR:查询成功

        SERVFAIL:DNS服务器执行查询时遇到错误,无法完成请求

        NXDOMAIN:查询的域名不存在记录

        使用 dig -x + 需要查询的域名或IP地址

        注意:dig会从域名的官方服务器上获取到精确的结果;nslookup只会获得DNS服务器保存在cache中非权威的解答

实验内容 

        软件

        bind是提供DNS服务的软件,它的守护进程名是named

        安装

yum install bind

         检查安装情况

rpm -qc bind

 实验准备

        实验设备

        两个操作系统,一个作为客户端,一个作为服务器

        服务器

        客户端

        修改服务器named配置

cp /etc/named.conf /etc/named.conf_bak        #备份配置文件

vim /etc/named.conf

         将127.0.0.1和localhost修改为any        #允许所有人访问本机DNS

        关闭SELiunx

setenforce 0

        关闭防火墙

 systemctl stop firewalld.service

正向解析实验 

        实验将域名解析为IP地址

        服务端操作

        编辑区域配置文件

cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones_bak        #备份配置文件

vim /etc/named.rfc1912.zones

        在配置文件末尾添加

zone "hello.com" IN {
        type master;
        file "hello.com.zone";
        allow-update { none; };
};                                                                 #hello.com为域名,可自定义

        编辑正向解析文件

        复制正向解析模板 

 cd /var/named/        #进入文件位置

cp -a named.localhost hello.com.zone        #拷贝并重命名;hello.com要与上面域名一致

vim hello.com.zone        #进入文件编辑

         修改前

        修改后 (保存退出)

         hello.com.        #自定义域名

        192.168.73.130        #域名对应的IP地址(为了简化实验将其设置为服务器IP地址)

        www.        ftp.        www1.        #匹配域名的前缀

        重启服务

systemctl restart named

        客户端操作

        修改网络适配器文件

        客户端网络适配器为ens160

        进入网络适配器配置文件 

vim /etc/NetworkManager/system-connections/ens160.nmconnection

        添加DNS服务器地址 

dns=192.168.73.130        #dnsIP地址为服务器IP地址

        重启网络适配器

 nmcli connection reload                #重启服务

nmcli connection up ens160                #重启网络适配器

         测试正向解析

逆向解析实验 

        服务端操作

        主要配置文件与正向解析相同,区域配置文件中添加逆向解析配置

vim /etc/named.rfc1912.zones

        添加以下配置 

        73.168.192为服务器端IP地址的网络位

        注意:IP地址需要反向书写

zone "73.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.73.arpa";
        allow-update { none; };
};

         编辑反向解析文件

        复制反向解析模板

cd /var/named/        #进入配置位置

cp -a named.loopback 192.168.73.arpa        #拷贝并重命名文件为反向解析的IP地址

vim 192.168.73.arpa        #编辑配置文件

         修改后

        域名结尾必须加点(.);130为服务器的主机位

         重启服务

systemctl restart named

        客户端操作

        配置与正向解析操作一致

        测试

这篇关于域名解析服务器(DNS)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/996584

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服