7.DNS服务

一、概述

DNS(Domain Name System)域名系统在TCP/IP网络中提供域名与IP地址的解析服务。

1、域和域名

(1)DNS树的每个节点代表一个域,通过这些节点,对整个域名空间进行划分,成为一个层次结构。域名空间的每个域的名字,通过域名进行表示。

(2)域名:通常由一个完全合格域名(FQDN)标识。FQDN能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完全表述方式,从节点到树根采用反向书写,并将每个节点用”.”分隔,对于DNS域google来说,其完全正式域名(FQDN)为google.com

例:geogle为com域的子域,其表示方法为google.com,而www为google域中的子域,可以使用www.google.com表示。

注:通常情况下,FQDN有严格的命名限制,长度不能超过256字节,只允许使用字符a-z,0-9,A-Z和减号(-)。点号(.)只允许在域名标志之间或者FQDN的结尾使用,域名不区分大小。

(3)分类

域由顶层到下层,可以分为:根域、顶级域、二级域、子域。

A、DNS根域下面是顶级域,由internet域名注册授权机构管理,共有以下三种类型的顶级域:

组织域:采用3个字符的代号,表示DNS域中所包含的主要功能或活动。比如,com为商业机构组织,edu为教育机构组织,gov为政府机构组织,mail为军事机构组织,net为网络机构组织,org为非盈利性机构组织,int为国际机构组织;

B、地址域:采用两个字符的国家或地区代号。如cn为中国,kr为韩国,us为美国;

C、反向域:这是个特殊域,名字为in-addr.arpa,用于将IP地址映射到名字(反向查询);

2、区(Zone),资源记录

区是DNS名称空间的一部分,其包含了一组存储在DNS服务器上的资源记录。

使用区的概念,DNS服务器回答关于自己区中主机的查询,每个区都有自己的授权服务器。

3、主域名服务器与辅助域名服务器

当区的辅助服务器启动时,它与该区的主控服务器进行连接并启动一次区传输,区辅助服务器定期与区主控服务器通信,查看区数据是否改变。如果改变了,它就启动一次数据更新传输。

4、辅助服务器的优点:

(1)容错能力

配置辅助服务器后,在该区主服务器崩溃的情况下,客户机仍能解析该区的名称。一般把区的主服务器和区的辅助服务器安装在不同的子网上,这样如果到一个子网的连接中断,DNS客户机还能直接查询另一个子网上的名称服务器。

(2)减少广域链路的通信量

如果某个区在远程有大量的客户机,用户就可以在远程添加该区的辅助服务器,并把远程的客户机配置成先查询这些服务器,这样就能防止客户机通过慢链路通信来进行DNS查询。

(3)减轻主服务器的负载

辅助服务器可以回答该区的查询,从而减少该区主服务器必须回答的查询数。

A、DNS服务器

运行DNS服务器程序的计算机,存储DNS数据库信息。DNS服务器会尝试解析客户机的查询请求。

B、DNS缓存

DNS服务器在解析客户机请求时,如果本地没有DNS信息,则可以会询问DNS服务器,当其他域名服务器返回查询结果时,该DNS服务器将结果记录在本地的缓存中,成为DNS缓存。当下一次客户机提交相同的请求时,DNS服务器能够直接使用缓存中的DNS信息进行解析。

5、DNS查询方式:递归查询和迭代查询

(1)递归查询

递归查询是一种DNS服务器的查询模式,在该模式下DNS服务器接受到客户机请求,必须使用一个准确的查询结果回复给客户机。如果DNS服务器本地没有存储查询DNS信息,那么该服务器会查询其他服务器,并将返回的查询结果提交给客户机。

(2)迭代查询

DNS服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS服务器并不直接回复查询结果,而是告诉客户机另一台DNS服务器地址,客户机再向这台DNS服务器提交请求,依次循环直到返回查询的结果为止。

总结:一般情况下,从PC客户端到本地DNS服务器是属于递归查询,而DNS服务器之间的交互查询就是迭代查询。

6、正向解析与反向解析

(1)正向解析

正向解析是指域名到IP地址的解析过程。

(2)反向解析

反向解析是从地址到域名的解析过程,反向解析的作用为服务器的身份认证。

