首页 > 其他 > 详细

DNS

时间:2018-05-31 11:09:24      阅读:268      评论:0      收藏:0      [点我收藏+]

DNS(Domain Name System)域名服务系统

DNS定义

DNS is a hierarchical decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities. Most prominently, it translates more readily memorized domain names to the numerical IP addressesneeded for locating and identifying computer services and devices with the underlying network protocols. By providing a worldwide, distributed directory service, the Domain Name System is an essential component of the functionality on the Internet, that has been in use since 1985

从上述的定义中可以看出DNS功能和特点如下:

  • IP到人类易读和易记的域名的翻译如访问www.baidu.com可以通过此域名或IP61.135.169.125访问
  • 层级架构
  • 分布式部署

技术分享图片

本地名称解析配置文件:hosts

/etc/hosts
%WINDIR%/system32/drivers/etc/hosts
122.10.117.2 www.magedu.com
93.46.8.89 www.google.com

如果事先知道IP和域名的关系,则可以在本地主机上直接配置IP和域名的对应关系,此时访问hosts里的域名是不需要经过DNS的解析。因为客户端云访问域名时,第一步是到本地的/hosts的文件时查找。但是互联网上的如此碰的域名和IP的解析关系通过配置本地的hosts文件是不可行的,还是需要依赖DNS。

DNS:Domain Name Service 应用层协议

53/udp, 53/tcp

DNS服务器类型

  • 主DNS服务器:管理和维护所负责解析的域内解析库的服务器
  • 从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本
  • 缓存DNS服务器(转发器)

主DNS服务器和从DNS服务器同步的工作机制:

“通知”机制:主服务器解析库发生变化时,会主动通知从服务器

  • 序列号:解析库版本号,主服务器解析库变化时,其序列递增 刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔
  • 重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔
  • 过期时长:从服务器联系不到主服务器时,多久后停止服务

对应在配置文件/var/named/linuxdevops.net.zone 

0 serial (解析库版本号,只要有变化就要手动加1)
1D ; refresh (刷新时间)
1H ; retry(重试时间 )
1W ; expire(过期时间)
3H ) ; minimum(否定答案的TTL值:查找不到的缓存时间,如用户查找wwww.baidu.com,因为这是一个错误的查询,缓存DNS服务器会告诉用户这是一个错误查询,如果用户后几次的请求还是同样的错误,缓存DNS服务器会直接通知此用户结果查询错误,减少向主DNS服务器查询的负担)

DNS解析

一次完整的查询请求经过的流程:
Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS…

DNS配置

/etc/named.conf DNS的主配置文件

listen-on port 53 { localhost; };

allow-query { localhost; any; };

/etc/named.rfc1912.zones

zone "linuxdevops.net" IN {
type master;
file "linuxdevops.net.zone";
};

/var/named/linuxdevops.net.zone

$TTL 1D
@ IN SOA master.linuxdevops.net. admin.linuxdevops.net. (
                                                                            0 ; serial
                                                                           1D ; refresh
                                                                           1H ; retry
                                                                           1W ; expire
                                                                            3H ) ; minimum
              NS    master
master    A    172.20.42.145
www   A    172.20.103.43

$TTL 1D 全局TTL值,默认是秒为单位

@代表当前域名本身,在本例子中是linuxdevops.net,@也可以用精确的域名linuxdevops.net代替,但是必须加dot,如linuxdevops.net.

admin.linuxdevops.net. (邮件记录,应该是admin@linuxdevops.net,但是@在bind配置中有特殊意,所以用dot代替)

 

DNS

原文:https://www.cnblogs.com/liangjindong/p/9115472.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!