linux rhel dns配置,RedHat Linux DNS配置指南

配置辅助DNS服务器

主DNS的东西和辅助DNS东西其实是相同的

一.安装软件包

[root@beiku2 soft]# rpm -qa | grep bind

bind-chroot-9.3.6-4.P1.el5

kdebindings-3.5.4-6.el5

system-config-bind-4.0.3-4.el5

ypbind-1.19-12.el5

bind-libs-9.3.6-4.P1.el5

bind-9.3.6-4.P1.el5

bind-utils-9.3.6-4.P1.el5

[root@beiku2 soft]# rpm -ivh kdebindings-devel-3.5.4-6.el5.i386.rpm

warning: kdebindings-devel-3.5.4-6.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

1:kdebindings-devel      ########################################### [100%]

[root@beiku2 soft]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm

warning: caching-nameserver-9.3.6-4.P1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

1:caching-nameserver    ########################################### [100%]

[root@beiku2 soft]# rpm -ivh bind-sdb-9.3.6-4.P1.el5.i386.rpm

warning: bind-sdb-9.3.6-4.P1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

1:bind-sdb              ########################################### [100%]

[root@beiku2 soft]# rpm -ivh bind-libbind-devel-9.3.6-4.P1.el5.i386.rpm

warning: bind-libbind-devel-9.3.6-4.P1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

1:bind-libbind-devel    ########################################### [100%]

[root@beiku2 soft]# rpm -ivh bind-devel-9.3.6-4.P1.el5.i386.rpm

warning: bind-devel-9.3.6-4.P1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

1:bind-devel            ########################################### [100%]

二.复制模板文件

[root@beiku2 /]# cd /var/named/chroot/etc

[root@beiku2 etc]# ls -lrt

total 24

-rw-r--r-- 1 root root  3519 Feb 27  2006 localtime

-rw-r----- 1 root named  955 Jul 30  2009 named.rfc1912.zones

-rw-r----- 1 root named 1230 Jul 30  2009 named.caching-nameserver.conf

-rw-r----- 1 root named  113 Nov 15  2014 rndc.key

[root@beiku2 etc]# cp -p named.caching-nameserver.conf named.conf

三.编辑named.conf文件

[root@beiku2 etc]# vi named.conf

//

// named.caching-nameserver.conf

//

// Provided by Red Hat caching-nameserver package to configure the

// ISC BIND named(8) DNS server as a caching only nameserver

// (as a localhost DNS resolver only).

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//

// DO NOT EDIT THIS FILE - use system-config-bind or an editor

// to create named.conf - edits to this file will be lost on

// caching-nameserver package upgrade.

//

options {

listen-on port 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";

// Those options should be used carefully because they disable port

// randomization

// query-source    port 53;

// query-source-v6 port 53;

allow-query    { 10.138.130.0/24; };

allow-query-cache { any; };

};

logging {

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

view localhost_resolver {

match-clients      { 10.138.130.0/24; };

match-destinations { any; };

recursion yes;

include "/etc/named.rfc1912.zones";

};

和主DNS配置一样

四.定义zone文件

[root@beiku2 etc]# vi named.rfc1912.zones

// named.rfc1912.zones:

//

// Provided by Red Hat caching-nameserver package

//

// ISC BIND named zone configuration for zones recommended by

// RFC 1912 section 4.1 : localhost TLDs and address zones

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//

zone "linuxidc.com" IN {

type slave;

masters {10.138.130.161;};

file "slaves/linuxidc.com";

};

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

type slave;

masters {10.138.130.161;};

file "slaves/named.linuxidc";

};

辅助DNS在定义zone文件的时候和主DNS有些不同

在辅助DNS里面 type要改为slave

master { 10.138.130.161; }; 而且必须指定主DNS的IP address

file "slaves/linuxidc.com";

file "slaves/named.linuxidc";

为什么要指定数据库文件在slaves目录下面呢,是因为slaves目录是拥有人和拥有组都是named用户,在启动DNS服务的时候,只有named有权限进行操作,所以我们要把数据库放在这个目录下面。

[root@beiku2 etc]# cd /var/named/chroot/var/named/

[root@beiku2 named]# ls -lrt

total 44

drwxrwx--- 2 named named 4096 Jul 27  2004 slaves

drwxrwx--- 2 named named 4096 Aug 26  2004 data

-rw-r----- 1 root  named  427 Jul 30  2009 named.zero

-rw-r----- 1 root  named  426 Jul 30  2009 named.local

-rw-r----- 1 root  named  424 Jul 30  2009 named.ip6.local

-rw-r----- 1 root  named 1892 Jul 30  2009 named.ca

-rw-r----- 1 root  named  427 Jul 30  2009 named.broadcast

-rw-r----- 1 root  named  195 Jul 30  2009 localhost.zone

-rw-r----- 1 root  named  198 Jul 30  2009 localdomain.zone

[root@beiku2 named]# cd slaves

[root@beiku2 slaves]# ls -lrt

total 0

可以看到,slaves目录的拥有人和拥有组是named,并且现在的slaves目录下面是什么东西都没有的。

现在我们重启一下DNS服务