7、DNS资源记录

(1)SOA资源记录

每个区在区的开始处都包含了一个起始授权记录(startof authority record),简称SOA记录。

SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。

(2)NS资源记录

NS(Name Server)记录是域名服务器记录,用来指定该域名由那个DNS服务器来进行解析,每个区在区根处至少包含一个NS记录。

(3)A资源记录

地址(A)资源记录把FQDN映射到IP地址。因为有此记录,所以DNS服务器能解析FQDN域名对应的IP地址。

(4)PTR资源记录

相对于A资源记录,指针(PTR)记录把IP地址映射到FQDN。用于反向查询,通过IP地址找到域名。

(5)CNAME资源记录

别名记录(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道真正的域名。

例:ping百度时,解析到了百度的别名服务器,百度有个cname=www.a.shifen.com.的别名。

(6)MX资源记录

邮件交换(MX)资源记录,为DNS域名指定的邮件交换服务器。

二、安装DNS

1、BIND简介

BIND全称为Berkeley Internet Name Domain(伯克利因特网名称域系统)。BIND主要有三个版本:BIND4、BIND8、BIND9

BIND8融合了许多提高效率、稳定性和安全性的技术,而BIND9增加了一些超前的理念:IPv6支持、密钥加密、多处理器支持、线程安全操作、增量区传送等等。

2、安装

[[email protected] Desktop]# rpm -ivh/mnt/Packages/ bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm

#改包为DNS服务器的主程序包

[[email protected]]# rpm -ivh/mnt/Packages/bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm

#提高安全性

#bind-chroot是bind的一个功能,使bind可以在一个chroot的模式下运行,也就是说,bind运行时的/(根)目录,并不是真正的/(根)目录,只是系统中的一个子目录而已。这样做的目的是为了提高安全性。因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步的提升,进入到系统的其他目录中。

[[email protected] Desktop]# rpm -ivh/mnt/Packages/bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm

#该包为客户端工具,默认安装,用于搜索域名指令。

3、DNS服务器相关配置文件

/etc/named.conf是BIND的核心配置文件,它包含了BIND的基本配置,但其并不包括区域数据

4、启动服务

(1)要先启动named服务,否则/var/named/chroot/目录下的文件不会被挂载上

[[email protected] Desktop]# /etc/init.d/namedstart

[[email protected] Desktop]# mount

……

/etc/named on /var/named/chroot/etc/namedtype none (rw,bind)

/var/named on /var/named/chroot/var/namedtype none (rw,bind)

/etc/named.conf on/var/named/chroot/etc/named.conf type none (rw,bind)

/etc/named.rfc1912.zones on/var/named/chroot/etc/named.rfc1912.zones type none (rw,bind)

……..

(2)在客户端配置好DNS服务器地址

方法1:

[[email protected] Desktop]# cat/etc/resolv.conf

# Generated by NetworkManager

domain localdomain

search localdomain example.com

nameserver 192.168.18.129

方法2:

在/etc/sysconfig/network-scripts/ifcfg-eth0文件中添加以下内容:

DNS1=192.168.18.129

三、实战演练

例1:配置DNS服务器解析:zhang.cn

(1)修改配置文件

[[email protected] Desktop]# cd /var/named/chroot/etc

[email protected] etc]# vim named.conf

11        listen-on port 53 { any; };

12        listen-on-v6 port 53 { any; };

17        allow-query     { any; };

42 zone "zhang.cn" IN {

43        type master;

44        file "zhang.cn.zone";

45 };

注:也可以修改/etc/named.conf,但是为了安全起见,建议修改上述文件

此文件中整体分为以下三段:

Options:对全局生效

Zone:针对某个区域生效

(2)配置正向解析区域

[[email protected] etc]# cd/var/named/chroot/var/named/

[[email protected] named]# cp -p named.localhostzhang.cn.zone

[[email protected] named]# vim zhang.cn.zone

1$TTL 1D

2zhang.cn.       IN SOA  dns.zhang.cn. root.zhang.cn. (

3                                        0       ; serial

4                                        1D      ; refresh

5                                        1H      ; retry

6                                         1W      ; expire

7                                        3H )    ; minimum

8zhang.cn.       NS      dns.zhang.cn.

