CentOS6服务管理之DNS-主从DNS服务器的搭建

接上一篇:CentOS6服务管理之DNS-本地DNS服务器的搭建

下面我们来搭建主从DNS服务器

实验环境:

CentOS release 6.6(Final)  两台

IP地址:

172.16.31.3      DNS1        主DNS服务器端

172.16.31.4      DNS2        从DNS服务器端

我们要架设一个DNS服务器一般需要下面三个软件程序包:

bind-libs.x86_64      #提供库文件

bind-utils.x86_64     #提供工具包

bind.x86_64           #提供主程序包

我还没使用安全套件,所以没有使用bind-chroot程序包。

chroot 环境为了系统的安全性考虑,一般来说目前各主要 distributions 都已经自动的将你的 bind 相关程序给他 chroot 了。

在上一篇博客中我已经搭建好了一个本地DNS服务器,能够实现正向反向解析,那么我们只需要加入一台从DNS服务器即可完成,我们来开始配置主从服务器:

一.主DNS服务器上面的额外配置:

[[email protected] named]# cat oracle.com.zone
$TTL 600
$ORIGIN oracle.com.
@      IN      SOA     ns.oracle.com.  root.oracle.com. (
                        2014121002      ;serial
                        1D              ;refresh
                        5M              ;retry
                        1W              ;expiry
                        1H)             ;minimum
@      IN      NS      ns.oracle.com.
       IN      NS      ns1.oracle.com.
       IN      MX  5  mail.oracle.com.
ns     IN      A       172.16.31.3
ns1    IN      A       172.16.31.4
www    IN      A       172.16.31.3
www    IN      A       172.16.31.4
mail   IN      A       172.16.31.3
pop3   IN      A       172.16.31.3
iamp4  IN      A       172.16.31.3

二.从DNS服务器的配置

切记需要安装好bind包哦!

主配置文件的配置:

我们可以将主DNS服务器的主配置文件/etc/named.conf复制一份到从DNS服务器上,方便,很偷懒的做法—_—!

测试主从之间的网络连通性:

[[email protected] ~]# ping -c 3 172.16.31.3
PING 172.16.31.3 (172.16.31.3) 56(84) bytesof data.
64 bytes from 172.16.31.3: icmp_seq=1ttl=64 time=2.16 ms
64 bytes from 172.16.31.3: icmp_seq=2ttl=64 time=0.519 ms
^C
--- 172.16.31.3 ping statistics ---
2 packets transmitted, 2 received, 0%packet loss, time 1306ms
rtt min/avg/max/mdev = 0.519/1.343/2.167/0.824ms

复制主DNS服务器的主配置文件到从服务器:

[[email protected] ~]# [email protected]:/etc/named.conf /etc/named.conf
The authenticity of host ‘172.16.31.3(172.16.31.3)‘ can‘t be established.
RSA key fingerprint isb8:a4:da:03:91:67:32:2f:d5:72:0b:77:3b:6f:ba:30.
Are you sure you want to continueconnecting (yes/no)? yes
Warning: Permanently added ‘172.16.31.3‘(RSA) to the list of known hosts.
[email protected]‘s password:
named.conf                                                                                                                          100%1008     1.0KB/s   00:00

查看配置文件,详细说明在上一篇博客:

[[email protected] ~]# cat /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package toconfigure the ISC BIND named(8) DNS
// server as a caching only nameserver (asa localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ forexample named configuration files.
//
 
options {
       //listen-on port 53 { 127.0.0.1; };
       //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; };
       recursion yes;
 
       dnssec-enable no;
       dnssec-validation no;
       dnssec-lookaside no;
 
       /* Path to ISC DLV key */
       /*bindkeys-file "/etc/named.iscdlv.key";
 
       managed-keys-directory "/var/named/dynamic";
       */
};
 
logging {
       channel default_debug {
                file"data/named.run";
                severity dynamic;
       };
};
 
zone "." IN {
       type hint;
       file "named.ca";
};
 
include"/etc/named.rfc1912.zones";
include "/etc/named.root.key";

从服务器区域配置文件:/etc/named.rfc1912.zones

在下面添加一个从DNS区域:

由于从服务器上/var/named/目录的权限是属主root属组named,且属组named没有写权限;如果给这个目录写权限就会造成系统的不安全;所以软件定义了目录下有个slaves文件,来保存从主服务器接收的配置文件

[[email protected] named]# vim/etc/named.rfc1912.zones
zone "oracle.com" IN {
       type slave;
       file "slaves/oracle.com.zone";
       masters { 172.16.31.3; };
};
 
