码迷,mamicode.com
首页 > 其他好文 > 详细

DNS初步

时间:2015-04-29 15:22:13      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:数据库系统   recursion   域名空间   ip地址   互联网   

     初学,本文只记录自己对DNS的一些理解,及其在linux上的实现。本文的实验环境是CentOS6.6,使用的bind版本为9.8.2

     DNS:Domain Name System,因特网上主机名和ip地址相互映射的数据库系统。因特网上主机之间的通信是通过ip地址实现的,而人通常只记忆某网站的网址,网址和ip之间的转换则由DNS负责,使得人们使用起来更为方便快捷。

    整个DNS域名空间呈倒立的树状结构,被称为域树,而域名则是由IANA(互联网数字分配机构)统一分配,通过根域可以找到互联网上所有可被访问的主机,全球一共有13组根域服务器。

【一次完整的DNS查询过程】

    技术分享

Client --> hosts文件 --> DNS Service

Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 

     客户端需要查询所需主机的IP地址过程:首先会查询本机的hosts文件,如果hosts文件中没有对应记录,client则会向本地的DNS服务器发出申请,如果local DNS服务器仍然没有记录,则会向根域申请(每一台作为DNS服务器主机必须要知道根域的位置),根域会告诉localDNS 顶级域的位置,顶级域会告诉localDNS所要查询的子域所在的位置,子域DNS会把要找的主机的IP地址反馈给Local DNS,local最终把IP送回client。

【DNS服务器的类型】

  缓存DNS服务器:不负责解析任何域,但主机通过它可以做DNS查询。一台缓存DNS服务器至少需要能解析“根”及“localhost”。

  主DNS服务器:维护所负责解析的域内解析库服务器;解析库由管理维护;

  从DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库;

【DNS服务器维护的资源记录类型】

记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX


SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录;

A:internet Address,作用,FQDN --> IP

AAAA: FQDN --> IPv6

PTR: PoinTeR,IP --> FQDN

NS: Name Server,专用于标明当前区域的DNS服务器

CNAME:Canonical Name,别名记录

MX: Mail eXchanger,邮件交换器

【bind】

bind是一种流行的DNS服务器软件,目前internet上有半数以上的DNS服务器是用bind架设的。

包名:bind

进程:named

协议:dns

使用端口:53(tcp,udp)

相关包:

bind-libs:bind服务器端和客户端都使用到的公共库文件

bind-utils :  bind客户端工具

    说明:与bind相关的还有其它软件包,以实现安全性等功能在此不深究,只需安装bind-libs,bind-utils,bind三个程序包,即可架设一台简易DNS服务器。

程序文件:/usr/sbin/named

   



【使用bind搭建DNS服务器】

 bind的配置文件

[root@localhost ~]# rpm -qc bind
/etc/logrotate.d/named    
/etc/named.conf                #主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones       #另一部分住配置文件,主要用来授权区域。
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca           #根区域解析文件
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
[root@localhost ~]#

技术分享安装完bind,按照上图修改配置文件,并执行“service named start”,一台缓存DNS服务器就可以正常工作了,但要搭建主DNS服务器还需要定义解析区域,并编辑区域解析库文件

要搭建一台简单的DNS服务器需要两个操作

1,在主配置文件中定义区域。

2,定义区域解析库文件技术分享技术分享编辑完配置文件可以使用

named-checkconf:检查主配置文件

named-checkzone "hankniu.com" /var/named/hankniu.com.zone:检查区域解析库文件

一台“hankniu.com”区域的主DNS服务器就配置成功了,使用dig命令测试,

#dig -t A  @ 172.16.7.1

技术分享   

  同样还可以配置“hankniu.com”区域的反向解析:

技术分享

技术分享


【DNS主从同步的实现】

     每个域只能有一台主DNS服务器,但可以有多台从DNS服务器。主DNS服务器的区域解析文件由管理员手动维护,从DNS服务器的区域解析文件从主DNS服务器上通过区域传送而来。

     辅助DNS服务器配置关键点:

     1,需要在主DNS服务器上添加从DNS服务器的NS,A记录。

 技术分享

我们配置的主DNS 服务器已经有辅助DNS的记录,NS:ns2.hankniu.com,IP:172.16.7.3

  2,配置从DNS 服务器的配置文件,配置格式与主DNS 有所不同

技术分享

从DNS服务器的区域解析文件由主DNS服务器传送而来,所以通过以上行配置,一台从DNS服务器已经可以增长工作了。


DNS初步

标签:数据库系统   recursion   域名空间   ip地址   互联网   

原文地址:http://hankniu.blog.51cto.com/6946350/1640235

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!