DNS服务的分析及主从配置

DNS服务

1.  什么是DNS

        1.1       dns的含义

                    dns:作为域名和IP地址相互映射的一个分布式数据库

                    域名解析:通过主机名,得到该主机名对应的IP地址的过程叫做域名解析(主机名解析) 协议与端口号:TCP和UDP协议,端口号:53

        1.2       dns的功能

    1.2.1 主机名:也即域名,一个IP地址都可以都有个主机名

    1.2.2 主机名到IP地址的映射方式:

          静态映射:每台设备上都配置主机到IP地址的映射,各个设备独立维护自己的映射表,而且只提供本设备使用(hosts)

动态映射:建立一套域名解析系统(DNS),只为专门的DNS服务器上配置主机到IP地址的映射需要主机名通信设备,首先要到DNS服务器查询主机所对应的IP地址


1.3 dns的重要性

      技术角度:dns是互联网大多数应用的实际寻址方式

      资源角度:域名是互联网上的身份标识,是不可重复的唯一标识资源

1.4 dns冗余

                  dns冗余即辅dns服务器,防止主服务器宕机或者无法访问。

1.5 域名分级

                   1.5.1分级:主机名.三级域名.二级域名.顶级域名. 注:最后有一个点代表的是根域,所有域名的起点,最后一个点常被省略。

                   1.5.2 域名代表常见例子:

顶级域名:cn中国;edu 教育机构;com 商业公司

二级域名:代表组织或公司名称

三级域名:代表组织或公司内部的主机名称

1.6dns管理

注:管理机制:根域名服务器管理顶级域名服务器,顶级域名服务器管理二级域名服务器,依次分层管理

     in-addr.arpa : 逆向解析域(逆向域名解析)

      stanford、mit:教育机构域名(斯坦福、麻省理工)

1.7dns域名查询

1、采用递归解析:本地DNS服务器向根域名服务器发出请求,根域名服务器对本地域名服务的请求进行解析,得到记录再给本地DNS服务器,本地DNS服务器将记录缓存,并将记录返给客户机。

2、采用迭代解析:本地DNS服务器向根域名服务器发出请求,根域名服务器返回给本地域名服务器一个能够解析请求的根的下一级域名服务器的地址,本地域名服务器再向根返回的IP地址发出请求,最终得到域名解析记录。


2. 什么是DNS服务器

1.master(主DNS服务器):拥有区域数据的文件,并对整个区域数据进行管理。

2.slave(从服务器或叫辅助服务器):拥有主DNS服力器的区域文件的副本,辅助

DNS服务器对客户端进行解析,当主DNS服务器坏了后,可以完全接替主服务器的工作。

3.forward:将任何查询请求都转发给其他服务器。起到一个代理的作用。

4.cache:缓存服务器。

5. hint:根DNSinternet服务器集。

2.1dns服务器的含义

                   Dns服务器:计算机域名系统(Domain Name System or Server)

2.2 dns服务器的构成

 

 

域名服务器:保存有该网络中所有主机的域名和对应的IP地址,并具有将域名转换为IP地址功能的服务器。一个域名对应一个IP或者多个IP,IP不一定有域名。分为:主服务器和转发服务器。

域名解析器:协商使用递归服务,使用查询头位。通常需要遍历多个名称服务器才能找到所需的信息

3.  部署DNS主从服务器

这里部署DNS主从服务器我以一个案例来进行

案例:随着一家公司的扩张,计算机越来越多,现在公司决定采用DNS解决方案来解决公司内部服务器IP地址的域名问题。这个域使用 abc.com正向解析域,网络采用的私有网络地址为:172.16.0.0/16

    3.1  部署主域名服务器

            3.1.1     安装软件

Yum–y install bind

Yum–y install bind-chroot

Yum–y install bind-utils

注: bind : linux下dns服务的主程序

bind-chroot :bind运行的根目录,是系统的一个子目录(为了提高安全性)

bind-utils : bind软件提供的一组DNS工具包(其中工具有:dig、host、nslookup、nsupdate等)

            3.1.2     修改主配置文件

                        由于为了安全,已经安装了bind-chroot,所以所有的配置文件必须在chroot的目录下进行