zone "31.16.172.in-addr-arpa" IN{
       type slave;
       file "slaves/172.16.31.zone";
       masters { 172.16.31.3; };
};

检查一下语法正确与否:

[[email protected] named]# named-checkconf
[[email protected] named]# named-checkconf/etc/named.rfc1912.zones

三.从DNS服务器启动和错误解析

[[email protected] named]# service named start
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                           [  OK  ]

我写错了配置文件将31.16.172.in-addr.arpa写成了31.16.172.in-addr-arpa来进行排错:

我们查看一下从服务器的日志,从日志中可以看出有传输错误:

[[email protected] named]# tail /var/log/messages
Dec 10 09:31:30 dns2 named[25953]: zonelocalhost/IN: loaded serial 0
Dec 10 09:31:30 dns2 named[25953]:managed-keys-zone ./IN: loaded serial 0
Dec 10 09:31:30 dns2 named[25953]: running
Dec 10 09:31:30 dns2 named[25953]: error(network unreachable) resolving ‘./DNSKEY/IN‘: 2001:500:1::803f:235#53
Dec 10 09:31:30 dns2 named[25953]: error(network unreachable) resolving ‘./NS/IN‘: 2001:500:1::803f:235#53
Dec 10 09:31:30 dns2 named[25953]: zone31.16.172.in-addr-arpa/IN: refresh: non-authoritative answer from master172.16.31.3#53 (source 0.0.0.0#0)
Dec 10 09:31:31 dns2 named[25953]: zoneoracle.com/IN: Transfer started.
Dec 10 09:31:31 dns2 named[25953]: transferof ‘oracle.com/IN‘ from 172.16.31.3#53: connected using 172.16.31.4#55664
Dec 10 09:31:31 dns2 named[25953]: zoneoracle.com/IN: transferred serial 2014121001
Dec 10 09:31:31 dns2 named[25953]: transferof ‘oracle.com/IN‘ from 172.16.31.3#53: Transfer completed: 1 messages, 10records, 254 bytes, 0.006 secs (42333 bytes/sec)

从DNS服务器从主DNS服务器接收正向反向区域解析库文件到本地slaves目录,但是传输成功的只有正向区域文件,进行排错。

然后我在主DNS上重启服务了:

[[email protected] named]# service named restart
Stopping named:                                            [  OK  ]
Starting named:                                           [  OK  ]
[[email protected] named]# tail /var/log/messages
Dec 10 09:32:57 dns1 named[26720]: zone31.16.172.in-addr.arpa/IN: loaded serial 2014121001
Dec 10 09:32:57 dns1 named[26720]: zone1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN:loaded serial 0
Dec 10 09:32:57 dns1 named[26720]: zoneoracle.com/IN: loaded serial 2014121002
Dec 10 09:32:57 dns1 named[26720]: zonelocalhost.localdomain/IN: loaded serial 0
Dec 10 09:32:57 dns1 named[26720]: zonelocalhost/IN: loaded serial 0
Dec 10 09:32:57 dns1 named[26720]:managed-keys-zone ./IN: loaded serial 6
Dec 10 09:32:57 dns1 named[26720]: running
Dec 10 09:32:57 dns1 named[26720]: zoneoracle.com/IN: sending notifies (serial 2014121002)
Dec 10 09:32:57 dns1 named[26720]: client172.16.31.4#53252: transfer of ‘oracle.com/IN‘: AXFR-style IXFR started
Dec 10 09:32:57 dns1 named[26720]: client172.16.31.4#53252: transfer of ‘oracle.com/IN‘: AXFR-style IXFR ended

从上面的日志中看出传输完成的只有“oracle.com.zone”文件,而”31.16.172.in-addr-arpa“这个区域的认证文件没有应答;传输是主DNS主动增量更新文件并推送文件到从服务器的。

我们将/etc/named.rfc1912.zones文件中的错误修复,再次重置一下named服务:

