教你如何进行DNS域名解析

news2024/12/26 8:51:29

目录

一:DNS系统介绍

1.DNS服务概述

2.DNS域名空间介绍

3.DNS 域名结构

4.DNS解析方式

5.DNS查询方式

(1)递归查询

(2)迭代查询

 6.DNS服务器类型:

(1)主域名服务器

(2)从域名服务器

(3)缓存域名服务器

(4)转发域名服务器

二:构建DNS域名解析服务器

1.配置正向解析

 2.配置反向解析

三:DNS主从服务器实验

1.配置主从服务器

2.配置从服务器

四: DNS与DHCP实验

1.关闭防火墙,安装软件服务

 2.设置DNS配置

3.设置主DNS服务器

 4.设置正反向解析

 5.重启服务,进行正反向解析 

 6.设置从DNS服务器,修改主配置为所有人都可访问,设置正反向 ,重启服务 

 7.编辑DHCP

8. 打开windows客户端进行测试自动获取DNS

​9.另开一台linux系统机验证


一:DNS系统介绍

1.DNS服务概述

DNS(Domain Name System)域名系统,是互联网的一项核心服务,可以作为域名和IP地址相互映射的以个分布式数据库,提供域名与IP地址的解析服务,能够使人们更加方便的使用域名访问互联网而不是记住繁琐的IP地址。

2.DNS域名空间介绍

由于DNS 划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。

树状结构最顶层称为根域,用 “.” 表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器,如将 com 域的解析全委派给 com 域服务器,以后但凡跟服务器收到以 com 结尾的域名解析请求,都会转发给com 域服务器,同样道理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机。

3.DNS 域名结构

  1. 根域    位于域名空间最顶层,一般用一个 “.” 表示,其记录着Internet 的重要DNS 信息,由Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给连接到Internet 的各个组织。(全球有13个根(root)服务器)
  2.  顶级域, 一般代表一种类型的组织机构或国家地区,如 net、com、org、edu、gov、mil、cn、jp、hk。

DNS 根域下面是顶级域,也由Internet 域名注册授权机构管理。共有3 种类型的顶级域。

组织域:采用3 个字符的代号,表示DNS 域中所包含的组织的主要功能或活动。比如com 为商业机构组织,edu 为教育机构组织,gov 为政府机构组织,mil 为军事机构组织,net 为网络机构组织,org 为非营利机构组织,int 为国际机构组织。

      地区域:采用两个字符的国家或地区代号。如cn 为中国,kr 为韩国,us 为美国。

反向域:这是个特殊域,名字为in-addr.arpa,用于将IP 地址映射到名字(反向查询)

3.二级域,用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …

4.子域,二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名

5.主机,主机位于域名空间最下层,就是一台具体的计算机,如 www、mail、都是具体的计算机名字,可用www.sina.com.cn.、mail.sina.com.cn. 来表示,这种表示方式称为 FQDN (完全合格域名),也是这台主机在域名中的全名。平时上网输入的网址都是 FQDN 名,如 www.sina.com.cn,其实表示我们要访问 “sina.com.cn” 域中一台名为 “www” 的计算机

4.DNS解析方式

正向解析:根据域名查找对应的IP地址

反向解析:根据IP地址查找对应的域名

5.DNS查询方式

(1)递归查询

1.1、主机首先向其本地域名服务器进行递归查询。

1.2、本地域名服务器收到递归查询的委托后,也采用递归查询的方式向某个根域名服务器查询。

1.3、根域名服务器收到递归查询的委托后,也采用递归查询的方式向某个顶级域名服务器查询。

1.4、顶级域名服务器收到递归查询的委托后,也采用递归查询的方式向某个权限域名服务器查询。

(2)迭代查询

2.1、主机首先向其本地域名服务器进行递归查询。
2.2、本地域名服务器采用迭代查询,它先向某个根域名服务器查询。
2.3、根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器的IP地址。
2.4、本地域名服务器向顶级域名服务器进行迭代查询。
2.5、顶级域名服务器告诉本地域名服务器,下一次应查询的权限域名服务器的IP地址。
2.6、本地域名服务器向权限域名服务器进行迭代查询。
2.7、权限域名服务器告诉本地域名服务器所查询的域名的IP地址。
2.8、本地域名服务器最后把查询的结果告诉主机

 6.DNS服务器类型:

(1)主域名服务器

负责维护  个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

(2)从域名服务器

 当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果 不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置, 以便服务器能自动同步区域的地址数据库。

(3)缓存域名服务器

