Linux--DNS域名解析服务

目录

前言

网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。

一、DNS概述

1.DNS系统的作用

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

2.DNS系统的分布式数据结构

1、根域:位于树状结构最顶层,用"."表示
2、*域:一般代表一种类型的组织机构或国家地区;
如.net(网络供应商)、.com(工商企业)、.org(团体组织)、.edu(教育结构)、.gov(*部门)、.cn(中国国家域名)
3、二级域:用来标明*域内的一个特定的组织,国家*域下面的二级域名由国家部门统一管理
4、子域:二级域下所创建的各级域统称为子域,各个组织或用户可以*申请注册自己的域名
5、主机:主机位于域名空间最下层,就是一台具体的计算机。
Linux--DNS域名解析服务

3.两种查询方式

(1)递归查询
递归查询是一种 DNS 服务器的查询模式,在该模式下 DNS
服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果 DNS 服务器本地没有存储查询 DNS信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。

总的一句话,就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。
(2)迭代查询
DNS服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS
服务器并不直接回复查询结果,而是告诉客户机另一台 DNS服务器地址,客户机再向这台 DNS服务器提交请求,依次循环直到返回查询的结果为止

总的一句话,客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地址,而不会帮你去请求查询,这与递归截然相反

4.DNS服务器类型

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

二、配置正向解析

1.yum install -y bind 安装以下bind
2.rpm -ql bin 查看下配置文件
Linux--DNS域名解析服务
3.vim /etc/named.cof 编辑主配置文件

vim /etc/named.conf
options {
  listen-on-v6 poet 53 { 192.168.118.131; };              #监听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       { any; };                            #允许使用本DNS解析服务的网段,也可用any代表所有

Linux--DNS域名解析服务
4.更改区域配置文件,添加正向解析的区域目标

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

......
};

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

......

5.备份指定区域数据配置文件

[root@localhost /var/named]#cd /var/named/                         #区域数据文件存放位置
[root@localhost /var/named]#ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost /var/named]#cp -p named.localhost benet.com.zone   #这里一定带上"-p"选项,保留权限
[root@localhost /var/named]#ls
benet.com.zone  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves

6.编辑指定区域数据配置文件

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

$TTL 1D
@       IN SOA  benet.com. admin.benet.com. (
                             o    ;   s erial                        #更新序列号,可以是10位以内的整数
                             1D  ;   refresh                      #刷新时间,重新下载地址数据的间隔
                             1H  ;   retry                          #重试延时,下载失败后的重试间隔
                             1w  ;   expire                        #失效时间,超过该时间仍无法下载则放弃#
                             3H)  ;   minimum                 #无效解析记录的生存周期,
        NS        benet.com.                                   #记录当前区域的DNS服务器的名称
         A       192.168.201.131                                 #记录主机IP地址
IN     MX10    mail.benet.com.                         #MX为邮件交换记录,数字越大优先级越低
www  IN  A    192.168.201.131                            #记录正向解析www.benet.com对应的IP
mail    IN A     192.168.201.151                           #MX为邮件交换记录,数字越大优先级低
ftp      IN CNAME    www                                   #CNAME使用别名,ftp 是www的别名
*          IN A     192.168.201.161                           #泛域名解析,“*" 代表任意主机名

7.配置正向区域数据文件vim benet.com.zone

Linux--DNS域名解析服务
8.systemctl restart named 重启named 服务
9.systemctl status named 查看named 服务状态
10.修改dns地址vim /etc/resolv.conf
Linux--DNS域名解析服务
11.测试结果
Linux--DNS域名解析服务
Linux--DNS域名解析服务

三、配置反向解析

1.vim /etc/named.rfc1912.zones
Linux--DNS域名解析服务
2.备份cp -p benet.com.zone benet.com.zone.local
3.vim benet.com.zone.local
Linux--DNS域名解析服务
4.systemctl restart named 重启named 服务
5.测试
Linux--DNS域名解析服务

上一篇:Python- 【python无法更新pip】提示python.exe: No module named pip


下一篇:python pip 更新失败报错,重装pip