[[email protected] named]# service named reload
Reloading named:                                           [ OK  ]
[[email protected] named]# tail/var/log/messages     
Dec 10 09:40:53 dns2 named[25953]: usingdefault UDP/IPv6 port range: [1024, 65535]
Dec 10 09:40:53 dns2 named[25953]: sizingzone task pool based on 8 zones
Dec 10 09:40:53 dns2 named[25953]: Warning:‘empty-zones-enable/disable-empty-zone‘ not set: disabling RFC 1918 empty zones
Dec 10 09:40:53 dns2 named[25953]: zone31.16.172.in-addr-arpa/IN: (slave) removed
Dec 10 09:40:53 dns2 named[25953]:reloading configuration succeeded
Dec 10 09:40:53 dns2 named[25953]:reloading zones succeeded
Dec 10 09:40:53 dns2 named[25953]: zone31.16.172.in-addr.arpa/IN: Transfer started.
Dec 10 09:40:53 dns2 named[25953]: transferof ‘31.16.172.in-addr.arpa/IN‘ from 172.16.31.3#53: connected using 172.16.31.4#37022
Dec 10 09:40:53 dns2 named[25953]: zone31.16.172.in-addr.arpa/IN: transferred serial 2014121001
Dec 10 09:40:53 dns2 named[25953]: transferof ‘31.16.172.in-addr.arpa/IN‘ from 172.16.31.3#53: Transfer completed: 1messages, 10 records, 268 bytes, 0.001 secs (268000 bytes/sec)

从上面看出我们的反向区域解析库文件传输成功了。

错误解决。

查看一下有米有传过来:

[[email protected] named]# ls slaves/
172.16.31.zone  oracle.com.zone

四.从DNS服务器测试

除了dig命令和host命令,还有nslookup命令可以测试DNS服务器的状态,并且windows平台也有这个工具,我们就先在windows物理机平台来测试一下哦!

成功是成功了!但是反向解析的时候ns1.oracle.com去哪里了哦@[email protected]!

原来我们在主服务器上只配置了正向区域解析库文件;反向区域解析库文件忘记配置了o(∩_∩)o 哈哈

我们去配置一下哦@

[[email protected] named]# cat 172.16.31.zone
$TTL 600
$ORIGIN 31.16.172.in-addr.arpa.
@      IN      SOA     ns.oracle.com.  root.oracle.com. (
                        2014121002      ;serial
                        1D              ;refresh
                        5M              ;retry
                        1W              ;expiry
                        1H)             ;minimum
@      IN      NS      ns.oracle.com.
       IN      NS      ns1.oracle.com.
       IN      MX   5 mail.oracle.com.
3      IN      PTR     ns.oracle.com.
4      IN      PTR     ns1.oracle.com.
3      IN      PTR     www.oracle.com.
4      IN      PTR     www.oracle.com.
3      IN      PTR     mail.oracle.com.
3      IN      PTR     pop3.oracle.com.
3      IN      PTR     iamp4.oracle.com.

注意:序列号要加1 哦@

由于更改了配置文件,需要重启服务哦!

[[email protected] named]# service named restart
Stopping named:                                           [  OK  ]
Starting named:                                           [  OK  ]
[[email protected] named]# tail /var/log/messages
Dec 10 09:59:39 dns1 named[26814]: zone1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN:loaded serial 0
Dec 10 09:59:39 dns1 named[26814]: zoneoracle.com/IN: loaded serial 2014121002
Dec 10 09:59:39 dns1 named[26814]: zonelocalhost.localdomain/IN: loaded serial 0
Dec 10 09:59:39 dns1 named[26814]: zonelocalhost/IN: loaded serial 0
Dec 10 09:59:39 dns1 named[26814]:managed-keys-zone ./IN: loaded serial 6
Dec 10 09:59:39 dns1 named[26814]: running
Dec 10 09:59:39 dns1 named[26814]: zone31.16.172.in-addr.arpa/IN: sending notifies (serial 2014121002)
Dec 10 09:59:39 dns1 named[26814]: zoneoracle.com/IN: sending notifies (serial 2014121002)
Dec 10 09:59:39 dns1 named[26814]: client172.16.31.4#39152: transfer of ‘31.16.172.in-addr.arpa/IN‘: AXFR-style IXFRstarted
Dec 10 09:59:39 dns1 named[26814]: client172.16.31.4#39152: transfer of ‘31.16.172.in-addr.arpa/IN‘: AXFR-style IXFRended

我们再次测试一下反向解析哦!

从上面看解析都是成功的哦!

 

其实也可以使用Linux里面的命令来测试の!o(∩_∩)o 哈哈

到这里我们的构建主从DNS服务器就完成了!

接下来将介绍一下BIND程序中的RNDC和BIND的安全配置

时间: 2024-12-15 07:01:15

CentOS6服务管理之DNS-主从DNS服务器的搭建的相关文章

CentOS6服务管理之WEB-httpd用户认证控制和https在httpd上的实现

