DNS配置

news2024/11/17 1:56:12

TCP/IP提供了通过IP地址来连接到设备的功能,但对用户来讲,记住某台设备的IP地址是相当困难的,因此专门设计了一种字符串形式的主机命名机制,这些主机名与IP地址相对应。

 

在IP地址与主机名之间需要有一种转换和查询机制,提供这种机制的系统就是域名系统DNS(Domain Name System)。

 

DNS使用一种有层次的命名方式,为网上的设备指定一个有意义的名字,并且在网络上设置域名解析服务器,建立域名与IP地址的对应关系。

 

这样用户就可以使用便于记忆的、有意义的域名,而不必去记忆复杂的IP地址。

 

 

 

DNS Client与Server的交互

 

 

 

 

Internet域名体系

 

最初所有机器使用的名字构成了一个非等级的名字空间,由字符序列组成所有的名字。

 

网络信息中心NIC(Network Information Center)管理这个名字空间,并负责接纳新名字。非等级名字空间由于自身的特点不能管理大量的机器名字,主要原因如下所示:

 

•名字由字符序列组成,存在潜在的命名冲突。 

•名字空间的管理结构位于一个站点,机器数量的不断增多对管理工作带来很大负担。

•名字到IP地址的映射经常发生变化,导致维护域名空间的工作量巨大。

 

因此,TCP/IP把DNS的域名设计成了分级的结构。Internet域名结构由TCP/IP协议栈中的DNS进行定义。DNS把因特网划分成多个顶级域,如表1所示为每个顶级域的域名。

 

顶级域采用组织模式和地理模式的划分模式。地理模式按照国家进行划分,每个申请加入Internet的国家都要向NIC注册一个顶级域名,如cn代表中国、us代表美国等。

e5781cc2c405c802e93f02baabf3c643.png

NIC将顶级域的管理权分派给由其指定的管理机构,由这些管理机构再对被授权管理的域继续进行划分,从而形成了二级域。负责划分二级域的管理机构可以授权其下属的管理结构,由它们继续划分域。由此下去,便形成了层次型的Internet域名体系结构。

 

静态域名解析

 

域名解析分为动态域名解析和静态域名解析。在解析域名时,首先采用静态域名解析的方法,如果静态解析不成功,再采用动态域名解析的方法。 

 

IPv4静态域名解析是通过静态域名解析表进行的,即手动建立域名和IPv4地址之间的对应关系表,该表的作用类似于Windows 9X操作系统下的hosts文件,可以将一些常用的域名放入表中。

 

当DNS Client需要域名所对应的IPv4地址时,即到静态域名解析表中去查找指定的域名,从而获得所对应的IP地址,提高域名解析的效率。

 

动态域名解析

 

动态域名解析需要专用的域名解析服务器(DNS Server)运行域名解析服务器程序,提供从域名到IP地址的映射关系,负责接收客户提出的域名解析请求。

 

DNS Client和DNS Server的交互,即动态域名解析的工作过程如下所示:

701cbafe4e29cac8bcfe900721352a50.jpeg

 

 

地址解析器(Resolver)和缓存区(Cache)集成在一起构成DNS客户端(DNS Client),它的作用是接收用户程序(例如Ping、Tracert)的DNS请求,并对其作出回应。一般来说,用户程序、地址解析器和缓存区是在同一台主机上,DNS Server和它们在不同的主机上。

 

1.用户使用域名访问某些应用服务时,用户程序(如ping、telnet等)首先向DNS Client的地址解析器发出DNS请求。

 

2.地址解析器收到DNS请求后,首先查询本地域名缓存。•如果本地域名缓存中存在该域名对应的映射表项,地址解析器就直接将域名对应的IP地址返回给用户程序。

 

•如果本地域名缓存中不存在所要查找的映射表项,地址解析器就向DNS Server发送查询请求报文。

 

3.DNS Server收到查询报文后,首先判断请求的域名是否处于自己被授权管理的子域里,再根据不同的判断结果,向DNS Client发送相应的响应报文。

 

•如果请求的域名在自己被授权管理的子域范围之内,该DNS Server首先从自己的数据库中查找域名对应的IP地址。

 

•如果请求的域名不在被授权管理的子域范围之内,该DNS Server就将请求交给上一级的DNS Server处理,直到完成解析,将解析的结果返回给DNS Client。

 

4.DNS Client的地址解析器接收并解析DNS Server发回来的响应报文,将解析结果返回给用户程序。

 

