DNS 介绍

 

DNS 介绍

标签: DNS
  921人阅读  评论(0)  收藏  举报
  分类:
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。
一、DNS功能
每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。主机名到IP地址的映射有两种方式:
1.静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;
2.动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。[1] 
通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。
二、DNS解析过程
DNS常用的资源记录类型
A:地址 此记录列出特定主机名的 IP 地址。这是名称解析的重要记录。
CNAME:标准名称 此记录指定标准主机名的别名。
MX:邮件交换器此记录列出了负责接收发到域中的电子邮件的主机。
NS:名称服务器此记录指定负责给定区域的名称服务器。
采用的工具:
1.在Windows平台下,使用命令行工具,输入nslookup,返回的结果包括域名对应的IP地址(A记录)、别名(CNAME记录)等。
2.在Linux Shell下通过dig查询
FQDN名的解析过程:
若想跟踪一个FQDN名的解析过程,在LinuxShell下输入dig www +trace,返回的结果包括从根域开始的递归或迭代过程,一直到权威域名服务器。
GeniePro DNS 应对DNS劫持和DNS缓存中毒攻击的关键性机制:一致性检查
每个Geniepro节点将自身的DNS记录发送给工作组内其他节点请求一致性检查;
每个Geniepro节点将自身的记录与收到的记录进行比较;
每个Geniepro工作组的通信协调节点将获得的DNS记录更新发送给其他组的通信协调节点请求一致性检查;
每个Genipro工作组的通信协调节点向上一级DNS服务器请求更新记录并与收到的其他通信协调节点的记录进行比较。
一致性仲裁:

如果一致性检查发现记录不一致情况,则根据策略(少数服从多数、一票否决等)决定是否接受记录的变化 根据结果,各Geniepro节点将自身记录进行统一通信协调节点选举 选举出的通信协调节点在任期内具有更新组内节点的权限 选举过程满足不可预测性和不可重复性DNS资源记录 如前所述,每个 DNS 数据库都由资源记录构成。一般来说,资源记录包含与特定主机有关的信息,如 IP 地址、主机的所有者或者提供服务的类型。

查询跟踪日志:

[plain]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. # dig www.cnnic.cn +trace  
  2.   
  3. ; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> www.cnnic.cn +trace  
  4. ;; global options:  printcmd  
  5. .                       20032   IN      NS      a.root-servers.net.  
  6. .                       20032   IN      NS      b.root-servers.net.  
  7. .                       20032   IN      NS      c.root-servers.net.  
  8. .                       20032   IN      NS      d.root-servers.net.  
  9. .                       20032   IN      NS      e.root-servers.net.  
  10. .                       20032   IN      NS      f.root-servers.net.  
  11. .                       20032   IN      NS      g.root-servers.net.  
  12. .                       20032   IN      NS      h.root-servers.net.  
  13. .                       20032   IN      NS      i.root-servers.net.  
  14. .                       20032   IN      NS      j.root-servers.net.  
  15. .                       20032   IN      NS      k.root-servers.net.  
  16. .                       20032   IN      NS      l.root-servers.net.  
  17. .                       20032   IN      NS      m.root-servers.net.  
  18. ;; Received 228 bytes from 8.8.8.8#53(8.8.8.8) in 70 ms  
  19.   
  20. cn.                     172800  IN      NS      ns.cernet.net.  
  21. cn.                     172800  IN      NS      e.dns.cn.  
  22. cn.                     172800  IN      NS      d.dns.cn.  
  23. cn.                     172800  IN      NS      c.dns.cn.  
  24. cn.                     172800  IN      NS      b.dns.cn.  
  25. cn.                     172800  IN      NS      a.dns.cn.  
  26. ;; Received 293 bytes from 198.41.0.4#53(a.root-servers.net) in 149 ms  
  27.   
  28. cnnic.cn.               86400   IN      NS      b.cnnic.cn.  
  29. cnnic.cn.               86400   IN      NS      c.cnnic.cn.  
  30. cnnic.cn.               86400   IN      NS      d.cnnic.cn.  
  31. cnnic.cn.               86400   IN      NS      e.cnnic.cn.  
  32. cnnic.cn.               86400   IN      NS      a.cnnic.cn.  
  33. ;; Received 190 bytes from 202.112.0.44#53(ns.cernet.net) in 6 ms  
  34.   
  35. www.cnnic.cn.           300     IN      A       159.226.6.133  
  36. cnnic.cn.               600     IN      NS      a.cnnic.cn.  
  37. cnnic.cn.               600     IN      NS      b.cnnic.cn.  
  38. cnnic.cn.               600     IN      NS      d.cnnic.cn.  
  39. cnnic.cn.               600     IN      NS      c.cnnic.cn.  
  40. cnnic.cn.               600     IN      NS      e.cnnic.cn.  
  41. ;; Received 206 bytes from 203.119.26.5#53(b.cnnic.cn) in 21 ms  