只提供域名解析结果的缓存功能, 目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服 务器查询的结果, 并将它放在高速缓存中, 以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器, 因为提供的所有信息都是间接 信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

(4)转发域名服务器

负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

二:构建DNS域名解析服务器

1.配置正向解析

(1)安装bind软件包

[root@localhost ~]# yum install -y bind        #安装bind软件包

 

 (2)查看需要修改的配置文件所在的路径

rpm -qc bind                   #查询bind软件配置文件所在路径
/etc/named.conf                #主配置文件
/etc/named/rfc1912.zonrs       #区域配置文件
/var/named/named.localhost     #区域数据配置文件

(3)修改主配置文件

[root@localhost ~]#vim /etc/named.conf        #修改主配置文件
options {
        listen-on port 53 { 127.0.0.1; };
#监听53端口,ip地址使用提供服务的本地ip,也可以用any表示所有
        listen-on-v6 port 53 { ::1; };       #ipv6行如不使用可以注释掉或者删除
        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";内存统计文件的位置
        allow-query     { localhost; };#允许使用本DNS解析服务的网段,也可用any代表所有

 (4)修改区域配置文件,添加正向区域配置

[root@localhost ~]# vim /etc/named.rfc1912.zones      #修改区域配置文件

zone "benet.com" IN {                                #正向解析"benet.com"区域
        type master;                                 #类型为主区域
        file "benet.com.zone";                       #指定区域数据文件为benet.com.zone
        allow-update { none; };
};

(5)配置正向区域数据文件

[root@localhost ~]# cd /var/named                      #切换目录
[root@localhost named]# cp -a named.localhost benet.com.zone#保留源文件的权限和属主的属性复制
[root@localhost named]# vim /var/named/benet.com.zone  #编辑配置文件

$TTL 1D                                                #设置缓存解析结果的有效时间
@       IN SOA  benet.com. admin.benet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.                             #记录当前区域的DNS服务器的名称
        A       192.168.231.102                        #记录主机IP地址
IN     MX 10    mail.benet.com.                        #MX为邮件交换记录,数字越大优先级越低
www    IN A     192.168.231.110                        #记录正向解析www.benet.com对应的IP
news   IN A     192.168.231.120
host   IN CNAME www                                    #CNAME使用别名,news是www的别名
*      IN A     192.168.231.150                        #泛域名解析,“*"代表任意主机名






 ​​​​​

 (6)启动服务,关闭防火墙

[root@localhost named]#systemctl start named            #开启服务
[root@localhost named]#systemctl stop firewalld         #关闭防火墙
[root@localhost named]#setenforce 0                     #临时关闭SElinux
[root@localhost named]# netstat -lntup | grep :53       #查看53端口的状态
[root@localhost named]# systemctl status named          #查看named状态
       
 
tail -f /var/log/ message            #如果服务启动失败,可以查看日志文件来排查错误
vim /var/log/messages                #查看日志文件
journalctl -u named -r               #查看日志文件

 
rndc-confgen -r /dev/urandom -a          #如果服务启动卡住,可以执行此命令解决

 

 (7)在客户端的域名解析配置文件中添加DNS服务器地址

plan 1:
vim /etc/resolv.conf                                      #修改完后立即生效
nameserver 192.168....

cat /etc/resolv.conf


plan 2:
vim /etc/ sysconfig/network- scripts/ ifcfg-ens33         #修改完后需要重启网卡
DNS1=192.168....

systemctl restart network                                 #重启网卡

 

 (8)测试DNS解析(nslookup或者host)

 2.配置反向解析

前面步骤跟正向解析一样:安装bind—>修改主配置文件

(1)修改区域配置文件,添加区域配置


[root@localhost named]# vim /etc/named.rfc1912.zones

zone "231.168.192.in-addr.arpa" IN {       #网段地址反着写,最后一段可不写
        type master;
        file "benet.com.zone.local";       #名字不能重复
        allow-update { none; };
};

(2)备份指定区域数据配置文件,然后编辑指定区域数据配置文件

[root@localhost named]#cd /var/ named/
[root@localhost named]#cp -p named.localhost zhangbin.com.zone.local
[root@localhost named]# vim /var/named/benet.com.zone.local

$TTL 1D
@       IN SOA  benet.com. admin.benet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.
        A       192.168.231.102
123 IN PTR      www.benet.com.
191 IN PTR      news.benet.com.            #PTR为反向指针

 (3)重启服务,测试DNS反向解析

三:DNS主从服务器实验

1.配置主从服务器

(1)主服务器主配置文件 

[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; };

(2)主服务器区域配置文件

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

zone "benet.com." IN {
        type master;
        file "benet.com.zone";
        allow-transfer { 192.168.231.100; };
};


zone "231.168.192.in-addr.arpa" IN {
        type master;
        file "benet.com.zone.local";
        allow-transfer { 192.168.231.100; };
};

(3)复制文件,修改主服务器区域数据文件 

[root@localhost named]#cd /var/named
[root@localhost named]# cp -a named.localhost  benet.com.zone
[root@localhost named]#cp -a named.localhost  benet.com.zone.local

[root@localhost named]# vim benet.com.zone 

$TTL 1D
@       IN SOA  benet.com. admin.benet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.
        A       192.168.231.102
www IN  A       192.168.231.110
IN  MX  10      mail.benet.com.
mail IN A       192.168.231.120
news  IN CNAME   www
*    IN A       192.168.231.200



[root@localhost named]# vim benet.com.zone.local

$TTL 1D
@       IN SOA  benet.com. admin.benet.com.. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.
        A       192.168.231.102
150 IN PTR      www.benet.com.
160 IN PTR      mail.benet.com.
170 IN PTR      news.benet.com.



  

 (4)添加主服务器IP地址

2.配置从服务器

(1)安装bind

[root@localhost ~]# yum install -y bind

(2)修改从域名服务器主配置文件

[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; };

 (3)修改从域名服务器区域配置文件,添加正、反区域配置

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

zone "benet.com" IN {
        type slave;
        file "slaves/benet.com.zone";
        masters { 192.168.231.102; };
};


zone "231.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/benet.com.zone.local";
        masters { 192.168.231.102; };
};

 

 (4) 主从服务器都重启服务,并查看区域数据文件是否已下载成功

