基础服务:DNS

基础服务:DNS

  • 域名解析

    ​ 网络出现的早期是使用IP地址通讯的,那时就几台主机通讯。随着接入网络主机的增多,这种数字白哦是的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(linux和Windows也继承保留了这个文件)。这个文件中记录着主机名称和IP地址的对应表。这样只要输入主机名称,系统就会去加载hosts文件并查找对应关系,找到对应的IP,就可以访问这个IP的主机了。

    ​ 但是后来主机太多了,无法保证所有人都能拿到统一的最新的hosts文件,就出现了在文件服务器上集中存放hosts文件,以供下载使用。互联网规模进一步扩大,这种方式也不是一种好办法,这时DNS系统出现了。

    ​ DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址。通过域名,最终得到改域名对应的IP地址的过程教域名解析(或主机名解析)。DNS协议运行在TCP/UDP协议之上,使用端口号53。

  • 域名解析概念

    把域名指向的网站IP,让人们通过域名就可以访问到所绑定的域名的服务器上的服务

    DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为用户程序提供正向或返乡的地址查询服务,即正向解析与反向解析。

  • 域名解析分类

    正向解析:根据域名查IP地址,将指定的域名解析为对应点IP

    反向解析:根据IP查找域名,将IP地址解析为对应的域名

  • DSN服务器查询模式

    • 递归:客户机向DNS服务器发送解析请求,DNS服务器从本地DNS服务器中查询出结果,反馈给客户机,此过程称为递归查询(发出多次请求)
    • 迭代:客户机向DNS服务器发出解析,DNS服务器从本地DNS服务器查询发现没有结果,此时DNS服务器以DNS客户的身份向其他DNS服务器发送解析请求或向根域名服务器发送请求,此过程成为迭代查询(只发出一次请求)
  • DNS服务器分布式结构

    ​ 全球共有13台根域名服务器。这13台根域名服务器中名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置在英,日和瑞典。其中1个为主根服务器,放置在美国,其余12个均为辅根服务器。

    ​ DNS的分布式数据库是以域名为索引的,每个域名实际上就是一棵很大的逆向树中路径,这颗逆向树被成为域名空间(domian name space)。

  • 域名分类

    .com 顶级域名 baidu.com 一级域名

    www.baidu.com 二级域名 a.www.baidu.com 三级域名

    • 部分顶级域名含义:

      .com 公司企业 .cn 中国 .net 具有互联网表示

      .edu 教育 .org 各类组织机构 .gov.cn 中国政府机关

  • 域名解析流程

    • 第一步:打开浏览器,想要请求访问京东,在地址栏输入了网址: www.jd.com。
    • 第二步:浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束。
    • 第三步:如果浏览器缓存中没命中,浏览器会检查操作系统中hosts文件有没有对应的已解析过的结果。
    • 第四步:如果至此还没有命中域名,才会将请求发给本地 DNS 域名服务器来解析这个域名。
    • 第五步:如果还没有查到,本地DNS域名服务器会向根域名服务器进行查询,并将解析的结果在自身保存一份。
    • 第六步:查到的京东服务器对应的IP地址之后,路由器通过路由协议找到一个路由转发的最优路径,将你的请求信息发送给这个P地址的京东的路由器。
    • 第七步:京东的路由器发给了京东网站的服务器上。
    • 第八步:京东网站服务器接收并处理完请求后,按照源路径,将自己的网站返回给你第九步:当你打开浏览器的时候,你的电脑给你的浏览器这个运行起来的程序给了一个编号,叫做端口号,当你的电脑收到京东发送过来的消息的时候,你的电脑通过端口号找到你的浏览器,你的浏览器拿到了京东的网站信息,然后将网站呈现在了自己的浏览器上。
  • DNS配置文件介绍

    yum -y install bind
    rpm -qa bind bind-utils bind-libs
       bind-libs-*(版本号)			#为bind\bind-utils提供所需要使用的库函数
       bind-utils-*(版本号)		#对DNS服务的测试工具
       bind-*(版本号)				#DNS服务器安装包
    /usr/sbin/named				#DNS服务名
    

    使用BIND软件构建域名服务时,主要涉及两种类型的配置文件

    主配置文件(/etc/name.conf):主配置文件用于设置named服务的全局选项,注册区域及访问控制等各种运行参数。

    区域配置文件/var/named/下:区域配置文件用于存放某个DNS区域的地址解析记录(正向或反向记录)

    cat /etc/named.conf
    
    #服务监听地址
    options{
    	listen-on port 53{ 127.0.0.1;}
    	listen0on-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";
    #允许谁来使用DNS服务器(any表示所有)
    	allow-query		{localhost};
    	}
    ......
    #区域配置,根域配置
    zone "." IN {
    	type hint;
    	file "named.ca";
    };
    
    #正向test.com区域
    zone "test.com" IN {
    #类型为master主
    	type master;
    #区域配置文件
    	file "test.zheng";
    }
    
    #反向192.168.80.0/24区域
    zone "80.168.192.in-addr.arpa" IN {
    	type master;
    	file "test.fan";
    }
    
    #对named.conf文件进行语法检查,有错误就提示
    named-checkconf /etc/named/conf
    
  • 区域数据配置文件