将配置文件named.conf拷贝到chroot的/etc目录下

[[email protected]~]# cp /etc/named.conf /var/named/chroot/etc/
[[email protected]~]# chown root.named /var/named/chroot/etc/named.conf

修改配置文件

[[email protected]~]# vim /var/named/chroot/etc/named.conf、
options {
        listen-onport 53 { 127.0.0.1; };//监听IPv4端口
       listen-on-v6 port 53 { ::1; };//监听IPv6端口
       directory      "/var/named";//设置域名服务的工作目录
       dump-file      "/var/named/data/cache_dump.db";//运行rndc dumpdb备份缓存资料后保存的文件路径和名称
        statistics-file"/var/named/data/named_stats.txt";//运行rndcstats后,统计信息的保存路径与名称
       memstatistics-file "/var/named/data/named_mem_stats.txt";
       allow-query     { localhost; };//指定哪些主机可以查询服务器的权威解析记录
        recursionyes;//是否允许递归查询
 
       dnssec-enable yes;//
       dnssec-validation yes;
       dnssec-lookaside auto;
 
        /* Pathto ISC DLV key */
       bindkeys-file "/etc/named.iscdlv.key";
 
       managed-keys-directory "/var/named/dynamic";
};
 
acl secondserver{
       172.16.0.253;
};
 
logging {
        channeldefault_debug {
               file "data/named.run";
               severity dynamic;
        };
};
 
zone "." IN {                                 //“.”代表根区域 
        typehint;                         //根区域的类型为hint
        file"named.ca";                //指定zone文件,默认已经成
};
 
include "/etc/named.rfc1912.zones";
include"/etc/named.root.key";

定义根区域和自定义区域

[[email protected]~]# vi /etc/named.rfc1912.zones
#添加自定义区域(定义正向解析文件):
zone "abc.com" IN {
        typemaster;//定义服务器类型
       allow-transfer { secondserver; };//哪些服务器可以从主服务器下载数据文件
        file"abc.com.zone";//指定正向解析文件名
};
 
zone "16.172.in-addr.arpa" IN {
        typemaster;
       allow-transfer { secondserver; };
        file"172.16.zone";//反向解析文件名
};

              3.1.3   创建区数据文件 

创建正向解析abc.com.zone域数据文件并修改用户和组

[[email protected] ~]# cd/usr/share/doc/bind-9.8.2/sample/var/named/
[[email protected] named]# cp named.ca/var/named/chroot/var/named/
[[email protected] named]# chown root.named/var/named/chroot/var/named/named.ca 
[[email protected] named]# cp named.localhost/var/named/chroot/var/named/abc.com.zone[[email protected] named]# chownroot.named /var/named/chroot/var/named/abc.com.zone

 编辑abc.com.zone

[[email protected] named]# vim/var/named/chroot/var/named/abc.com.zone 
       mail.abc.com. IN A 172.16.0.2
$TTL 1D    //查询结果在外DNS服务器上的缓存时间,以秒为单位
@       INSOA  dns1.abc.com. jacob.abc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H)    ; minimum
        NS      dns1.abc.com.
        NS      dns2.abc.com.
        MX10   mail.abc.com.
        dns1    IN A 172.16.0.254
        dns2    IN A 172.16.0.253
       ntp.abc.com. IN A 172.16.0.22
       mail.abc.com. IN A 172.16.0.25
       fileserver      IN A 172.16.0.200
       printserver     IN A 172.16.0.101
        www     IN A 172.16.0.200    
注:开头格式:[zone] IN SOA [主机名] [管理员email]       
          SOA记录(起始授权机构)NS (NameServer)记录 (域名服务器)    
mail: 一般指管理员的邮箱,用”.”代替了”@”结尾加上”.”
   NS:表示这个主机是一个域名服务器
  A:定义了一条A 记录,即主机名到IP地址对应记录
 MX:定义了一条邮件记录
