让我们一起来学习DNS的基本知识吧


一、DNS的简介

DNS:Domain Name Service(域名服务)

1.DNS的基本概念DNS是一种组织成为域层次结构的计算机和网络服务命名系统。

2.DNS的主要功能:在一个TCP/IP架构的网络环境中,DNS是一个非常重要而常用的系统。其主要功能就是将易于记忆的域名与不易记忆的IP地址进行转换。

3.DNS对名称解析的操作做了调整

1DNS采用分散形式的数据库存储,将名称解析信息分别存储在不同的名称服务器中,形成一个分布式数据库,从而增加了名称解析的可靠性性。

2DNS为层次结构,将所有的名称信息组成一个名称空间,并将其划分成子空间,以便提供分布式的存储。

3DNS具有备份和缓存机制,从而提高了名称解析的性能和可靠性。


二、DNS的结构

1、根域:在DNS命名空间中,根域只有一个

2、顶级域:在根域之下的第一级便是顶级域

组织域:.com, .org, .net, .cc

国家域(又称地理域): .cn, .tw, .hk, .iq, .ir, .jp

3、各级子域:除了根域和顶级域之外,其它域都称为子域

4、反向域(in-addr.arpa):为了完成反向解析过程

反向域: IP-->FQDN知道IP地址可以解析出域名

DNS是分布式数据库,上级仅知道其直接下级,下级只知道根的位置;

为了使大家更明白一点域的结构,我们可以看如下的图(自顶向下):


DNS基本的理论知识以及简单的安装配置你掌握了吗?

三、DNS服务器的常见类型:

DNS服务器:数据修改,每个区域中有唯一的主服务器,其中包含了所有子域和主机名的资源记录

辅助DNS服务器:请求数据同步,为其区域从该区域中的主DNS服务器上获取数据

缓存DNS服务器:不与任何DNS区域相关联,而且不包含任何活跃的数据库

转发器:代替许多客户机执行查询,创建一个大的缓存空间

四、资源记录