systemctl restart named
ls -l /var/named/slaves/

 (5)当把主服务器的named服务关掉后,再nslookup后,显示的Server就是从服务器的IP地址了 

四: DNS与DHCP实验

DNS服务器:主 192.168.231.102从 192.168.231.100
DHCP服务器 192.168.231.102 提供192.168.231.0/24 网段的ip地址 子网掩码 默认网关 DNS服务器地址 DNS默认域名配置

1.关闭防火墙,安装软件服务

  

 2.设置DNS配置

3.设置主DNS服务器

 

 4.设置正反向解析

 

 5.重启服务,进行正反向解析 

 

 6.设置从DNS服务器,修改主配置为所有人都可访问,设置正反向 ,重启服务 

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

[root@localhost slaves]# vim /etc/named.rfc1912.zones

 

 7.编辑DHCP

 复制文件

 编辑配置文件

 

 启动DHCP

8. 打开windows客户端进行测试自动获取DNS

选择自动获得IP地址

将NAT模式关掉

 网络关闭再重启

 9.另开一台linux系统机验证

设置dhcp服务 

重启服务后查看 dns配置

 

 进行正反解析

 

 

 

 

 

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

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

相关文章

Android进阶宝典 -- 解读Handler机制核心源码,让ANR无处可藏

其实ANR核心本质就是让UI线程(主线程)等了太久,导致系统判定在主线程做了耗时操作导致ANR。当我们执行任何一个任务的时候,在Framework底层是通过消息机制来维护任务的分发,从下面这个日志可以看到, "…

thrift、go与php

学习一下thrift。 环境 mac m1,go 1.20,php 7.4,thrift 0.18.1 要学习thrift,第一步得先安装 $ brew install thrift学习的计划是用go作为server,php作为client,通过thrift的方式完成一次请求demo。 建…

Java语言的特点和八大基本类型

“byte和short两兄弟去找int问long去哪了” “int摇摇头说不知道” “此时float和double两兄弟也来凑热闹” “共同商议后决定去找char询问” “char面对五人的询问只好说boolean知道” “六人来到boolean的住处发现long竟然在玩猜真假游戏” Java语言的特点 1.简单易学…

个性化学习路径推荐综述

源自:软件学报 作者:云岳 代欢 张育培 尚学群 李战怀 摘 要 近年来, 伴随着现代信息技术的迅猛发展, 以人工智能为代表的新兴技术在教育领域得到了广泛应用, 引发了学习理念和方式的深刻变革. 在这种大背景下, 在线学习超越了时空的限制,…

2023年电信推出新套餐:月租19元=135G流量+长期套餐+无合约期!

在三大运营商推出的流量卡当中,电信可以说是性价比最高的一个,相对于其他两家运营商,完全符合我们低月租,大流量的要求,所以,今天小编介绍的还是电信流量卡。 在这里说一下,小编推荐的卡都是免…

教你怎样用PXE高效的批量网络装机