CNAME:定义了对应主机的一个别名
Type类型有三种:masterslave hint :  
Master:表示定义的是主域名服务器
Slave:表示定义的是辅助域名服务器
Hint:表示是互联网中根域名服务器
Zone:关键字定义域区,一个zone定义一个域区
PTR:记录用来解析IP地址对应的域名
内容注释:
Serial:其格式通常会是“年月日+修改次序,当slave要进行资料同步时会比较这个号码。如果发现这里的号码比它边的数值“大”就进行更新,否则葫芦。不能超过10位数字
Refresh:告诉slave要隔多久要进行资料同步(是否同步看serial的比较结果)。
Retry:如果slave在进行更新失败后,要隔多久再进行重试。
Expire:这里是记录逾期时间当slave一直未能成功与master取得联系,那到这里就放弃retry,同时这里的资料也将标识过期(expire)
Minimum:这是最小默认TTL值,如果前面没有用”$TTL”来定义,就以此值为准。

配置反向解析域172.16.zone

[[email protected] named]# vim/var/named/chroot/var/named/172.116.zone
$TTL 1D
@  IN SOAdns1.abc.com. jacob.abc.com. (
               10      ; serial
               1D      ; refresh
               1H      ; retry
               1W      ; expire
               3H )    ; minimum
        NS  dns1.abc.com.
        NS  dns2.abc.com.
254.0   INPTR  dns1.abc.com.
253.0   INPTR  dns2.abc.com.
22.0    INPTR  ntp.abc.com.
25.0           IN PTR  mail.abc.com.
100.0   INPTR  fileserver.abc.com.
101.0   INPTR  printserver.abc.com.
200.0   INPTR  www.abc.com.
201.0  IN PTR  www.abc.com.

            3.1.3     启动服务

    [[email protected]]# service named start
[[email protected]]# chkconfig named on

            3.1.4    验证服务

查询工具:nslookup、dig、host

    [[email protected]~]# nslookup www.abc.com
[[email protected]~]# host www.abc.com
[[email protected]~]# dig abc.com MX

        3.2 部署从域名服务器

                3.2.1     安装dns软件

    [[email protected]~]# yum -y install bind
[[email protected]~]# yum -y install bind-chroot
[[email protected]~]# yum -y install bind-utils

                3.2.2    修改配置文件

将配置文件named.conf拷贝到chroot的/etc目录下

[[email protected]~]# cp /etc/named.conf /var/named/chroot/etc/
[[email protected]~]# chown root.named /var/named/chroot/etc/named.conf

修改主配置文件

options {
        listen-onport 53 { any; };
       listen-on-v6 port 53 { ::1; };
       directory      "/var/named";
       dump-file      "/var/named/data/cache_dump.db";
       statistics-file "/var/named/data/named_stats.txt";
       memstatistics-file "/var/named/data/named_mem_stats.txt";
       allow-query     { any; };
        recursionyes;
 
        dnssec-enableyes;
       dnssec-validation yes;
       dnssec-lookaside auto;
 
        /* Pathto ISC DLV key */
       bindkeys-file "/etc/named.iscdlv.key";
 
       managed-keys-directory "/var/named/dynamic";
};
 
logging {
        channeldefault_debug {
                file "data/named.run";
               severity dynamic;
        };
};
 
zone "." IN {
        typehint;
        file"named.ca";
};
 
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

修改数据区域文件

[[email protected] ~]# vim/etc/named.rfc1912.zones
#添加以下内容:
zone "abc.com" IN {
        typeslave;
        masters {172.16.0.254; };
        file"abc.com.zone";
 
};
 