1、资源记录的基本概念:数据库中的,每一个条目称作一个资源记录(Resource RecordRR

2、资源记录的格式

NAME[TTL]INRRTVALUE

eg:www.magedu.com.INA1.1.1.1

1.1.1.1INPTRwww.magedu.com.

3、资源记录的类型

1SOA资源记录(Satrt of Authority Rccord) :起始授权记录,SOA编辑一个区域数据文件定义的开始,定义了域的全局参数,并进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。

格式为: ZONENAMETTLINSOAFQDNADMINISTRATOR_MAILBOX(

serial number版本号(***)

refresh检查的时间周期

repty重试时间

expire过期时间

na ttl )否定答案的缓存时长

时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位是秒

邮箱格式:[email protected] -写为-> admin.magedu.com

egmagedu.com.600INSOAnsl.magedu.com.admin.magedu.com (

2013040101

1H

5M

1W

1D)

2NS资源记录(Name Server):ZONE NAME --> FQDN名称服务器资源记录用于指定一个区域的权威DNS服务器,把ZONE NAME(区域名)映射到FQDN(完全正式域名)

格式:@INNSNS_SERVER_FQDN

magedu.com.600INNSns1.magedu.com.

magedu.com.600INNSns2.magedu.com.

ns.magedu.com.600INA1.1.1.2

ns.magedu.com.600INA1.1.1.5

3MX资源记录(Mail eXchanger): ZONE NAME --> FQDNDNS指定邮件交换服务器,MXZONE NAME(区名)映射到FQDN(完全正式域名)

格式: ZONENAMETTLINMXpriVALUE

优先级:0-99,数字越小级别越高

magedu.com.600INMX 10mail.magedu.com.

mail.magedu.com.600INA1.1.1.3

A(address) : FQDN-->IPv4FQDN(完全正式域名映射到IPv4

AAAA :FQDN-->IPv6FQDN(完全正式域名映射到IPv6

4PTR资源记录(pointer):IP-->FQDN 指针(PTR)记录把IP地址映射到FQDN(完全正式域名)

5CNAME(Canonical NAME 正式名称)IP-->FQDN别名记录,创建特定FQDN别名,把IP地址映射到FQDN(完全正式域名)

eg: www2.magedu.com.INCNAMEwww.magedu.com.

Alice(别名)INCNAMEFQDN


五、区域(ZONE)

1、区域的基本概念:区域是DNS名称空间的一个连续部分,它包含一组存储在DNS服务器上的资源记录,每一个区域都位于一个特殊的域节点,但区域并不是域(Domain)

提示:域是一个逻辑概念,区域是一个物理概念

2、区域传送的类型

完全区域传送:axfr

增量区域传送:ixfr

3、区域类型

主区域:master

从区域:slave

区域:hint(定义根在什么地方)

转发区域:forward


六、DNS的查询

1、递归:请求方只发出一次请求(一级一级的向下传递)

例如:AB发送一个请求问B :“11等于几?“ B说:”我不知道,C知道。”然后B去问CC把结果给B后,B再告诉A

2、迭代:请求方发出多次请求,前几次返回的都是参考答案

例如:AB发送一个请求问B :“11等于几?“ B说:”我不知道,C知道。”然后A直接去问C得到了结果。(其中B告诉A的只是参考答案)


七、DNS的安装与简单的配置过程

1、安装配置yum

# rpm -ql bind-utils查询utils提供了哪些工具

# rpm -e bind-libs bind-utils卸载掉bind-libs bind-utils

# cd /etc/yum.repos.d/

# wget ftp://172.16.0.1 /pub/gls/server.repo

# yum list all | grep "^bind"

# yum install bind97 bind97-utils安装bind97 bind97-utils

2、创建配置文件

# mv /etc/named.conf /etc/named.conf.orgi备份文件并为其重命名

# vim /etc/named.conf脚本内容如下

options {

directory "/var/named";

};

zone "." IN {

type hint;

file "named.ca";

};

zone "localhost" IN {

type master;

file "named.localhost";

};

zone "0.0.127.in-addr.arpa" IN {

type master;

file "named.loopback";

};

zone "wxx.com" IN {(wxx为自定义的名字)

type master;

file "wxx.com.zone";

};

zone"66.16.172.in-addr.arpa" IN {

type master;

file "172.16.66.zone";

};


# chown root:named /etc/named.conf修改属主属组为root:named

# cdmod 640 /etc/named.conf改其权限为640

# named-checkconf查看是否有语法错误

# named-checkzone "." /var/named/named.ca指定zone是根,以及var下的文件是named/named.ca

# named-checkzone "localhost" /var/named/named.localhost

# named-checkzone "0.0.127.in-addr.arpa" /var/named/named.loopback

# setenforce 0关闭enforce(临时关闭)

# service named start重启系统

# tail /var/log/messages启动过程中产生的信息都会进入到/var/log/messages


3、设置开机时自动启动named进程

# netstat -tunlp查看DNS是否启动起来

# ping www.google.com.hk查看是否能够访问互联网

# vim /etc/resolve.conf编辑自己的DNS服务器内容如下:

nameserver 172.16.66.1

search localmain

dig -t [email protected]到服务器端找根

# ping www wxx.com当前主机可以解析DNS

# chkconfig --list named查看下次开机时是否会自动启动

# chkconfig named on能让服务器开机时自动启动

4、创建区域的正反向配置文件

4.1 配置正向解析域

# cd /var/named

# vim wxx.com.zone内容如下:


$TTL 86400

@INSOAns1.wxx.com.admin.wxx.com.(

2013040201

1H

5M

2D

2H)

INNSns1

INMX 10mail

nlsINA172.16.66.1

mailINA172.16.66.2

wwwINA172.16.66.1

wwwINA172.16.66.3

ftpINCNAMEwww

# named-checkzone "wxx.com.zone" /var/named/wxx.com.zone检查是否有语法错误

# chown root:named wxx.com.zone修改属主属组为root:named

# chmod 640 wxx.com.zone添加执行权限


4.2 配置反向解析域

# vim 172.16.66.zone编辑内容如下

$TTL 86400

@INSOAns1.wxx.com.admin.wxx.com.(

2013040201

1H

5M

2D

2H)

INNSns1.wxx.com.

1INPTRns1.wxx.com.

1INPTRwww.wxx.com.

2INPTRmail.wxx.com .

3INPTRwww.wxx.com.


# named-checkzone "66.16.172.in-addr.arpa" 172.16.66.zone检查是否有语法错误



以上就是DNS的基本知识以及DNS简单的配置过程,有不足之处,我将进一步的改进更新