9dns.zhang.cn.   A       192.168.18.129

10www.zhang.cn.   A       192.168.18.129

11www1.zhang.cn.  CNAME   www.zhang.cn.

配置文件参数说明:

$TTL 1D   设置有效地址解析记录的默认缓存时间,默认为1天也就是1D;

#原来的@表示当前的域zhang.cn.,为了方便理解此处直接写为zhang.cn.

设置SOA记录为:dns.zhang.cn.           #在配置文件写域名时,都把.写上

域管理邮箱root.zhang.cn.             #由于@有其他的含义,所以此处用.代替@

  1. ;更新序列号,用于标识数据库的变换,可以在10位以内,如果存在辅助DNS区域,建议每次更新完数据库,手动加1;

    1D    ;刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天;

    1H    ;重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为1小时;

    1W   ;到期,失效时间,超过该时间仍无法更新数据库,则不再尝试,默认为一周;

    3H    ;设置无效地址解析记录(该数据库中不存在的地址)默认缓存时间。设置无效记录,最少缓存时间为3小时;

    SOA           区域授权起始记录,区域文件第一条记录,而且区域文件只能有一条;

    NS              域的授权名称服务器;

    MX            域的邮件交换器,要跟着一个优先级值,越小越高;

    A                IPV4主机地址;

    AAAA        IPV6主机地址;

    PTR           解析IP的指针;

    CNAME    定义别名记录;

    [[email protected] named]# ll zhang.cn.zone

    -rw-r----- 1 root named 269 Aug 28 20:21zhang.cn.zone

    [[email protected] named]# cd

    [[email protected] ~]# service named restart

    ##测试

    [[email protected] ~]# vim/etc/sysconfig/network-scripts/ifcfg-eth0

    5 DNS1=192.168.18.129

    [[email protected] ~]# /etc/init.d/networkrestart

    [[email protected] ~]# ping www.zhang.cn

    PING www.zhang.cn (192.168.18.129) 56(84)bytes of data.

    64 bytes from server1.example.com(192.168.18.129): icmp_seq=1 ttl=64 time=0.026 ms

    64 bytes from server1.example.com(192.168.18.129): icmp_seq=2 ttl=64 time=0.033 ms

    例2:使DNS支持递归查询

    [[email protected] ~]# vim/var/named/chroot/etc/named.conf

    18        recursion yes;             #默认是支持递归查询的

    19

    20 #      dnssec-enable yes;

    21 #      dnssec-validation yes;

    22 #      dnssec-lookaside auto;

    使DNS支持递归查询时,需要将以上三条内容注释,这样客户端才能通过这个DNS进行递归查询,把DNS加密通讯功能关闭,才可以和根服务器进行实时的迭代查询。

    [[email protected] ~]# /etc/init.d/named restart

    ##测试

    [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

    DNS1=192.168.18.129

    [[email protected] ~]# /etc/init.d/networkrestart

    [[email protected] ~]# ping www.baidu.com

    例3:DNS转发服务器

    [[email protected] ~]# vim/var/named/chroot/etc/named.conf

    20 #       dnssec-enable yes;

    21#       dnssec-validation yes;

    22#       dnssec-lookaside auto;

    23

    24        /* Path to ISC DLV key */

    25        forward  only;         #仅执行转发操作;(only,仅转发;first,先查找本地zone,再转发)

    26        forwarders {8.8.8.8;};      #指定转发查询请求的DNS服务器列表

    27

    28        bindkeys-file "/etc/named.iscdlv.key";

    29

    30        managed-keys-directory "/var/named/dynamic";

    31};

    #25,26两行应该加到option中

    [[email protected] ~]# /etc/init.d/named restart

    例4:搭建DNS主从服务器

    (1)搭建一个主DNS服务器A,文件配置如下:

    [[email protected] ~]# vim/var/named/chroot/etc/named.conf

    45 zone "zhang.cn" IN {

    46        type master;

    47        file "zhang.cn.zone";

    48        allow-transfer{192.168.18.0/24;};

    49};

    (2)从DNS服务器配置如下:

    [[email protected] ~]# rpm -ivh/mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm

    [[email protected] ~]# rpm -ivh/mnt/Packages/bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm

    [[email protected] ~]# rpm -ivh/mnt/Packages/bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm

    [[email protected] ~]# service named start

    [[email protected] ~]# vim/var/named/chroot/etc/named.conf

    10 options {

    11        listen-on port 53 { any; };

    12        listen-on-v6 port 53 { any; };

    17         allow-query     { any; };

    18        recursion yes;

    41 zone "zhang.cn." IN {

    42        type slave;

    43        file "slaves/zhang.cn.zone.file";

    44         masters{ 192.168.18.129; };

    45};

    注:重启DNS服务器时会在:/var/named/chroot/var/named/slaves文件夹下自动创建一个zhang.com.zone.file这个文件,此文件是从主DNS服务器上获取的数据。

    [[email protected] ~]# ls/var/named/chroot/var/named/slaves/

    [[email protected] ~]# service named restart

    [[email protected] ~]# ls/var/named/chroot/var/named/slaves/

    zhang.cn.zone.file

    [[email protected] ~]# ll/var/named/chroot/var/named/slaves/zhang.cn.zone.file

    -rw-r--r-- 1 named named 341 Aug 29 04:54/var/named/chroot/var/named/slaves/zhang.cn.zone.file

    例5:DNS实现负载均衡

    在例4的基础上操作

    [[email protected] ~]# vim/var/named/chroot/var/named/zhang.cn.zone

    [[email protected] ~]# /etc/init.d/named restart

    ##测试

  1. 例6:DNS主从密钥认证

    (1)保证主从服务器时间同步

    [[email protected] ~]# vim /etc/ntp.conf             #查看ntp服务器

    [[email protected] ~]# ntpdate 0.rhel.pool.ntp.orgiburst          #同步时间

    (2)在DNS服务器上生成密钥,进行主从认证

    [[email protected] named]# cd /var/named/chroot/

    [[email protected] chroot]# ls

    dev etc  usr  var

    [[email protected] chroot]# dnssec-keygen -ahmac-md5 -b 128 -n HOST zyz

    Kzyz.+157+50159

    -a hmac-md5             #采用hmac-md5加密算法

    -b 128                          #生成的密钥长度为128位

    -n                                #密钥类型,我们此处选择主机类型

    zyz                               #密钥名称

    [[email protected] chroot]# ls

    dev Kzyz.+157+50159.key      usr

    etc Kzyz.+157+50159.private  var

    [[email protected] chroot]# catKzyz.+157+50159.key

    zyz. IN KEY 512 3 157ZFE59lCbuD08q0hbIylvAg==

    [[email protected] chroot]# vim etc/named.conf

    45key zyzkey {

    46        algorithm hmac-md5;

    47        secret "ZFE59lCbuD08q0hbIylvAg==";

    48};

    49zone "zhang.cn" IN {

    50        type master;

    51        file "zhang.cn.zone";

    52        allow-transfer{key zyzkey;};

    53};

    [[email protected] named]# /etc/init.d/namedrestart

    ##检测

    [email protected] Desktop]# vim/var/named/chroot/etc/named.conf

    42key zyzkey {

    43        algorithm hmac-md5;

    44        secret "ZFE59lCbuD08q0hbIylvAg==";

    45};

    46zone "zhang.cn." IN {

    47        type slave;

    48         file "slaves/zhang.cn.zone.file";

    49        masters{ 192.168.18.129 key zyzkey; };

    50};

    [[email protected] Desktop]# rm -fr/var/named/chroot/var/named/slaves/zhang.cn.zone.file

    [[email protected] Desktop]# /etc/init.d/namedrestart

    [[email protected] Desktop]# ls/var/named/chroot/var/named/slaves/

    zhang.cn.zone.file

    附:

    dig/nslookup             #域名解析测试工具