[root@beiku2 slaves]# service named restart

Stopping named: [  OK  ]

Starting named: [  OK  ]

可以看到,服务启动成功了。在启动服务的同时,我们来查看一下日志信息,看看日志里面有什么提示

[root@beiku2 slaves]# tail /var/log/messages

Aug 25 23:41:49 beiku2 named[30421]: the working directory is not writable

Aug 25 23:41:49 beiku2 named[30421]: running

Aug 25 23:41:49 beiku2 named[30421]: zone 0.138.10.in-addr.arpa/IN/localhost_resolver: Transfer started.

Aug 25 23:41:49 beiku2 named[30421]: transfer of '0.138.10.in-addr.arpa/IN' from 10.138.130.161#53: connected using 10.138.130.162#44647

Aug 25 23:41:49 beiku2 named[30421]: zone 0.138.10.in-addr.arpa/IN/localhost_resolver: transferred serial 1997022700

Aug 25 23:41:49 beiku2 named[30421]: transfer of '0.138.10.in-addr.arpa/IN' from 10.138.130.161#53: end of transfer

Aug 25 23:41:49 beiku2 named[30421]: zone linuxidc.com/IN/localhost_resolver: Transfer started.

Aug 25 23:41:49 beiku2 named[30421]: transfer of 'linuxidc.com/IN' from 10.138.130.161#53: connected using 10.138.130.162#56490

Aug 25 23:41:49 beiku2 named[30421]: zone linuxidc.com/IN/localhost_resolver: transferred serial 42

Aug 25 23:41:49 beiku2 named[30421]: transfer of 'linuxidc.com/IN' from 10.138.130.161#53: end of transfer

在日志里面可以看到,主DNS与辅助DNS正在同步序列号,同步成功,这个日志里面的信息非常的详细。

接下来,我们在到slaves目录下面去看看

[root@beiku2 slaves]# ls -lrt

total 8

-rw-r--r-- 1 named named 414 Aug 25 23:41 linuxidc.com

-rw-r--r-- 1 named named 451 Aug 25 23:41 named.linuxidc

刚才slaves目录下面的是什么东西都没有,现在就多了两个文件,example.com和named.example这个两个文件。这个就是我们刚才在定义zone文件的时候在slaves目录下面定义的,文件名是随意写的,这个没有关系,但是里面东西是和主DNS一样的。

我们查看这两个文件的具体内容

[root@beiku2 slaves]# cat linuxidc.com

$ORIGIN .

$TTL 86400      ; 1 day

linuxidc.com                IN SOA  linuxidc.com. root.linuxidc.com. (

42        ; serial

10800      ; refresh (3 hours)

900        ; retry (15 minutes)

604800    ; expire (1 week)

86400      ; minimum (1 day)

)

NS      linuxidc.com.

A      127.0.0.1

AAAA    ::1

$ORIGIN linuxidc.com.

beiku1                  A      10.138.130.161

beikuscan1              A      10.138.130.167

beikuscan2              A      10.138.130.168

beikuscan3              A      10.138.130.169

beiku2                  A      10.138.130.162

[root@beiku2 slaves]# cat named.linuxidc

$ORIGIN .

$TTL 86400      ; 1 day

0.138.10.in-addr.arpa  IN SOA  localhost. root.localhost. (

1997022700 ; serial

28800      ; refresh (8 hours)

14400      ; retry (4 hours)

3600000    ; expire (5 weeks 6 days 16 hours)

86400      ; minimum (1 day)

)

NS      localhost.

$ORIGIN 0.138.10.in-addr.arpa.

1                      PTR    localhost.

161                    PTR    beiku1.linuxidc.com

167                    PTR    beikuscan1.linuxidc.com

168                    PTR    beikuscan2.linuxidc.com

169                    PTR    beikuscan3.linuxidc.com

162                    PTR    beiku2.linuxidc.com

这两个文件里面的内容和我们的主DNS的内容都是一样的。而且还帮我们整理的非常的漂亮。这些都是系统自动生成的。

现在我们来测试一下主DNS和辅助DNS可不可以正常的工作

[root@beiku2 slaves]# vi /etc/resolv.conf

search linuxidc.com

nameserver 10.138.130.161

nameserver 10.138.130.162

现在我们将主DNS和辅助DNS都设置一下。然后在使用nslookup工具来测试

[root@beiku2 slaves]# nslooup beiku1

-bash: nslooup: command not found

[root@beiku2 slaves]# nslookup beiku1

Server:        10.138.130.161

Address:        10.138.130.161#53

Name:  beiku1.linuxidc.com

Address: 10.138.130.161

[root@beiku2 slaves]# nslookup beiku2

Server:        10.138.130.161

Address:        10.138.130.161#53

Name:  beiku2.linuxidc.com

Address: 10.138.130.162

现在解析没有问题,还是有10.138.130.161这台主DNS来解析的。

接下来,我们将10.138.130.161这台主DNS给down,看下10.138.130.162这台辅助DNS能否正常工作。

[root@beiku1 named]# service named stop

Stopping named: [  OK  ]

用nslookup来测试一下

[root@beiku2 slaves]# nslookup beiku1

