互联网访问绝大多数都是基于域名的访问,互联网访问的基础是基于IP来实现的,因此,需要有一种将域名解析成IP的机制,让用户在利用域名访问时,自动将域名转换成为对应的IP,这就是DNS的功能。

DNS的基础概念

DNS:Domain Name Service,基于C/S模式的域名解析服务,应用层协议;监听在53/udp,53/tcp端口;TCP用来区域传送; UDP用来解析。

区域(zone)和域(domain)

区域是物理概念,域是逻辑概念。

比如:sfn.cn.这个域

FQDN–>IP:

正向解析库和正向解析的功能,就是一个正向解析区域。

IP–>FQDN:

反向解析库和反向解析的功能,就是一个反向解析区域。

一般而言,一个域分为正向解析区域和反向解析区域,但是单纯的域却不一定比区域大,因为父域的区域,可能就比子域的域要大。

区域数据库文件

主要由资源记录(RR,resource record)组成。

常见资源记录类型:SOA、NS、MX、A、AAAA、PTR、CNAME。

SOA:start of authority,起始授权记录,一个区域解析库有且只能有一个SOA记录,且必须放在所有资源记录的第一条。

NS:name service,域名服务记录,一个区域解析库可以有多个NS记录,一个NS记录表示一台DNS服务器,其中一个为主的,其余的为辅的。

MX:mail exchanger,邮件交换器,用于标明域内邮件服务器的地址的记录,MX记录可以有多个,其MX记录有优先级的概念,优先级 0-99,数字越小,优先级越高。

A:address,地址记录,也就是从FQDN–>IPv4

AAAA:address,地址记录,从FQDN–>IPv6

PTR:pointer,主要用于实现IP–>FQDN

CNAME:别名记录。

资源记录的定义格式

语法:NAME [TTL] IN RR_TYPE VALUE

SOA记录:

NAME:当前区域的名字,例如:sfn.cn. 或者如果是反向区域,则 1.168.192.in-addr.arpa.

VALUE:有多部分组成

<1>当前区域的区域名称(也可以使用主DNS服务器名称);

<2>当前区域的管理员的邮箱地址,但地址中不能使用@符号,一般用点号.来替代;

<3>主从服务的协调属性的定义以及否定答案的缓存时长,整个内容要用()括号括起来,每行内容之后可以用;分号表示后面的都是注释信息。

完整的SOA记录定义示例:

sfn.cn. 86400 IN SOA sfn.cn. admin.sfn.cn (

2016091801 //代表序列号,不能超过10位

2H //代表从服务器向主服务器同步数据的刷新时间间隔,此处表示2小时

10M //表示联系不上主服务器时,从服务器再次联系主服务器时的间隔时间,10分钟

1W //表示过期时间,也就是服务器始终联系不上主服务器时的最长等待时间,也就是此时间一过,就判定主服务器故障,然后从服务器也停止服务,1周

1D //表示否定答案的缓存时长,1天

)

NS记录:

可有多个NS记录,一个NS记录对应一个DNS服务器,每个NS记录应该有一个对应的A记录。

NAME:当前区域的区域名称

VALUE:当前区域的某DNS服务器的名字,例如ns1.sfn.cn

例如:

sfn.cn. 86400 IN NS ns1.sfn.cn.

sfn.cn. 86400 IN NS ns2.sfn.cn.

MX记录:

MX记录可以有多个,一个MX记录对应一个邮件服务器,每个记录的VALUE之前应该有一个数字,用于表示其优先级,数字越小,优先级越高。每个MX记录应该有一个对应的A记录。

NAME:当前区域的区域名称

VALUE:当前区域某邮件服务器的主机名

例如:

sfn.cn. IN MX 5 mail1.sfn.cn.

sfn.cn. IN MX 20 mail2.sfn.cn.

A记录:

FQDN–>IPv4

NAME:某FQDN,如:web.sfn.cn.

VALUE:某IPv4地址

例如:

web.sfn.cn. IN A 1.1.1.1

web.sfn.cn. IN A 1.1.1.2

bbs.sfn.cn. IN A 1.1.1.2

一个主机名额可以有多个IP,一个IP也可以有多个主机名

*.sfn.cn. IN A 10.1.32.1

表示将前面没有单独定义的都解析到10.1.32.1

sfn.cn. IN A 10.1.32.1

表示当用户访问域名前不带任何字符时,也即是直接访问sfn.cn.时解析到的地址是10.1.32.1

$GENERATE 1-254 server$ IN A 1.1.1.$

表示将server1.sfn.cn. 解析的地址为1.1.1.1

server2.sfn.cn. 解析的地址为1.1.1.2

server3.sfn.cn. 解析为1.1.1.3

….

server254.sfn.cn. 解析为1.1.1.254

同理:

$GENERATE 5-20 test$ IN A 1.1.1.2$

表示将test5.sfn.cn. 解析的地址为1.1.1.25

test6.sfn.cn. 解析的地址为1.1.1.26

test7.sfn.cn. 解析为1.1.1.27

….

test20.sfn.cn. 解析为1.1.1.220

AAAA记录:

FQDN–>IPv6地址,定义方式与A记录类似

PTR记录:

反向解析记录

NAME:IP地址,有特定格式,IP反过来写,而且要加特定后缀,如:192.168.1.2的记录应该写成2.1.168.192.in-addr.arpa。

VALUE:为FQDN

例如:

2.1.168.192.in-addr.arpa. IN PTR bbs.sfn.cn.

CNAME记录:

别名记录

FQDN格式的别名;

VALUE:FQDN格式的正式名称

例如:

web.sfn.cn. IN CNAME www.sfn.cn.

表示web.sfn.cn.是www.sfn.cn.的别名

注意:

<1>TTL值可以从全局继承,不用每个记录都单独定义

<2>@可以用来表示当前的区域的名字

<3>相邻的两条记录,其NAME相同时,后面那条记录的NAME可以省略

<4>任何MX、NS等类型的记录的value为一个FQDN,此FQDN应该有一个A记录

举报/反馈

国科云

2857获赞 672粉丝
中国科学院控股有限公司旗下控股企业,提供域名注册、域名解析、IPv6改造、SSL证书、网站内容监测等一站式域名解决方案
关注
0
0
收藏
分享