域名解析服务器(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

相关文章

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

使用Nginx配置文件服务器方式

《使用Nginx配置文件服务器方式》:本文主要介绍使用Nginx配置文件服务器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 为什么选择 Nginx 作为文件服务器?2. 环境准备3. 配置 Nginx 文件服务器4. 将文件放入服务器目录5. 启动 N

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.