目录 一:PXE介绍 1.XPE概述 2.PXE批量部署的优点 3.搭建PXE各部作用 (1)PXE(Preboot eXcution Environment) (2)服务端 (3)客户端 二:部署PXE服务 1.安装并启用TFTP服务 2.安…

Tiktok/抖音旋转验证码

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 抖音系的旋转验证码,跟得物一样,都是内外圈一起…

blast的-max_target_seqs?

Shah, N., Nute, M.G., Warnow, T., and Pop, M. (2018). Misunderstood parameter of NCBI BLAST impacts the correctness of bioinformatics workflows. Bioinformatics. 杂志Bioinformatics以letter to the editor的形式刊发了来自美国马里兰大学计算机系的Nidhi Shah等人…

基于html+css的图展示42

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

安卓设备远程管理软件

现在,安卓设备广泛应用于各类智能硬件,有时候我们需要远程管理这些安卓设备。远程管理软件使 IT 管理员能够从任何地方控制和管理安卓设备,确保它们安全、最新并以最佳水平运行。在本文中,我们将介绍一些当前主流的安卓设备远程管…

Automa函数学习(三)

从变量中获取数据 当我们想要用automa获取文本标签获取到网页的文本内容后,想要将获取到的文本内容当做参数往后面的标签里进行传递时就需要用到automa提供的传参格式 {{ variables.自定义参数名}} 举例: 先建立打开百度首页工作流 前面自定义的变量名为text,所以这里参数拼接…

云计算的未来发展趋势与优势,你是否了解?

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一、企业痛点 1.企业信息技术应用痛点 二、云计算的基础概念 1.什么是云计…

纯享三代HiFi reads,至美细菌完成图,加送质粒基因组!

三代测序时代,PacBio High-Fidelity reads在基因组组装中大放异彩。HiFi测序模式可产生既兼顾长读长,又具有高精度的测序结果。凌恩生物HiFi细菌基因组完成图测序,即利用PacBio HiFi测序模式对某细菌物种进行基因组de novo组装,从…

安科瑞充电方案解决电瓶车充电难、管理难、收费难问题

安科瑞 徐浩竣 江苏安科瑞电器制造有限公司 zx acrelxhj 0引言 电动自行车已经成为重要的出行工具,数量肯定还会继续增长,各级政府部门和物业管理者已经对其带来的消防隐患引起高度重视。安科瑞电动自行车运营管理云平台通过充电桩、云平台、APP小程…

Spring框架及源码(二)---Spring IoC高级应用与源码剖析

Spring IOC 应用 第1节 Spring IoC基础 Spring框架下IOC实现,解析bean的几种方式 1.1 BeanFactory与ApplicationContext区别 BeanFactory是Spring框架中IoC容器的顶层接⼝,它只是⽤来定义⼀些基础功能,定义⼀些基础规范,⽽ ApplicationContext是它的⼀个⼦接⼝&a…

Testudo:Spartan + Groth16 的R1CS ZKP证明系统

1. 引言 前序博客有: Spartan: zkSNARKS without trusted setup学习笔记Spartan: zkSNARKS without trusted setup 源代码解析Signatures of Correct Computation 学习笔记(本文称为PST承诺方案)Groth16 学习笔记ZCash bellman版本 Groth16…

Spring Boot的日志文件

目录 日志的作用 日志的打印 常见的日志框架 自定义的日志打印 为什么不用sout来打印日志 Spring Boot日志打印 1.得到日志对象 2.使用日志对象提供的方法打印日志 日志级别 日志级别的顺序 日志级别的设置 日志持久化 配置日志文件的保存路径 配置日志文件的文件…

学习spark笔记

✨ 学习 Spark 和 Scala 一 ​ 🐦Spark 算子 spark常用算子详解(小部分算子使用效果与描述不同) Spark常用的算子以及Scala函数总结 Spark常用Transformations算子(二) Transformation 算子(懒算子):不会提交spark作业&#…

AWT——事件处理机制

事件处理: 定义: 当某个组件上发生某些操作的时候,会自动地触发一段代码的执行 在GUI事件处理机制中涉及到4个重要的概念需要理解。 事件源:操作发生的场所,通常指某个组件,例如按钮、窗口等 事件&…

Spring Boot Web请求

在上一讲,学习了Spring Boot Web的快速入门以及Web开发的基础知识,包括HTTP协议以及Web服务器Tomcat等内容。基于SpringBoot的方式开发一个web应用,浏览器发起请求 /hello 后 ,给浏览器返回字符串 “Hello World ~”。运行启动类启…