每次动态解析成功的域名与IP地址的映射均存放在动态域名缓存区中,当下一次查询相同域名的时候,就可以直接从缓存区中读取,不用再向域名服务器进行请求。

 

缓存区中的映射在一段时间后会被老化删除,以保证及时从域名服务器得到最新的内容。老化时间由域名服务器设置,DNS Client从协议报文中获得老化时间。

 

 

 

华为路由器配置DNS举例

 

 

 

 

配置DNS客户端示例

 

1、组网需求

12a1db22cf2b7ebafe2a7d19af711893.jpeg

 

由于IP地址难于记忆,用户希望通过DNS域名请求方式访问网络服务器。用户希望输入域名部分字段,DNS服务器就可以正确解析,达到用户访问正确网络服务的效果。

 

例如DNS客户端在访问该服务器huawei.com时,用户只需要输入“huawei”即可。对于一些常用的域名,用户希望能够快速访问,提高域名解析的效率。

 

2、配置思路

 

DNS的配置思路如下:

(1)在RouterA上配置静态DNS表项,实现与服务器B和服务器C进行通信的功能。

(2)在RouterA上配置动态DNS功能,实现RouterA以动态DNS查询方式与网络服务器进行通信的功能。

(3)在RouterA配置域名后缀,实现RouterA可以实现域名后缀列表功能。

(4)配置Router上的OSPF路由,实现Router的路由可达。

 

3、操作步骤

 

(1)配置设备RouterA

# 配置GE1/0/0接口的IP地址。

<Huawei> system-view

[Huawei] sysname RouterA

[RouterA] interface gigabitethernet 1/0/0

[RouterA-GigabitEthernet1/0/0] ip address 10.1.1.2 255.255.0.0

[RouterA-GigabitEthernet1/0/0] quit

# 配置OSPF。

[RouterA] ospf

[RouterA-ospf-1] area 0

[RouterA-ospf-1-area-0.0.0.0] network 10.1.0.0 0.0.255.255

[RouterA-ospf-1-area-0.0.0.0] quit

[RouterA-ospf-1] quit

# 配置静态DNS表项。

[RouterA] ip host serverB 10.4.1.1

[RouterA] ip host serverC 10.4.1.2

# 使能DNS域名解析功能。

 [RouterA] dns resolve

# 配置DNS服务器的IP地址。

 [RouterA] dns server 10.3.1.2

# 配置域名后缀net。

 [RouterA] dns domain net

# 配置域名后缀com。

[RouterA] dns domain com

[RouterA] quit

 

注:

若要完成对域名的解析,还需要在RouterB和RouterC上配置ospf,以保证设备之间路由可达。

 

(2)验证配置结果

# 在设备RouterA上执行ping serverB命令,可以ping通,且对应的目的地址为10.4.1.1。

<RouterA>  ping serverB

 PING serverB (10.4.1.1): 56  data bytes, press CTRL_C to break

    Reply from 10.4.1.1: bytes=56 Sequence=1 ttl=126 time=4 ms

    Reply from 10.4.1.1: bytes=56 Sequence=2 ttl=126 time=1 ms

    Reply from 10.4.1.1: bytes=56 Sequence=3 ttl=126 time=1 ms

    Reply from 10.4.1.1: bytes=56 Sequence=4 ttl=126 time=1 ms

    Reply from 10.4.1.1: bytes=56 Sequence=5 ttl=126 time=1 ms

 

# 在设备RouterA上执行ping huawei.com命令,可以ping通,且对应的目的地址为10.2.1.3。 

<RouterA>  ping serverB

 PING serverB (10.4.1.1): 56  data bytes, press CTRL_C to break

    Reply from 10.4.1.1: bytes=56 Sequence=1 ttl=126 time=4 ms

    Reply from 10.4.1.1: bytes=56 Sequence=2 ttl=126 time=1 ms

    Reply from 10.4.1.1: bytes=56 Sequence=3 ttl=126 time=1 ms

    Reply from 10.4.1.1: bytes=56 Sequence=4 ttl=126 time=1 ms

    Reply from 10.4.1.1: bytes=56 Sequence=5 ttl=126 time=1 ms

 

# 在设备RouterA上执行ping huawei命令,可以ping通,且对应的域名变为huawei.com,目的地址为10.2.1.3。