时间: 2024-10-29 10:45:43

7.DNS服务的相关文章

DNS服务相关概念详解

实验环境:RHEL 32Bit DNS服务相关概念详解 DNS是一种域名解析服务,DNS服务的核心以及DNS服务的标准都是基于一个软件来实现的,这个软件叫做BIND(Berkeley Internet Name Domain),互联网上几乎所有的DNS服务都是由BIND来构建的,虽然也有其它的DNS服务构建标准,但是它们的使用语法以及工作机制都和BIND非常接近. ·Linux服务器和Windows服务器的比较 Linux服务器在没有SELinux的时候它的安全级别和Windows服务器的安全级

DNS服务配置及拓展(1)

DNS服务配置及拓展 一.DNS服务的信息说明: A##正向记录 PTR##反向,ip到域名 host -l example.com##查看域中的所有主机 dig -t soa example.com##辅助dns 软件包: bind DNS主配置目录:/var/named/chroot/ DNS主配置文件:/etc/named.conf DNS A记录存放目录:/var/named/chroot/var/named 二.如何配置dns正向解析: 1.vim /etc/named.conf#编辑

DNS服务解析,如何用bind构建主从架构的DNS服务器。

DNS(Domain Name System,域名系统) 在互联网上实现FQDN与IP地址的解析,这样避免了人们在访问站点时,记忆长串难懂的ip地址,只需要记忆人们容易理解的域名就行了. FQDN (Fully Qualified Domain Name,完全合格域名) FQDN------------------IP Address 正向解析 IP Address------------FQND 反向解析 简述工作原理: 我们大家都知道,全球一共有13台根节点服务器,当我们的DNS服务器收到一