通过上面两篇博客 CentOS6服务管理之WEB-http协议详解 CentOS6服务管理之WEB-Apache httpd配置文件详解 我们学习了Apache httpd的基础知识,下面我们就可以通过设置用户认证和实现https加密传输的实验来配置httpd了,下面是本次实验的要求: 实验环境: CentOS release6.6(Final)   1台 Windows XP             1台 IP地址: 172.16.31.31      www.stu31.com       

CentOS6服务管理之DNS-本地缓存DNS服务器

实验环境: CentOS release 6.6(Final)  两台 IP地址: 172.16.31.3      DNS1 172.16.31.4      DNS2 我们要架设一个本地dns缓存服务器一般需要下面三个软件: bind-libs.x86_64      #提供库文件 bind-utils.x86_64     #提供工具包 bind.x86_64           #提供主程序包 确认安装: [[email protected] ~]# rpm -qa bind-libs

CentOS6服务管理之DNS-RNDC管理DNS的实现

RNDC管理DNS的实现 rndc:(Remote NameDomain Controller)基于套接字与named服务通信,控制named服务完成特定操作.是指通过bind 软件引进的远程控制通道,代替unix 信号来控制 named 进程,可以用来对配置进行重新载入,是一款安全软件. rndc 通过一个 TCP 连接与域名服务器通信,发送经过数字签名认证的命令.在当前版本的rndc 和 named 中,唯一支持的认证算法是 HMAC-MD5,在连接的两端使用共享密钥.它为命令请求和名字服务

CentOS6服务管理之DNS-源码安装Bind-9.10

源码安装bind 1.准备源码包: bind官网:http://www.isc.org/downloads/bind/ [[email protected] ~]#ll -rw-r--r--   1 root root 8356463 Dec 11 11:16 bind-9.10.1-P1.tar.gz 2.编译环境正常,未安装rpm的bind程序包 [[email protected] ~]#yumgroupinstall Development tools [[email protected

CentOS6服务管理之WEB-Apache httpd配置文件详解

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器,可以在大多数电脑操作系统中运行,由于其跨平台和安全性.被广泛使用,是最流行的Web服务器端软件之一.它快速.可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中. 其程序包是httpd: [[email protected] ~]# rpm -qa httpd httpd-2.2.15-39.el6.centos.x86_64 httpd是yum安装或者是rpm

CentOS6服务管理之WEB-http协议详解

超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识.收录在RFC 2616中. 注: 1.Request For Comments(RFC),是一系列以编号排定的文件.文件收集了有关互联网相关信息,以及UNIX和互联网社区

Windows Server 2012的服务管理自动化 -启动类型设置,手动启动还是自动启动

Windows Server 2012的服务管理自动化 标签:Windows 服务器 IDC机房 Windows Server 2012 一.场景描述: 运行着关键业务的windows服务器或托管在IDC机房,或宿主在自家公司的机房(DC),无论哪一种服务器管理方式,都会面临这样的情境:当运行的关键业务的服务停掉后,即使离数据中心很近,也无法及时处理,更何况出差在外或是旅行当中呢?! 基于以上,那,有没有一种方式可以自动化的管理服务呢,当服务当掉后,可以自动的无人工参于的情况下第一时间侦测到服务

CentOS6.6搭建DNS及主从DNS服务搭建

DNS搭建及主从DNS构建 DNS工作原理 DNS解析的作用 我们访问网络时,通常采用浏览器访问web站点,一般通过http://www.baidu.com或baidu.com等域名方式访问,也可以通过http://百度IP:端口进行访问,以前者常用,那么域名方式访问时怎么实现的呢?这就需要通过DNS服务器来解析了: DNS解析方式 正向解析: 根据域名查找其对应的IP地址:目前最常用的方式: 反向解析: 根据IP地址解析其对应的域名:一般应用于安全防护等领域: DNS的分布结构 DNS分布结构

主从DNS服务器的搭建

一.DNS主从的理解 主从服务器,在一开始的理解中,以为是主的dns服务器挂掉后,(dns服务自动转向辅助dns服务器),客户端还能继续解析.事实貌似不是这样的.当我把主dns停掉的时候,客户端只设一个dns服务器后,事实证明,解析是失败的.但当我将客户端的dns服务器切换到从dns的ip上后,解析是正常的.说明,从服务器只是同步了主服务器解析域的文件. 本案例的环境: 系统:Centos6.5 IP: 主DNS 192.168.40.105 从DNS 192.168.40.170 iptabl