Server:        10.138.130.162

Address:        10.138.130.162#53

Name:  beiku1.linuxidc.com

Address: 10.138.130.161

现在解析照样成功了,现在并不是通过10.138.130.161这台主DNS来解析出来的,而是通过我们的10.138.130.162这台辅助DNS来解析出来的。当我们网络中的主DNSdown掉的时候,我们的辅助DNS照样能够正常的工作。我们还可以实现负载均衡,可以在网络中的一半客户端的主DNS指向10.138.130.161,辅助DNS指向10.138.130.161。将网络中的另一半客户端的主DNS指向10.138.130.162,辅助DNS指向10.138.130.161。这样两台服务器都可以正常的工作,正常的为客户端解析,当其中的一台DNSdown掉后,另一台DNS也会继续的工作,这样就实现了简单的负载均衡。到目前为止,我们的主DNS Server 和我们的辅助DNS Server都已经设置成功了,并且都可以正常的工作了。

接下来,我们在做一个试验,我们在主DNS添加一条记录,看下辅助DNS能否检测试到这条记录,不能够在辅助DNS上面添加记录,这样没有意义,我们的主DNS是检测不到这条记录的。

[root@beiku1 named]# vi linuxidc.zone

$TTL    86400

@              IN SOA  @      root (

43              ; serial (d. adams)

2M              ; refresh

2M              ; retry

1W              ; expiry

1D )            ; minimum

IN NS          @

IN A            127.0.0.1

IN AAAA        ::1

beiku1          IN A            10.138.130.161

beikuscan      IN A            10.138.130.167

beikuscan      IN A            10.138.130.168

beikuscan      IN A            10.138.130.169

beiku2          IN A            10.138.130.162

www            IN A            10.138.130.170

增加了www IN A 10.138.130.170记录。在主DNS里面做了新的操作以后,一定要将主DNS的序列号加一。否则辅助DNS是不会来同步我们的主DNS的。我们已经将主DNS的序列号加一了,但是默认情况下,主DNS与辅助DNS的同步时间是3H,这样我们很难看到效果,我们将它改为2M,然后在将重试时间改为2M,这样就代表每隔两分钟主DNS和辅助DNS进行同步,如果同步不成功,在隔两分钟同步一次。接下来我们将反向解析里面的也来修改一下

[root@beiku1 named]# vi named.linuxidc

$TTL    86400

@      IN      SOA    beiku1.linuxidc.com. root.linuxidc.com.  (

1997022703 ; Serial

120      ; Refresh

120      ; Retry

3600000    ; Expire

86400 )    ; Minimum

@        IN      NS    beiku1.linuxidc.com.

167    IN      PTR    beikuscan.linuxidc.com.

168    IN      PTR    beikuscan.linuxidc.com.

169    IN      PTR    beikuscan.linuxidc.com.

162    IN      PTR    beiku2.linuxidc.com.

161    IN      PTR    beiku1.linuxidc.com.

170    IN      PTR    www.linuxidc.com.

这样,反向解析里面也已经修改完成了。现在将DNS服务重启

[root@beiku1 named]# service named restart

Stopping named: [  OK  ]

Starting named: [  OK  ]

重启成功,等几分钟之后在来看下效果。现在我们查看辅助DNS的正向解析数据库文件的内容

[root@beiku2 slaves]# cat linuxidc.com

$ORIGIN .

$TTL 86400      ; 1 day

linuxidc.com                IN SOA  beiku1.linuxidc.com. root.linuxidc.com. (

45        ; serial

120        ; refresh (2 minutes)

120        ; retry (2 minutes)

604800    ; expire (1 week)

86400      ; minimum (1 day)

)

NS      beiku1.linuxidc.com.

$ORIGIN linuxidc.com.

beiku1                  A      10.138.130.161

beiku2                  A      10.138.130.162

beikuscan              A      10.138.130.167

A      10.138.130.168

A      10.138.130.169

www                    A      10.138.130.170

OK,可以看到,我们刚才在主DNS里面添加的一条新的记录现在已经被辅助DNS同步过去了,而且辅助DNS的序列号和刷新时间,重试时间都同步了。下来我们查看辅助DNS的反向解析数据库文件的内容

[root@beiku2 slaves]# cat named.linuxidc

RIGIN .

$TTL 86400      ; 1 day

0.138.10.in-addr.arpa  IN SOA  localhost. root.localhost. (

1997022702 ; serial

28800      ; refresh (8 hours)

14400      ; retry (4 hours)

3600000    ; expire (5 weeks 6 days 16 hours)

86400      ; minimum (1 day)

)

NS      localhost.

$ORIGIN 0.138.10.in-addr.arpa.

1                      PTR    localhost.

161                    PTR    beiku1.linuxidc.com

167                    PTR    beikuscan1.linuxidc.com

168                    PTR    beikuscan2.linuxidc.com

169                    PTR    beikuscan3.linuxidc.com

162                    PTR    beiku2.linuxidc.com

170                    PTR    www.linuxidc.com

OK,也可以看到,辅助DNS也已经同步成功了,到此DNS的配置就完成了。

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值