<RouterA>  ping serverB

 PING serverB (10.4.1.1): 56  data bytes, press CTRL_C to break

    Reply from 10.4.1.1: bytes=56 Sequence=1 ttl=126 time=4 ms

    Reply from 10.4.1.1: bytes=56 Sequence=2 ttl=126 time=1 ms

    Reply from 10.4.1.1: bytes=56 Sequence=3 ttl=126 time=1 ms

    Reply from 10.4.1.1: bytes=56 Sequence=4 ttl=126 time=1 ms

    Reply from 10.4.1.1: bytes=56 Sequence=5 ttl=126 time=1 ms

 

# 在RouterA用display ip host命令可以查看到静态DNS表项中主机名和IP地址的对应关系。

 <RouterA> display ip host

Host                 Age        Flags  Address

serverB                0          static 10.4.1.1

serverC                0          static 10.4.1.2 

 

# 在RouterA用display dns dynamic-host命令可以查看到动态缓存区中的动态DNS表项信息。 

<RouterA> display dns dynamic-host

Host                                     TTL   Type   Address(es)               

huawei.com                               114   IP     10.2.1.3    

 

 

 

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

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

相关文章

CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送

文章目录一、前言二、实验目的三、对象字典OD四、TPDO1定时发送tx_Value变量一、前言 该笔记的程序: github 二、实验目的 CANopen从站有一个变量tx_Value&#xff0c;映射到TPDO1上。接着&#xff0c;CANopen从站每1S发送一次TPDO1&#xff0c;将tx_Value发送出去。 三、…

PasteSpider之文件同步软件的介绍

作为PasteSpider系统中的一大特色&#xff0c;那就是文件的差量同步和配置同步。能够实现对不同需求的良好实现。 在网站https://www.pastecode.cn/下载文件同步软件后&#xff0c;完全解压到自己的文件夹内&#xff0c;然后双击“SpiderSyncFile”,如下图&#xff1a; 打开登陆…

Nginx模板自动化

背景 在日常工作中&#xff0c;我们经常需要创建Nginx配置文件的模板&#xff0c;以便在不同的环境中快速部署和配置Nginx服务器。然而&#xff0c;这样的任务通常需要重复性高、耗时长&#xff0c;且容易出错。为了加快这些任务的完成&#xff0c;并提高工作效率&#xff0c;…

C/C++开发,认识opencv各模块

目录 一、opencv模块总述 二、opencv主要模块 2.1 opencv安装路径及内容 2.2 opencv模块头文件说明 2.3 成熟OpenCV主要模块 2.4 社区支持的opencv_contrib扩展主要模块 2.5 关于库文件的引用 一、opencv模块总述 opencv的主要能力在于图像处理&#xff0c;尤其是针对二维图…

字节8年测试经验,送给想要学习自动化测试的同学6条建议

我的职业生涯开始和大多数测试人一样&#xff0c;开始接触都是纯功能界面测试。那时候在一家电商公司做测试&#xff0c;做了有一段时间&#xff0c;熟悉产品的业务流程以及熟练测试工作流程规范之后&#xff0c;效率提高了&#xff0c;工作比较轻松&#xff0c;也得到了更好的…

QML控件--Dial

文章目录一、控件基本信息二、控件使用三、属性成员四、成员函数五、信号一、控件基本信息 Import Statement&#xff1a;import QtQuick.Controls 2.14 Since&#xff1a;Qt 5.7 Inherits&#xff1a;Control 二、控件使用 Dial&#xff1a;是一个旋钮控件&#xff1b; im…

【权限维持】黄金白银票据隐藏账户C2远控RustDeskGotoHTTP

文章目录内网域&单机版-权限维持-基于用户-隐藏用户内网域-权限维持-基于服务TGT-黄金白银票据黄金方法&#xff1a;白银方法&#xff1a;内网域-权限维持-基于软件-GotoHTTP&RustDesk—无需安装C2 GotoHTTPC2 RustDesk 推荐内网域&单机版-权限维持-基于用户-隐藏用…

Plist文件是什么?

plist 文件是一种用于存储应用程序配置信息的文件格式&#xff0c;其中包含应用程序的各种设置和数据。在过去&#xff0c;plist 文件通常是以.plist 格式存储的。然而&#xff0c;随着时间的推移&#xff0c;人们开始使用.plistx 格式来存储更复杂的数据结构和数据。如果您需要…

MySQL日期时间函数汇总、时间格式转换方法

MySQL日期时间函数汇总、时间格式转换方法时间函数日期时间格式转换date_format函数EXTRACT()DATE_ADD()DATE_SUB()DATEDIFF函数时间函数 函数描述NOW()返回当前的日期和时间CURDATE()返回当前的日期CURTIME()返回当前的时间DATE()返回日期或日期/时间表达式的日期部分HOUR()获…