zone "16.172.in-addr.arpq" IN {
          typeslave;
        masters {172.16.0.254; };
        file"172.16.zone";

创建slaves目录并启动slave服务

[[email protected] ~]# mkdir -p/var/named/chroot/var/named/slaves
[[email protected] ~]# chmod 775/var/named/chroot/var/named/slaves/
[[email protected] ~]# service named start

这篇文章完成的经历是非常的坎坷,由于杂事缠身,写写停停。哎`~。自己感觉都有点生疏,博文先发,自己在重新梳理一遍并纠错,感觉后面的配置文件写的还是不够详细……

本篇博文主要参考了丁明一前辈的<<linux运维之道>>而写成的。其中可能一些细节会有点问题!希望各位朋友能够指出其中的不足与错误,非常感谢大家的指导。

时间: 2024-10-17 18:00:15

DNS服务的分析及主从配置的相关文章

DNS服务基础及bind基础配置和应用

DNS服务基础及bind基础配置和应用  DNS服务基础011.DNS:Domain   Name  Service,  ( 应用层协议)2.tld:Top Level Domain 顶级域(1)顶级域中的组织域.com  (company).net    网络组织.org非盈利型组织   org:other  organizations.gov  government.edu    教育机构.mil   military军事的,军队,军人...(2)顶级域中的国家域.tw   .hk  .cn

DNS(二)--正反解析及主从配置

实验题目: 1.DNS的正反向解析 2.DNS的主从同步 实验环境: 1.VMware虚拟机 2.两台以上linux子机 3.XP测试机 实验过程: 一.DNS的正反向解析 实验拓扑:     说明:其实这里面不需要指定网关,只是为了好看就设定了吧.服务器的DNS指向自己.要不然用ping的时候ping不通. 目的就是要让客户端用域名解析到IP或用IP解析到域名.这里只是为了测试,实际情况下,反解风险很大,慎用! 1.服务器端: 安装DNS服务器(bind),挂载光盘镜像 安装bind服务和bi

第十八天 DNS服务原理及bind详细配置

1.DNS服务原理详解 2.DNS服务原理详解 3.bind基本配置详解 一.DNS 服务 Domain name server 域名服务,工作在53号端口,查询时使用udp协议,传输时使用tcp协议. FQDN (Full Qualified Domain Name)完全合格域名 根域:root domain   如:.                        一级域:top-level domain  如: com\net\cn\ gov\org\mil\edu\cc\info   

DNS服务编译安装,及配置

DNS服务是域名转换服务. 原理及功能可以参考http://kmk0226.blog.51cto.com/5975994/1678180 今天的博客是介绍DNS服务的编译安装,以及安装之后如何配置DNS服务,让服务能正常运行. 在Linux系统中,DNS服务在Bind这个程序中配置的. 首先,要编译安装DNS服务,需要先去下载源码包. 源码包可以在bind官方网站下载 bind官方站点:www.isc.org 有9.9.X与9.10.X的版本,我们这里以9.9.X的版本来编译安装. X代表子版本

Redis安装及主从配置(转)

一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入

DNS服务之正反向解析、主从服务配置

要想使用DNS服务进行解析,需要安装bind.bind-libs.bind-utils这三个程序包. bind: 服务脚本:/etc/rc.d/init.d/named 主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key 解析库文件:/var/named/ZONE_NAME.ZONE 注意: (1) 一台物理服务器可同时为多个区域提供解析: (2) 必须要有根区域文件:named.ca (3) 应该有两个(如果包括ipv6

Centos DNS服务(二)-bind主从配置与基于TSIG加密的动态更新

DNS的主从配置 DNS从服务器也叫辅服DNS服务器,如果网络上某个节点只有一台DNS服务器的话,首先服务器的抗压能力是有限的,当压力达到一定的程度,服务器就可能会宕机罢工,其次如果这台服务器出现了硬件故障那么服务器管理的区域的域名将无法访问.为了解决这些问题,最好的办法就是使用多个DNS服务器同时工作,并实现数据的同步,这样两台服务器就都可以实现域名解析操作. 从服务器要点 1.应该为一台独立的名称服务器 2.主DNS服务器的区域解析库文件中必须有一条NS记录指向从服务器 3.从DNS服务器只

DNS服务和Bind配置

 一.DNS介绍    DNS是计算机域名系统(Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器.其中域名必须对应一个IP地址,一个IP地址可以有多个域名,而IP地址不一定有域名.域名系统采用类似目录树的等级结构.域名服务器通常为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器.将域名映射为IP地址的过

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

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