Linux网路服务之DNS域名解析

内容预知

 1.DNS相关知识点

 1.1 DNS的简介

1.2 DNS 数据结构分布 

1.3 服务器的类型

 

 1.4 DNS 域名解析方式

1.5   DNS的查询方式

递归查询

 迭代查询

 1.6 本地主机有关DNS映射文件(hosts)

 windos 系统中有关DNS的映射文件

 2. DNS域名解析器的了解

 构建DNS域名解析器的目的

bind服务的安装

bind服务程序介绍 

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

 3. 构建DNS域名解析器具体步骤

3.1 配置正向解析 

  第一步:修改主机配置文件

第二步: 修改区域配置文件,添加正向区域配置

 第三步:配置正向区域数据文件

 第四步:启动named服务,关闭防火墙和selinux

 第五步:在客户端的域名解析配置文件中添加DNS服务器地址

第六步:正向解析测试

第七步测试二:开另一台虚拟机,设置好DNS后进行域名解析

 ​编辑 windos 用户端进行测试 

3.2 配置反向解析 

 第一步:修改主配置 ​编辑 

 第二步:修改区域配置文件,添加反向解析

 第三步:修改反向解析的配置文件

第四步:测试(windows和虚拟机2测试图省略) 

4.主从DNS域名服务器的配置

 第一步:关闭安全服务和安装bind

 ​编辑  第二步:修改第一台虚拟机(打算作主服务器的那台)的区域配置

第三步:设置第二台虚拟机的主配置 

 第四步:设置第二台虚拟机的区域数据文件

第五步:保存后退出启动服务 systemctl  start named(有错误,看日志排错) 

第六步:测试(以windows为例子)

 总结


 1.DNS相关知识点

 1.1 DNS的简介

域名解析:(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用udp53和tcp53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

 TCP 53号端口:连接DNS服务器

UDP 53号端口:解析DNS

1.2 DNS 数据结构分布 

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

 

根域
位于域名空间最顶层,一般用一个 “.” 表示

顶级域
一般代表一种类型的组织机构或国家地区,
如 .net(网络供应商)、.com(工商企业)、.org(团体组织)、.edu(教育机构)、.gov(政府部门)、.cn(中国国家域名)

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

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

主机
主机位于域名空间最下层,就是一台具体的计算机,
如 www、mail都是具体的计算机名字,可用www.sina.com.cn.、mail.sina.com.cn. 来表示,这种表示方式称为 FQDN (完全合格域名,是指包含了所有域的主机名,其中包括根域),也是这台主机在域名中的全名

1.3 服务器的类型

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

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

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

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

 1.4 DNS 域名解析方式


正向解析:根据域名查找对应的IP地(域名 --------> IP)


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

 

1.5   DNS的查询方式

递归查询

  • 主机向本地域名服务器的查询一般都是采用递归查询。
  • 查询过程首先查看本地是否有相对应的DNS焕春,如果有相关主机域名,直接解析。如果没有再访问根域服务器,从根域服务器转发到顶级域服务器,再转发到子域服务器(如果有二级域,则先转发到二级域,再到子域服务器),从子域服务器转发到主机,根据主机名解析出相对应的IP地址,再逐级转发给客户端。

 

 迭代查询

  • 本地域名服务器向根域名服务器的查询是迭代查询。
  • 查询过程首先也是访问本地主机DNS缓存,如果有则直接解析。如果没有,先访问根域服务器,根域服务回复相对应的顶级域服务器。客户端再访问顶级域服务器,顶级域服务器回复相对应的子域服务器(如果有二级域,就再多一个访问二级域的过程)。客户端再访问相对应的子与服务器,子域服务器再回复相对应的主机。客户端再访问主机,根据主机名解析出相对应IP地址,回复给客户端,完成解析过程。

​ 

 1.6 本地主机有关DNS映射文件(hosts)

hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名。 

 

 默认情况下,系统首先从hosts文件查找解析记录

 hosts 文件的优先级高于DNS服务器,这是由 /etc/nsswitch.conf 文件规定的 

 hosts 文件只对当前的主机有效

 hosts 文件可减少DNS查询过程,从而加快访问速度  

Linux中有关DNS的映射文件

vim  /etc/hosts

 windos 系统中有关DNS的映射文件

位置: c:Windows\System32\drivers\etc\hosts 

 2. DNS域名解析器的了解

 构建DNS域名解析器的目的

bind是开源软件,用于内网划分DNS,不同于外网,内网的DNS是不需要注册,是方便内部进行使用和访问的有效手段

bind服务的安装

yum install -y bind

   

bind服务程序介绍 

    bind服务程序的区域配置文件(/etc/named.rfc1912.zones)用来保存域名和IP地址对应关系的所在位置。在这个文件中,定义了域名与IP地址解析规则保存的文件位置以及服务类型等内容,而没有包含具体的域名、IP地址对应关系等信息。服务类型有三种,分别为hint(根区域)、master(主区域)、slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器。   

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

rpm -qc bind

     

 3. 构建DNS域名解析器具体步骤

3.1 配置正向解析 

  第一步:修改主机配置文件

vim  /etc/named.conf
options {
        listen-on port 53 { 192.168.73.105; };
        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; };
................................................
}

    