【遗传算法、粒子群、改进遗传算法】基于智能算法的电力系统电网最优规划方案的研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【从零开始学Skynet】工具篇(一):Ubuntu16.04环境搭建

一、Ubuntu系统下载 为了初学者使用方便&#xff0c;我们下载的是Ubuntu16系统的桌面版本&#xff1a;下载地址 二、VirtualBox虚拟机下载 去Virtualbox官网下载:Downloads – Oracle VM VirtualBox 点击这里进行下载&#xff0c;下载完之后点击客户端进行安装&#xff0c;安装…

ros2-foxy windows下安装流程

1.系统要求 本手册安装环境为win10 x64 请确保已在系统路径中安装PowerShell。 请确保网络的通畅性 2.环境安装部分 安装Chocolatey 方案1&#xff1a; 复制以下命令行&#xff0c;使用管理员权限打开PowerShell&#xff0c;复制粘贴大法到PowerShell&#xff0c;安装好ch…

YC-A11(原创)基于springboot,vue网上商城

绪论 课题的开发背景 随着计算机和网络的快速发展&#xff0c;并且越来越普及&#xff0c;互联网日益成为人们收集信息常用渠道&#xff0c;电子商务开始流行&#xff0c;一种全新的理念不断形成并且快速发展&#xff0c;像国内电商巨头淘宝、京东、苏宁易购、唯品会等电商平台…

筑牢合规营销“防火墙”,助力四环医药实现合规营销管理能力全面进阶 | 案例研究

四环医药控股集团有限公司&#xff08;以下简称“四环医药”&#xff09;是一家集药品研发、生产和销售于一体的集团化医药企业&#xff0c;公司现拥有心脑血管疾病、肝病治疗、提高机体免疫机能、代谢及抗感染等多领域100品种。四环医药强大的营销体系及独特营销模式确保了自身…

会画画的海龟,Python Turtle库详解(27)

小朋友们好&#xff0c;大朋友们好&#xff01; 我是猫妹&#xff0c;一名爱上Python编程的小学生。 欢迎和猫妹一起&#xff0c;趣味学Python。 今日主题 介绍下Python的turtle库&#xff0c;这是一个可以画画的库&#xff0c;非常适合小孩子在屏幕上画画。 先学习基础知…

Python入门教程+项目实战-9.4节: 字符串的格式化

目录 9.4.1 理解格式化 9.4.2 使用f-string进行格式化 9.4.3 使用格式化符号进行格式化 9.4.4 使用format方法进行格式化 9.4.5 知识要点 9.4.6 系统学习python 9.4.1 理解格式化 同学们比较熟悉的是磁盘格式化&#xff0c;将磁盘格式化以后&#xff0c;磁盘中的文件全部…

第10章_多线程

第10章_多线程 讲师&#xff1a;尚硅谷-宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a;http://www.atguigu.com 本章专题与脉络 我们之前学习的程序在没有跳转语句的情况下&#xff0c;都是由上至下沿着一条路径依次执行。现在想要设计一个程序…

Spring概述及IoC,DI的理解

目录 一、Spring 是什么&#xff1f; 1.1 什么是容器&#xff1f; 1.2 如何理解IoC&#xff1f; 1.3 理解Spring Ioc 1.4 DI是什么 1.5 回顾IoC&#xff0c;DI 1.6 IoC和DI的对比 一、Spring 是什么&#xff1f; 我们通常所说的 Spring 指的是 Spring Framework&#x…

不会写代码也能做自动化?推荐一款自动化测试神器

在软件测试这条道路上&#xff0c;大部分的职业技能发展道路都会是纯业务手工测试→自动化测试→性能测试→安全测试/测试开发。 但是却有着一部分人起初进入软件测试这一行看重的就是软件测试属于IT行业&#xff0c;门槛比较低&#xff0c;不需要代码基础。 这就导致了这一部…

数据库系列之MySQL线程ID和操作系统线程ID对应关系

在日常运维工作中&#xff0c;MySQL数据库服务器出现SQL语句执行导致服务器CPU使用率突增&#xff0c;如何通过现有手段快速定位排查到哪个SQL语句&#xff0c;并采取应急措施。本文介绍基于传统的操作系统线程的CPU使用监控手段入手&#xff0c;利用操作系统线程ID和MySQL线程…