​ 区域数据配置文件通常位于/var/named/目录下,每个区域数据文件对应一个DNS解析区域,文件名及内容由该域的管理员自行设置(没写过,用的别人写的设置好的,直接放进去用了)。

#正向区域数据文件

vim /var/named/test.zheng
#有效解析记录的生存周期
$TTL 86400
#SOA标记,域名,管理邮箱
@	IN	SOAtest.com.admin.test.com. (
#更新序列号,10位以内整数
		2019050101
#刷新时间,从服务器重新同步数据间隔
		3H
#重试时间,同步失败后多长时间重试
		15M
#失效时间,超过这个时间就放弃同步
		1W
#无效解析记录的生成周期
		1D
)
#地址解析记录
@	IN	NS	ns1.test.com.
	IN	MX10	mail.test.com.
ns1	IN	A	192.168.80.128
www	IN	A	192.168.80.111
mail	IN	A	192.168.80.112
ftp	IN	CNAME	www

在这里插入图片描述

常见的地址解析记录

NS记录/主域名记录:记录当前区域的DNS服务器的主机地址

MX记录/邮件记录:记录当前区域的邮件服务器的主机地址,数字10表示(当有多个MX记录时)选择邮箱服务器的优先级,数字越大优先级越低

A记录/正向ipv6域名记录:记录正向解析条目(IPV6)

AAAA记录/正向ipv6域名记录:记录正向解析条目(IPV6)

CNAME记录/别名记录:记录某一个正向解析条目的其他名称

#反向区域数据文件:不会用到A地址记录,而是使用PTR指针(pront)记录

vim /var/named/test.fan
$TTL 86400
@	IN	SOAtest.admin.test.com. (
#更新序列号,10位以内整数
		2019050101
#刷新时间,从服务器重新同步数据间隔
		3H
#重试时间,同步失败后多长时间重试
		15M
#失效时间,超过这个时间就放弃同步
		1W
#无效解析记录的生成周期
		1D
)
@	IN	NS	ns1.test.com.
128	IN	PTR ns1.test.com.
111 IN	PTR	www.test.com.
112	IN	PTR	mail.test.com.
111	IN	PTR	ftp.test.com.

#测试DNS区域配置文件是否正确
named-checkzone test.com /var/named/test.zheng
named-checkzone 192.168.80.40 /var/named/test.fan

chgrp named /var/named/test.zheng
chgrp named /var/named/test.fan
systemctl restart named

在这里插入图片描述

  • 验证

    开启windows虚拟机,配置网卡DNS为DNS服务器,在cmd中验证

    #验证正向解析域名为IP

    C:\Users\Administrator>nslookup ftp.test.com

    服务器 ns1.test.com

    Address: 192.168.80.40

    名称: www.test.com

    Address:ftp.test.com

​ #验证反向IP解析为域名

​ C:\Users\Administrator>nslookup 192.168.80.111

​ 服务器:ns1.test.com

​ Address:192.168.80.40

​ 名称:ftp.test.com

Address: 192.168.80.40

名称: www.test.com

Address:ftp.test.com

​ #验证反向IP解析为域名

​ C:\Users\Administrator>nslookup 192.168.80.111

​ 服务器:ns1.test.com

​ Address:192.168.80.40

​ 名称:ftp.test.com

​ Address:192.168.80.111

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值