三、DNS的资源记录
我们要查询这些庞大数据当然要有专门的主机负责这些工作了,提供查询、存储DNS数据服务的主机我们称之为DNS服务器。网络上为了方便域名的注册、管理、解析,将DNS域名映射到特定类型的资源信息,我们称之为资源记录。资源记录是有类型:

SOA:起始授权,只能有一个,而且必须是第一个
NS:域名服务器,用于表示DNS服务器的域名地址
MX:邮件交换器,用于一个域下的邮件使用
A:域名->IP,我们经常用到的就是它了
PTR:IP->域名,和A记录相反,用于反向解析
AAAA:域名->IPv6,基本不用
CNAME:别名记录,用于作A记录的域名的别名

等等。。。

四、国内服务商

国内常用DNS服务提供商:

CNNIC云解析:http://sdns.cn/
ZDNS云服务:http://www.zdns.cn/
DNSpod:https://www.dnspod.cn/
DNS.La:https://www.dns.la/
八戒DNS:http://www.8jdns.com/
还有一些域名注册服务提供商:万网新网等。

参考:免费DNS解析服务介绍
五、DNS开源软件

1.bind
Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。
官网地址:https://www.isc.org/downloads/BIND/
下载地址:

http://www.isc.org/downloads/
ftp://ftp.isc.org/isc/bind9/
2.dnspod-sr
DNSPod Security Recursive DNS Server(简称DNSPod-sr)是一个运行在 Linux 平台上的高性能的递归 DNS 服务器软件,依托于 DNSPod 多年运营和优化 DNS 服务的经验,针对国内复杂的网络情况,对递归 DNS 进行了一系列的优化,不管是性能上、业务上还是运营上均适合国内的国情,非BIND等软件可比拟,且比所有流行的开源 DNS 软件性能高出2倍以上。
项目地址:https://github.com/DNSPod/dnspod-sr#dnspod-security-recursive-dns-server
3.PowerDNS
PowerDNS Authoritative Server (PDNS) 是一个高性能的权威 DNS 名字服务器,支持文本的 BIND 配置,也可将配置存储与 MySQLOracle, PostgreSQL, SQLite, MongoDB 等数据库,后端可使用多种编程语言进行扩展。
官网地址:https://www.powerdns.com
项目地址:https://github.com/PowerDNS
下载地址:https://www.powerdns.com/downloads.html
4.Knot DNS
Knot DNS 是一个高性能的权威 DNS 服务器,支持所有 DNS 系统的关键特性,包括区域转换、动态更新以及 DNSSEC。
官网地址:https://www.knot-dns.cz/
5.Eagle DNS
Eagle DNS 是一个用 Java 语言开发的功能强大的多线程的平台无关的DNS服务器,基于 dnsjava 类库,支持 Primary Zones 和 Secondary Zones。
官网地址:http://www.unlogic.se/projects/eagledns
下载地址:http://www.unlogic.se/projects/eagledns/page/download
5.robdns
robdns 是一个高速的 DNS 服务器,设计用于公众互联网环境,可应付大量的攻击。其思路是在防火墙内隐藏主服务器,关键的特性的内建自定义 TCP/IP 堆栈可在 1个 CPU 核上每秒钟处理几百万的 DNS 查询请求。
项目地址:https://github.com/robertdavidgraham/robdns
DNS先关工具
1.OpenDNSSEC是一个实现了 DNSSEC 的开源解决方案,用来在发布到认证的域名服务器之前保护 zone 数据。
2.dnsjava是DNS协议的一个Java开源实现。
DNS管理工具
1.wddns

wddns是一套基于bind+mysql构建开发,web在线管理的智能DNS系统,安装方便,快速,让你可在最短时间内架构一套DNS/智能DNS系统.目前支持电信/网通/教肓网/移动/铁通/广电/按省份解析(31个省份)/搜索引擎蜘蛛等多线路,具有强大的监控功能,服务器健康检测,即宕机检测和切换,DNS服务器健康监控,宕机切换,防攻击检测,可选自动屏蔽攻击者IP,易扩展DNS服务器,数据自动同步等
2.xbaydns

参考文章:

1.DNS百科

2.DNS服务介绍

3.DNS服务及基于BIND实现

4.DNS学习站点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值