云计算百科
云计算领域专业知识百科平台

第六章 DNS域名解析服务器

一、DNS简介

DNS:
是互联网上的一项服务,作为将域名和
IP
地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。 

DNS
系统使用的是网络的查询,需要有监听的
port,
使用
53
端口。


1
)因特网的域名结构

由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。

任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(是名字空间中一个可被管理的划分)

域名分类:

  • 国家顶级域名:采用
    ISO3166
    的规定

   
国家域
名又常记为
ccTLD(
cc
表示国家代码
contry-code)

  • 通用顶级域名:最常见的有
    7

com  公司企业
net  网络服务机构
org 非营利组织
int  国际组织
gov 美国的政府部门
mil 美国的军事部门
  • 基础结构域名
    :只有一个

    arpa
    ,用于反向域名解析

 2)域名服务器的类型划分:顶级域名,二级域名,三级域名,四级域名

根据域名服务器起的作用,域名服务器可划分为以下类型:

  • 根域名服务器:最高层次的域名服务器,最重要的域名服务器                          假定所有的根域名服务器都瘫痪了,那么整个
    DNS系统就无法工作

                             根域名服务器并不直接把待查询的域名直接解析出
    IP
    地址,而是告诉本                           地域名服务器下一 步应当找哪一个顶级域名服务器进行查询

  • 顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名

  • 权限域名服务器:负责一个



    的域名服务器

  • 缓存
    DNS服务器:不负责解析域,只是缓存域名解析的结果

  • 主从DNS服务器:为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个                               域名服务器来保存,其中的一个就是主DNS服务器,负责解析至少一                               个域。                              其他的是辅助(从)DNS服务器:负责解析至少一个域,是主DNS服                               务器的辅助。当主域名服务器出故障时,辅助域名服务器可以保证                                   DNS的查询工作不中断。主域名服务器定期把数据复制到辅助域名                                   服务器中,更改数据只能在主域名服务器中进行保证数据的一致性。
  • 本地域名服务器:不属于域名服务器的层次结构,但对域名系统非常重要

二、DNS域名解析的过程

DNS
解析方式 :

正向解析:FQDN → IP

反向解析: IP → FQDN

 三、DNS服务器配置

提供
DNS
服务的软件叫
bind
,服务名是
named

[root@localhost ~]# yum install bind -y

[root@localhost ~]# rpm -ql bind

/etc/named.conf # bind主配置文件

/var/named/slaves # 从dns服务器文件夹

[root@localhost ~]# vim /etc/named.conf

options {

        #定义监听端口,如果所有地址都监听,则只写端口

        listen-on port 53 { 127.0.0.1; };

        listen-on-v6 port 53 { ::1; };

        #定义数据文件目录

        directory "/var/named";

        #只允许本地主机进行查询

        allow-query { localhost; };

};

#定义区域

zone "." IN {

        type hint;

        file "named.ca";

};

配置
DNS
正向解析

#
主配置文件

[root@localhost ~]# vim /etc/named.conf

options {

        #监听端口为53,大括号内数据内容可以为any

        listen-on port 53 { any; };

        directory "/var/named";

};

zone "baidu.com" IN {

        type master;

        file "named.baidu.com";

};

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

[root@localhost ~]# vim /var/named/named.baidu.com

$TTL 1D

@ IN SOA @ admin.baidu.com. ( 0 1D 1H 1W 3H )

IN NS ns.baidu.com.

IN MX 10 mail.baidu.com.

ns IN A 172.24.8.128

mail IN A 172.24.8.128

www IN A 172.24.8.128

ftp IN CNAME www

[root@localhost ~]# systemctl restart named

[root@localhost ~]# systemctl disable firewalld –now

[root@webserver ~]# setenforce 0

#客户端测试

host [-a] FQDN [server]

nslookup [FQDN] [server]

dig [options] FQDN [@server]

options:+trace代表从.开始追踪;-t type查询的数据主要有MX、NS、SOA、A等类型;-x查

询反解信

[root@localhost ~]# host www.baidu.com 172.24.8.128

[root@localhost ~]# nslookup www.baidu.com 172.24.8.128

[root@localhost ~]# dig -t A www.baidu.com @172.24.8.128

常见的正解文件
RR
相关信息:

domain

IN

RR type 

RR data

主机名
.

IN

A

IPv4

IP
地址

主机名
.

IN

AAAA

IPv6

IP
地址

域名
.

IN

NS

管理这个域名的服务器主机名字,即由哪一台主机去解析当前所定义的域主机

域名
.

IN

SOA
起始授权记录

管理这个域名的七个重要参数

域名
.

IN

MX

顺序数字,接收邮件的服务器主机名字

主机别名.

IN

CNAME

实际代表这个主机别名的主机名字

SOA
主要是与区域有关,所以
domain
要写域名。而
SOA
后面会接七个参数

七个参数的意义如下:

  • Master DNS
    服务器主机名:这个区域主要是哪台
    DNS
    作为
    Master
    的意思

  • 管理员的
    Email
    ,发生问题可以联系这个管理员。由于
    @
    在数据库文件中有特殊含义,所以将用
    “.”,代替@

  • 序号(
    Serial
    ),这个序号代表的是这个数数据库文件的新旧,序号越大代表越新。所以当你更改

    了数据库内容时,需要将这个数值放大。

  • 更新频率(
    Refresh
    )定义
    slave
    多久向
    Master
    要求数据更新

  • 失败重新尝试时间(
    Retry
    ),如果
    Slave
    无法对
    Master
    实现连接,那么在多长时间内,
    Slave
    会尝试重新连接到Master

  • 失效时间(
    Expire
    ),如果一直尝试失败,持续连接到达这个设置值时限,那么
    Slave
    将不再继续尝试连接,并且尝试删除这份下载的zone file
    信息。

  • 缓存时间(
    Minumum TTL
    ),如果这个数据库
    zone file
    中,每条记录都没有写到
    TTL
    缓存时间的话,那么就以这个SOA
    的设置值为主。
    ttl
    的意思是当这笔记录被其他
    DNS
    服务器查询到后,这个记录会在对方DNS
    服务器的缓存中,保持多久时间。如果写了
    $TTL
    ,则以该值为准。

反向解析

[root@localhost ~]# vim /etc/named.conf

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

        type master;

        file "named.172.24.8";

};

#反向区域文件

[root@localhost ~]# vim /var/named/named.172.24.8

$TTL 1D

@ IN SOA ns.baidu.com. admin.baidu.com. ( 0 1D 1H 1W 3H )

IN NS ns.baidu.com.

128 IN PTR ns.baidu.com.

128 IN PTR www.baidu.com.

128 IN PTR mail.baidu.com.

128
IN PTR ftp.baidu.com.

#反解需要注意:主机名尽量使用完整的FQDN,即要写上“.”

#客户端测试

[root@localhost ~]# host 172.24.8.128 172.24.8.128

[root@localhost ~]# nslookup 172.24.8.128 172.24.8.128

[root@localhost ~]# dig -x 172.24.8.128 @172.24.8.128

赞(0)
未经允许不得转载:网硕互联帮助中心 » 第六章 DNS域名解析服务器
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!