zone "." IN {						#正向解析“.”根区域
        type hint;					#类型为根区域
        file "named.ca";			#区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
};

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

  

第二步: 修改区域配置文件,添加正向区域配置

vim /etc/named.rfc1912.zones
zone "yang.com" IN {
        type master;
        file "yang.com.zone";
        allow-update { none; };可以删除
};

     

 第三步:配置正向区域数据文件

cd /var/named/
cp -p named.localhost benet.com.zone	#保留源文件的权限和属主的属性复制

   

$TTL 1D
@       IN SOA   yang.com. admin.yang.com. (

                                     20220815   ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      yang.com.      //记录当前区域的DNS名称
        A       192.168.73.105  //记录的主机IP
www     IN  A   192.168.73.30
mail    IN  A   192.168.73.40
news    IN CNAME  WWW
*       IN  A   192.168.73.50

  

 第四步:启动named服务,关闭防火墙和selinux

sysemctl start named
systemctl stop firewalld
setenforce 0

 另外:named服务启动失败的后。可以通过检查日志来进行排错。

tail  -f  /var/log/messages
vim  /var/log/messages

 第五步:在客户端的域名解析配置文件中添加DNS服务器地址

vim /etc/resolv.conf			#修改完后立即生效

nameserver 192.168.73.105 //将主机IP设置为dns服务器地址

   

第六步:正向解析测试

host www.yang.com  或
nslookup www.yang.com

   

第七步测试二:开另一台虚拟机,设置好DNS后进行域名解析

vim  /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1 =192.168.73.105

  

刷新网卡(如果不成功更改  vim /etc/resolv.conf)

  windos 用户端进行测试 

先 调整好dns获取 

 结果: 

3.2 配置反向解析 

 第一步:修改主配置  

 第二步:修改区域配置文件,添加反向解析

vim /etc/named.rfc1912.zones 

zone "73.168.192.in-addr.arpa" IN {
        type master;
        file "yang.com.zone.local";
};      

  

 第三步:修改反向解析的配置文件


cd /var/named


cp -a yang.com.zone  yang.com.zone.local



vim yang.com.zone.local

   

第四步:测试(windows和虚拟机2测试图省略) 

  

4.主从DNS域名服务器的配置

 第一台虚拟机保持不变,对第二台虚拟机进行从域名服务器的构建

 第一步:关闭安全服务和安装bind

   第二步:修改第一台虚拟机(打算作主服务器的那台)的区域配置

vim /etc/named.rfc1912.zones 
allow-transfer {192.168.73.106;};   //允许的主机IP

  

保存退出后进行重启服务      systemctl restart named

第三步:设置第二台虚拟机的主配置 

  

 第四步:设置第二台虚拟机的区域数据文件


zone "yang.com" IN {
          type slave;
         masters{192.168.73.105;};
         file"slaves/yang.com.zone";

};
zone "73.168.192.in-addr.arpa" IN {
        type slave;
         masters{192.168.73.105;};
         file"slaves/yang.com.zone.local";
};

     

   

第五步:保存后退出启动服务 systemctl  start named(有错误,看日志排错) 

第六步:测试(以windows为例子)

   

   

 总结

1. 认识一个域名的各个组成部分

2.懂得域名解析中的递归查询和迭代解析的原理

3.学会配置 正向域名解析和反向域名解析 

4.成功搭建主从域名解析服务器

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值