实验注解——DNS正向解析以及基础理论概述

域名服务基础

DNS系统概述及作用

  • DNS正向解析作用:根据域名查找对应的IP地址
  • DNS反向解析作用:根据IP地址查找对应的域名
  • DNS是“域名系统”的英文缩写。它是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,从而能够更方便地访问互联网
  • DNS系统是分布式数据结构,使用TCP和UDP的53端口
  • 每一级的域名长度限制63个字符,域名总长度不能超过253个字符
  • 根服务器主要是用来管理互联网的主目录,全世界的IPv4根服务器只有13台,1个为主根服务器在美国,其余12个均为辅根服务器,9个在美国,2个在英国和瑞典,1个在日本
  • 域名解析:因为在日常生活中人们习惯使用域名访问服务器,但是机器之间互相只认IP地址,域名与IP地址之间是多对一的关系,一个IP地址不一定只对应一个域名,且一个域名只可以对应一个IP地址,所以它们之间的转换工作称为域名解析。域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的

域名结构

  • 域名结构
    • htttp://www.sina.com.cn./
    • htttp://主机名.二级域.顶级域.根域/
  • 树状结构最顶层称为根域,用"."表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制,在根于下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器。例如:将com域的解析权委派给com域服务器,以后但凡根服务器收到以com结尾的域名解析请求,都会转发给com域服务。同样道理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机
  • 根于:位于域名空间最顶层,一般用一个“.”表示
  • 顶级域:一般代表一种类型的组织机构或国家地区。例如:.net(网络供应商)、.com(工商企业)、.org(团体组织)、.edu(教育机构)、.gov(政府部门)、.cn(中国国家域名)
  • 二级域:用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理。例如:.com.cn、.net.cn、.edu.cn是.cn顶级域名下面设置的二级域名
  • 子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
  • 主机:位于域名空间最下层,主机就是一台具体的计算机。例如:www、mail都是具体的计算机名字。www.sina.com.cn.和mail.sina.com.cn.这种表示方式成为FQDN(完全合格域名),也是这台主机在域名中的全名
    在这里插入图片描述

DNS服务器类型

  • 主域名服务器
    • 负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。
    • 构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
  • 从域名服务器
    • 当主域名服务器出现故障、关闭或负载过重时,从域名服务器将作为服务提供域名解析服务。
    • 从域名服务器提供的解析结果不是由自己决定的,而是来自主域名服务器。
    • 构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
  • 缓存域名服务器
    • 只提供域名解析结果的缓存功能,可以达到提高查询速度和效率的目的,但没有域名数据库。
    • 它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时它将给予响应。
    • 缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。
    • 构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
  • 转发域名服务器
    • 负责所有非本地域名的本地查询。
    • 当转发域名服务器接到查询请求后,将会在其缓存中查找,如果找不到就会将请求依次转发到指定的域名服务器,直到找到结果为止,否则将会返回无法映射的结果。

使用BIND构建DNS正向解析

BIND概述

  • BIND(Berkeley Internet Name Daemon)是应用最广泛的DNS服务程序
  • BIND官网
  • BIND服务器端程序
    • 主要执行程序:/usr/sbin/named
    • 默认监听端口:53
    • 主要配置文件:/etc/named.conf
    • 保存DNS解析记录的数据文件位于:/var/named/

操作步骤

  • 1.安装bind软件包
[root@localhost /]# yum -y install bind 
  • 2.配置正向解析

(1)先查看需要修改的配置文件及路径

[root@localhost /]# rpm -q bind                  
bind-9.11.4-26.P2.el7_9.3.x86_64                     (安装的bind版本信息)
[root@localhost /]# rpm -qc bind                     (列出bind的配置文件以及所在路径)
/etc/logrotate.d/named
/etc/named.conf                                      (主配置文件)
/etc/named.iscdlv.key
/etc/named.rfc1912.zones                             (区域配置文件)
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost                           (区域数据配置文件)
/var/named/named.loopback

(2)修改主配置文件

[root@localhost named]# vim /etc/named.conf 
options {
    
    
        listen-on port 53 {
    
     192.168.131.10; };                   (监听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";(内存统计文件的位置)
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     {
    
     any; };                                (允许使用本DNS解析服务的网段,也可用any代表所有)
zone "." IN {
    
                                                        (正向解析“.”根区域)
        type hint;                                               (类型为根区域)    
        file "named.ca";                                         (区域数据文件为named.ca记录了13台根域服务器的域名和IP地址
                                                                   等信息)
};

include "/etc/named.rfc1912.zones";                              (包含区域配置文件里的所有配置)

:wq    

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

[root@localhost named]# vim /etc/named.rfc1912.zones           (此配置文件里有模板,可直接复制使用)
zone "qz.com" IN {
    
                                                 (正向解析“qz.com”区域)
        type master;                                           (类型为主区域)
        file "qz.com.zone";                                    (指定区域数据文件为qz.com.zone)
        allow-update {
    
     none; };
};

:wq    

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

[root@localhost named]# cd /var/named/
[root@localhost named]# cp -p named.localhost qz.com.zone          (加-p选项保留源文件的权限和属主的属性复制)
[root@localhost named]# vim qz.com.zone                  
$TTL 2D                                                            (有效解析记录的生存周期,默认1D)
@       IN SOA  qz.com. admin.qz.com. (                            (“@”符号表示当前的DNS区域名;“admin.qz.com.”表示
                                                                     管理员邮箱,因为这里的“@”符号已有其他含义,所以用“.”代替;
                                                                     “qz.com.”此为完全合格域名(FQDN),com后面的“.”不能漏;
                                                                     SOA记录中的更新序列号用于同步主,从服务器的区域数据,当从
                                                                     服务器判断区域更新时,若发现主服务器中的序列号与本地区域数
                                                                     据中的序列号相同,则不会进行下载。)
                                                                     
                                        20210226        ; serial   (更新序列号,可以是10位以内的整数)                                            
                                        1D      ; refresh          (刷新时间,重新下载地址数据的间隔)
                                        1H      ; retry            (重试延时,下载失败后的重试间隔)
                                        1W      ; expire           (失效时间,超过该时间仍无法下载则放弃)
                                        3H )    ; minimum          (无效解析记录的生存周期)
        NS      qz.com.                                            (记录当前区域的DNS服务器的名称)
        A       192.168.131.10                                     (记录主机IP地址)
www IN  A       192.168.131.30                                     (记录正向解析www.qz.com对应的IP)
mail IN A       192.168.131.40                                     
ftp IN CNAME    www                                                (CNAME使用别名,ftp是www的别名)
* IN    A       192.168.131.50                                     (泛域名解析,“*”代表任意主机名)
~                                                                                                                                
:wq                                            

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

[root@localhost named]# systemctl start named
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# tail -f /var/log/messages           (启动失败时可以执行此命令来查看日志文件进行错误排查)
[root@localhost ~]# rndc-confgen -r /dev/urandom -a     (如果服务启动时卡住,可以执行此命令来解决)
  • Windows解析测试

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/TaKe___Easy/article/details/114105079