DNS域名服务器

DNS域名服务器

什么是DNS

Domain Name System 域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构,服务器端:53/udp, 53/tcp实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解 析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区 域(包含 IP 地址到域名的解析记录)

DNS服务器类型

DNS服务器可以分为以下几种类型:

主DNS服务器:负责管理所有的域名记录,如A记录、CNAME记录、MX记录等,主DNS服务器会检查自己的缓存记录,如果找不到对应的记录,会查询从DNS服务器。
辅助DNS服务器:不创建区域,其区域数据是从主DNS服务器复制来的,辅助DNS服务器会和建立联系的主DNS服务器联系,并从主DNS服务器中复制数据。
缓存服务器:没有自己的区域数据文件,只是帮助客户端向外部DNS请求查询,然后将查询的结果保存到它的缓存中。
转发DNS服务器:不存储任何域名记录,只负责接收用户的查询请求,并将这些请求转发给其他的DNS服务器。
递归DNS服务器:负责接收纯缓存服务器发送的查询请求,然后通过向各级授权服务器发出查询请求获得需要的查询结果,最后返回给纯缓存服务器的解析器。
权威DNS服务器:负责管理特定顶级域名下的一级域名服务器,权威DNS服务器会返回该域名所对应的IP地址。
网络域名称系统:主要用于管理大型组织内部的网络环境,可以为组织内部的所有计算机提供一个唯一的主机名,并将其与相应的IP地址绑定在一起。

递归DNS服务器

根服务器

一级域名服务器

二级域名服务器

三级域名服务器

.........

到123级域名服务器

DNS查询原理

先查看本机的缓存记录,有就转到该域名对应的IP地址;若没有记录,就递归查询本机的hosts文件,若hosts有就转到对应地址;若hosts文件里没有,就转到DNS域名服务器查询,有就直接返回结果并转到其对应地址:若本地DNS域名服务器没有,就转到外网上的DNS域名服务器,从根服务器迭代向下查询到一级域名服务器、二级域名服务器、三级域名服务器,最终由一个权威服务器反馈查找到对应的IP地址给DNS域名服务器,在由DNS域名服务器把得到的域名和对应的IP地址发送给需求的主机。

DNS的安装与应用

DNS安装和DNS服务器解析应用

[root@localhost ~]#yum  install bind bind-utils -y
#主软件 和 配置包管理软件
[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]#setenforce 0
[root@localhost ~]#systemctl start named
#开启服务
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
将DNS修改为本机的域名
#重启服务
[root@localhost ~]#systemctl restart network
[root@localhost ~]# vim /etc/named.conf
options {
        listen-on port 53 { 127.0.0.1; };		#将127.0.0.1修改为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     { localhost; };		    #将localhost修改为any
:wq
[root@localhost ~]#rndc reload
server reload successful
#重新加载DNS服务
[root@localhost named]#vim /etc/named.rfc1912.zones 
#编写域名
zone "localhost.localdomain" IN {  		#将localhost.localdomain改写为你想要的域名
        type master;
        file "named.localhost";			#将named.localhost改写为你想要的域名并加入.zone
        allow-update { none; };			#这行可以不要
};
:wq
[root@localhost named]#cd /var/named/
#切换目录
[root@localhost named]# ls
chroot      data     dyndb-ldap  named.empty      named.loopback
chroot_sdb  dynamic  named.ca    named.localhost  slaves
[root@localhost named]#cp named.localhost ./***.com.zone -p
#保留权限复制,***为上面修改的域名。
[root@localhost named]# vim zhang.com.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (		#将@修改为你修改的域名
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @			#将@改为master
        A       127.0.0.1	#改为master  A  本机DNS地址
        AAAA    ::1			#可以删除
[root@localhost named]# host master.zhang.com		#验证DNS
master.zhang.com has address 192.168.10.10

posted @ 2024-05-05 14:27  红荼  阅读(12)  评论(0编辑  收藏  举报