五分钟带你玩遍DNS 秒懂!!

DNS是什么

DNS(Domain Name System,域名解析系统)是互联网上的一个基础且至关重要的服务。简单来说,DNS就是一个“翻译官”,负责将人类易于记忆的域名(如www.example.com)转换成计算机可以直接识别的IP地址(如192.0.2.1)。这个过程称为“域名解析”。

最简单的说法就是根据域名来找对应的ip

就比如我们经常访问百度网站www.baidu.com,而不是去访问百度的ip(http://36.152.44.95)方便记忆多了。

举例

假设你有一个朋友叫“小明”,他的家住在“幸福路123号”。为了找到小明的家,你可以直接记住这个复杂的地址“幸福路123号”,但这样可能不太容易记住。于是,你给小明起了一个别名“小明的家”,并告诉所有人:“如果想找小明,就去找‘小明的家’”。

在这个过程中,“小明的家”就相当于一个域名,而“幸福路123号”则相当于IP地址。DNS就像是一个地址簿,它记录了所有这样的别名和真实地址之间的对应关系。当你想要找小明时,只需在地址簿上查找“小明的家”,DNS就会告诉你对应的真实地址“幸福路123号”,然后你就可以直接去找小明了。

这样,即使你不记得复杂的IP地址,也能通过简单的域名来访问网站和服务。这就是DNS的作用和魅力所在。

DNS的作用

DNS的主要作用是实现域名与IP地址之间的映射,让互联网用户能够更方便地访问网站和服务,而不需要记住复杂的IP地址。具体来说,DNS的作用包括:

  1. 简化访问:用户只需输入易记的域名,DNS就会将其转换成对应的IP地址,从而实现对网站的访问。
  2. 提高可用性:DNS还负责负载均衡,通过智能地将用户请求分发到不同的服务器上,提高网站的可用性和响应速度。
  3. 增强安全性:DNS在网络安全中也扮演着重要角色,可以通过阻断恶意域名来保护用户免受网络攻击。

DNS的适用场景

DNS的应用场景非常广泛,几乎涵盖了互联网的每一个角落。以下是一些常见的适用场景:

  1. 网站访问:当用户在浏览器中输入一个域名时,DNS会将其解析为对应的IP地址,从而实现对网站的访问。
  2. 电子邮件发送:当发送电子邮件时,DNS会解析收件人邮箱域名的MX记录,找到对应的邮件服务器地址,并将邮件发送过去。
  3. 企业内部网络:在企业内部网络中,DNS可以帮助员工快速访问公司内部资源,如文件服务器、数据库等。
  4. 公共Wi-Fi热点:在连接公共Wi-Fi热点时,用户通常只需输入SSID名称(有时也是域名形式),DNS会将其解析为对应的IP地址,实现自动连接。
  5. 负载均衡:在高流量的网站中,DNS可以实现负载均衡,将用户请求分发到不同的服务器上,提高网站的稳定性和响应速度。

DNS域名的层级

  1. 根域(Root Domain)
    • 根域是DNS域名空间的最顶层,通常用“.”(点)表示,但在实际使用中经常省略。
    • 根域下面没有直接的子域,但它包含了全球分布的根域名服务器,这些服务器负责管理顶级域名服务器的地址。
  2. 顶级域(Top-Level Domain, TLD)
    • 顶级域是根域的直接子域,包括通用顶级域(如.com、.net、.org)和国家顶级域(如.cn、.uk、.jp)等。
    • 顶级域由国际互联网管理机构(如ICANN)负责管理和维护。
  3. 二级域(Second-Level Domain, SLD)
    • 二级域是在顶级域下注册的用户自定义域名,如“example.com”中的“example”。
    • 二级域通常由注册用户自行选择和注册,用于标识不同的组织或个人。
  4. 子域(Subdomain)
    • 子域是在二级域下进一步划分的域名,用于更具体地标识网站的不同部分或服务。
    • 例如,“http://www.example.com”中的“www”就是一个子域,用于标识网站的Web服务。
  5. 主机名(Hostname)
    • 主机名是域名空间的最底层,用于唯一标识一台计算机或服务器。
    • 在DNS解析过程中,主机名会被转换为对应的IP地址。

域名的形式

一个完整的域名通常遵循以下形式:

主机名.子域.二级域.顶级域.根域(通常省略)

如,“http://www.example.com”中,“www”是主机名,“example”是二级域,“com”是顶级域,而根域“.”通常被省略。

. (根域,通常省略)  
        |  
        +-- com (顶级域)  
        |   |  
        |   +-- example (二级域)  
        |       |  
        |       +-- www (子域/主机名)  
        |       |  
        |       +-- mail (子域)  
        |  
        +-- org (顶级域)  
        |   |  
        |   +-- anotherdomain (二级域)  
        |       |  
        |       +-- blog (子域)  
        |  
        +-- cn (顶级域)  
            |  
            +-- chinadomain (二级域)  
                |  
                +-- ftp (子域)

使用的是udp协议  只支持13个根   不对用户开放 只对顶级域名开放(国家部门  工业组织)

www.baidu.com   .com  顶级域名 

​                baidu.com 域名

​                www.baidu.com  主机名

域名的本质

域名的本质:描述一堆计算机的

主机名的本质:描述一个主机的

服务器的本质:有一个单独的ip

实验操作

DNS(域名系统)中的正向解析和反向解析是DNS服务的两个重要功能,它们在互联网中扮演着关键角色。

DNS正向解析

定义:

DNS正向解析是指将域名(如www.example.com)转换为对应的IP地址(如192.0.2.1)的过程。这是用户在访问网站时最常遇到的情况。 

作用

  1. 方便记忆:域名是由人类易于记忆的字符串组成,通过正向解析,用户可以使用域名访问网站,而无需记住复杂的IP地址。
  2. 灵活性:正向解析允许域名所有者更改服务器的IP地址,而无需更改用户使用的域名。这样,即使服务器的IP地址发生变化,用户仍可以通过原域名访问网站。
  3. 支持多种服务:除了网站访问外,正向解析还支持邮件传递等服务。在发送电子邮件时,邮件服务器使用正向解析将收件人的域名转换为IP地址,以确定邮件的目标服务器。

举例

 假设你想在浏览器中访问“腾讯网”,你只需在地址栏输入“http://www.qq.com”,而不是去记忆一串复杂的IP地址。DNS服务器会进行正向解析,将“www.qq.com”转换为对应的IP地址,然后你的浏览器就可以通过这个IP地址与腾讯网的服务器建立连接了。

实验步骤:

dnf install bind -y

dnf repolist

vim /etc/named.conf     ---编写主配置文件

cd/ etc/named.conf
options{
         Listen-on port 53{  172.25.250 137;};
         directory     "/var/named";
};

zone "haha.com"  IN {
          type  master;
          flie  "named.haha";
};
cd /var/named

vim named.haha 
cat /var/named/named.haha
$TTL 1d
@    IN   SOA     @    admin.haha.com.  (2024070601      //@ :zone “域名”
                                        时间+序列号
                                          1
                                          1
                                          1
                                          1)
          IN   NS      ns.haha.com.
          IN   MX      10 mail.haha.com.
ns        IN   A       192.168.183.140
mail      IN   A       192.168.183.38
www       IN   A       192.168.183.141
ftp       IN   CNAME   www
//SOA    域名授权记录
//admin.haha.com   @  表示其他含义
//NS      区域    -->  主机名
//A       ipV4      <--  主机名   
//AAAA    IPV6      <-- 主机名
//CNAME   别名
//MX       区域     -->邮件服务器
//PTR     ip  -->  主机名
systemctl enable named

firewall-cmd --permanent --add-service=dns        --防火墙的dns
firewall-cmd --reload

DNS反向解析

定义

 DNS反向解析是指通过IP地址查找对应的域名(如果有的话)的过程。这个过程与正向解析相反。

作用

  1. 网络管理:反向解析可以帮助管理员快速定位问题。例如,在邮件服务器上,当收到一封垃圾邮件时,管理员可以通过IP地址进行反向查询,从而确定发送者所使用的域名,并将其列入黑名单或采取其他措施阻止类似邮件再次进入系统。
  2. 提高安全性:反向解析也有助于网络安全。例如,在DDoS攻击中,攻击者通常会使用大量虚假IP地址进行攻击。但是,如果管理员能够使用DNS反向查询来确定这些虚假IP地址所属的真实域名,则可以采取措施防止这些恶意流量进入系统。
  3. 故障排除:反向解析可以帮助管理员确定服务器的IP地址是否正确配置,并识别与特定IP地址相关的问题。

举例

假设你的网络管理员发现某个IP地址(如192.0.2.1)正在发送大量的垃圾邮件。为了找出这个IP地址背后的域名(如果有的话),管理员可以进行反向解析。如果反向解析成功,管理员可能会找到类似“spammer.com”的域名,并将其列入黑名单,以阻止来自该域名的进一步垃圾邮件。

实验步骤:

vim /etc/named.conf

options{
         Listen-on port 53{  172.25.250 137;};
         directory     "/var/named";
};

zone "haha.com"  IN {
          type  master;
          flie  "named.haha";    //在named.haha里面写入对应的查询内容出现IP
};

zone "183.168.192.in-addr.arpa."  IN {
          type  master;
          flie  "fanxiang";      //在fanxiang里面写入对应的ip出现的内容
};

cd /var/named

vim fanxiang //根据named.conf写入到对应的文件中 查询时会找到这个文件

$TTL 1d
@    IN   SOA     @    admin.haha.com.  (2024070601  
                                          1
                                          1
                                          1
                                          1)
          IN   NS      ns.haha.com.
          IN   MX      10 mail.haha.com.
140       IN   PTR     ns.haha.com
38        IN   PTR     mail.haha.com
141       IN   PTR     www.haha.com
141       IN   PTR     ftp.haha.com

systemctl restart named

dig -x 192.168.183.140 //进行查询

综上所述,DNS正向解析和反向解析在互联网中各自扮演着重要的角色。正向解析使得用户能够方便地通过域名访问网站和服务;而反向解析则在网络管理和安全方面发挥着重要作用。

主从关系

DNS主从关系概述

在DNS的主从架构中,通常存在一台或多台主DNS服务器(Master DNS Server)和一台或多台从DNS服务器(Slave DNS Server)。主服务器负责处理所有的DNS查询请求,并维护着最新的DNS记录(即域名与IP地址的映射关系)。而从服务器则作为主服务器的备份,它们会定期从主服务器同步最新的DNS记录,以便在主服务器出现故障或无法响应时,能够接替主服务器的工作,继续提供DNS解析服务。

主从DNS服务器的作用

  1. 提高可靠性:通过主从架构,即使主DNS服务器出现故障,从DNS服务器也能接替其工作,确保DNS服务的连续性。
  2. 负载均衡:在大型网络中,可以通过配置多台从DNS服务器来分担主服务器的负载,从而提高整个DNS系统的性能。
  3. 数据同步:从DNS服务器会定期从主DNS服务器同步最新的DNS记录,确保所有服务器上的数据保持一致。

白话举例说明

假设你是一家大型电商公司的网络管理员,你的公司有一个官方网站www.example.com。为了确保用户能够顺畅地访问网站,你配置了DNS服务。你设置了一台主DNS服务器和两台从DNS服务器。

  • 主DNS服务器:这台服务器就像是你公司的“老大”,它负责处理所有用户通过域名访问网站的请求,并将域名转换为对应的IP地址。同时,它还维护着网站最新的DNS记录。
  • 从DNS服务器:这两台服务器就像是“小弟”,它们会定期向主DNS服务器“请教”,学习最新的DNS记录。一旦主DNS服务器出现故障或无法响应请求,“小弟”们就能接替“老大”的工作,继续为用户提供DNS解析服务。

这样一来,即使主DNS服务器出现了问题,用户也能通过从DNS服务器顺利访问到网站,从而保证了网站的可靠性和稳定性。同时,通过多台从DNS服务器的协同工作,还可以分担主服务器的负载,提高整个DNS系统的性能。

实验步骤:

主 master

dnf install bind -y 

dnf repolist

vim /etc/named.conf ---主dns机上面写入正向解析 设置类型为主 master

options {
        listen-on port 53 { 192.168.183.140; };
        directory       "/var/named";
};

zone "zhangsan.com" IN {
        type master;
        file "named.zhangsan";
};

cd /var/named --进入正向解析里面对应的路径 /var/named

vim named.zhangsan ---再进入主对应的文件所在路径 写入TTL内容 便于连接然后进行正向解析查询 查主机名可以出来相关信息

$TTL 1d
@    IN   SOA     @    admin.haha.com.  (2024070801
                                          1
                                          1
                                          1
                                          1)
          IN   NS      ns.zhangsan.com.
          IN   MX      10 mail.zhangsan.com.
ns        IN   A       192.168.183.140
www       IN   A       192.168.183.141
ftp       IN   CNAME   www

dig -t NS zhangsan.com @192.168.183.140 --查看一下是否正向解析成功

systemctl restart named

tail -f /var/log/messages --查看日志

nmcli connection modify ens33 ipv4.dns 192.168.183.140

nmcli connection up ens33

cd /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.183.140 www.zhangsan.com
192.168.183.140 www.lisi.com

systemctl restart named

从 slave

vim /etc/named.conf ---从dns机上面写入正向解析 设置类型为从 slave

options {
        listen-on port 53 { 192.168.183.140; };
        directory       "/var/named";
};
zone "zhangsan.com" IN {
        type slave;
        masters { 192.168.183.140; };
        file "slaves/named.zhangsan";
};

cd /var/named --进入正向解析里面对应的路径 /var/named

vim named.zhangsan ---再进入从对应的文件所在路径 写入TTL内容 便于连接然后进行正向解析查询 查主机名可以出来相关信息

$TTL 1d
@    IN   SOA     @    admin.haha.com.  (2024070801
                                          1
                                          1
                                          1
                                          1)
          IN   NS      ns.zhangsan.com.
          IN   MX      10 mail.zhangsan.com.
ns        IN   A       192.168.183.140
www       IN   A       192.168.183.141
ftp       IN   CNAME   www

dig -t NS zhangsan.com @192.168.183.140 --查看一下是否正向解析成功

systemctl restart named

tail -f /var/log/messages --查看日志

nmcli connection modify ens33 ipv4.dns 192.168.183.140 --将dns改成主的

nmcli connection up ens33

cd /etc/hosts ----进行本地解析

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.183.140 www.zhangsan.com
192.168.183.140 www.lisi.com

systemctl restart named

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值