DNS原理概述及使用
===============================
DNS原理
Bind的安装配置及正反向解析
主从复制
子域授权及转发
Acl及view
===============================
一、DNS原理
每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。通过主机名,最终得到该主机名对应的IP地址的过程叫做名称解析(或主机名解析)DNS名称解析:FQDN --> IP;IP --> FQDN(FQDN:指域名)
DNS服务监听在53号端口,DNS中的名称与对应的主机的主机名不要求是一样的;一个名称可以对应多个IP;一个IP上也可以对应多个名称。
DNS的域名的拆分图解:
如:www.baidu.com.
‘.’:根域名服务器。
‘com’:顶级域名,或者一级域名,还有net cn org等
‘exmple’:二级域名,由公司或者个人使用。
‘www’:主机名 ,主机名还有mall.ftp等都是主机名
区域解析库:
资源记录:rr(resource record)
SOA:起始授权记录,一个区域文件只能有一个;
NS:name server
MX:邮件交换器,MX记录有优先级的属性,0-99,数值越小,优先级越高
A:FQDN --> IP,专用于正向解析库
PTR: IP --> FQDN,专用于反向解析
AAAA: FQDN --> IPV6,专用于正向解析库
CNAME:Canonical Name,正式名称
DNS的查询方式
迭代查询:本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地 域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询
递归查询:主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的份,向其他根域名服务器继续发出查询请求报文会给客户端一个准确的返回结果,无论是成功与否。
DNS服务器的类型:
master:主DNS服务器拥有区域正反向配置文件,管理区域。
slave:从DNS服务器是从主DNS服务器备份解析库从而达到DNS解析的。(解析库文件同步的过程叫:区域传送;传送为单方向的,因为只是从服务器到主服务器上获取解析库;区域传送分为:完全区域传送:axfer;增量区域传送:ixfer)
forward:将查询请求发往其他的DNS服务器。
cache:缓存服务器,将客户端上一次的解析缓存到服务器,过一段时间刷新一下。
hint:根DNS服务器
二、Bind的安装配置及正反向解析
bind:bekerley internet name domain
服务脚本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf,/etc/named.rfc1912.zones
区域解析库文件:/var/named/zone_name.zone
安全:
服务进程以系统用户的身份运行:named, named
可以运行于chroot模型下,即工作jail环境
实验环境:
搭建环境:CentOS6.5 x86_64虚拟机2台,做DNS主从复制。
安装包:使用yum安装bind-9.8.2-0.17.rc1.el6_4.6.x86_64rpm包。
主DNS服务器IP地址:172.16.25.1
从DNS服务器IP地址:172.16.25.4
在主DNS服务器上安装bind包
配置named.conf文件,注释掉暂时不用的信息(//表示注释)
编辑此文件,添加正向解析区域
指定区域为learning.com,定义为主DNS服务器,指定文件为learn.com.zone
添加正向解析区域后就开始创建配置文件“learn.com.zone”
将所需要的解析的信息填入配置文件
配置文件填写完成后就要修改文件的权限跟属组了,更好以后再检测下文件的语法是否正确,
重启服务完成正向解析的配置
再次修改此文件,添加反向解析区域
定义区域名为25.16.172.in-addr.arpa.指定为主DNS服务器,配置文件为172.16.25.zone
把刚才创建的正向解析配置文件直接复制为反向解析的配置文件,并使用-p复制其权限信息
然后编辑反向解析文件
定义此文件中的配置信息
然后检测语法是否有误,反向解析配置完成
使用客户端工具测试:
1、 host
语法:host -t RRTypeNAME [SERVER]
2、 nslookup
在命令中使用 server IP:指定要查看的主机的ip地址
set type=查看{A|SOA|NS|MX}记录
name:查询名字
3、 dig
使用格式: dig -t TYPE name @server
也可使用跟踪查看整个解析过程
+trace :跟踪解析过程
+notrace :不跟踪解析过程
+recurse :递归查询
+norecurse:不递归查询
使用此命令查看正向解析情况
使用此命令查看反向解析情况
主从复制、子域授权及转发、Acl及view会在下次的博文中做详细的图解,敬请期待!