部署用于全网的跨网段DHCP和DNS服务

管理部分 DHCP和DNS在同一台服务器上 登陆地址:ssh  root/192.168.20.210  密码:jyd315.com DHCP主配置文件:/etc/dhcp/dhcpd.conf  (定义网段及IP地址范围的地方) DNS主配置文件:/var/named/chroot/etc/named.conf (定义服务监听端口及地址) 4.查看各网段IP地址分配情况: cat  /var/lib/dhcpd/dhcpd.leases 安装和配置部分 系统环境CentOS6.5 yum –y

【详解】DNS服务工作原理、正反向解析和主从同步

目录: 一.理论部分 二.实验部分 ******************************理论部分*************************************** 正文: 一.什么是DNS服务. DNS服务是互联网的基础性服务之一.全称为Domain Name System(域名系统).DNS是因特网上作为域名和IP地址相互映射的一个分布式数据库,提供将域名转换成对应IP地址的信息条目,能够使用户更方便的通过域名(如baidu.com)去访问互联网,而不用去记住能够被机器直接

dns服务 很多问题,后续再研究

慕课网:http://www.imooc.com/video/5220 参考:http://jingyan.baidu.com/article/870c6fc32c028eb03fe4be30.html http://www.tuicool.com/articles/aUNzMfi http://www.07net01.com/linux/dnszhucongfuzhijiquyuchuansong_505144_1373161402.html http://wenku.baidu.com/vi

centos DNS服务搭建 第三十节课

centos  DNS服务搭建     第三十节课 上半节课 下半节课 一. DNS原理相关DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制.其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析. DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间备份使用TCP.全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器,DN

DNS服务的配置与验证

DNS服务的配置与验证 一.DNS的用途    DNS服务器(Domain Name System)即域名解析服务器,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. 二.DNS服务的安装 检查是否已安装bind软件 三.DNS的配置 基于案例的配置: 案例说明: 服务器IP:     192.

DNS服务的原理与配置

DNS服务的原理与配置    DNS是一组协议和服务,基本功能是在主机名与对应的IP地址之间建立映射管理. *主机名便于记忆 *数字形式的IP地址可能会由于各种原因而改变,而主机名可以保持不变. DNS的组成           根域:就是"."(点号),由Internet名称注册授权机构管理,该机构把域名空间各部分的管理责任分配给了连接到Internet的各个组织. 顶级域:根域的下级域,由Internet名称授权机构管理,有两种常见类型. *组织域:采用三个字符的代号,标识DNS域

DNS服务基础知识

一.DNS的基本概念 DNS:domain name server域名:www.baidu.com(主机名,FQDN,full qualified domain name,完全限定域名) 二.DNS的类型主DNS服务器:数据的修改 DNS服务器类型辅助DNS服务器:请求数据的同步serial numberrefreshretryexpirenagative answer TTL 缓存dns服务器转发器 三.资源记录 数据库中的,每一个条目称作一个资源记录(resource record RR)资