最近做了一个DNS双机,记录下来,备忘只用!

安装及简单配置在下面的链接有

Linux(RHEL 5)中Bind服务的安装与配置全过程 

与RHEL 4的对比请看Linux(RHEL 4)系列 之 DNS配置

一、修改主机名

hosts文件

先修改主机名

[root@localhost ~]# hostname www.bokai.com    //这样修改只是临时,重启后恢复

[root@localhost ~]# cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

#127.0.0.1       localhost.localdomain   localhost

127.0.0.1       www.bokai.com   www

::1     localhost6.localdomain6 localhost6

[root@localhost ~]# 

network文件 

[root@localhost ~]# cat /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no               //关闭ipv6可以加快DNS的解析速度

HOSTNAME= www.bokai.com

[root@localhost ~]#

二、RNDC的配置和使用:

rndc的作用只在服务器本地,并且服务器系统防火墙必须开放953端口。rndc主要用来重新加载named.conf文件,一般更改主配置文件或者正逆向文件后需要重启named服务,现在可以使用rndc reload命令来重新加载配置文件,而无需再重启named服务。

[root@ns3 ~]#rm –rf /etc/rndc.*             //删除之前的文件

[root@ns3 ~]#rm –rf /var/named/chroot/etc/rndc.*

[root@ns3 ~]#

[root@ns3 ~]# /usr/sbin/rndc-confgen > /var/named/chroot/etc/rndc.conf

[root@ns3 ~]#cd /var/named/chroot/etc/

[root@ns3 etc]#cp –p rndc.conf rndc.key     //–p 参数可以吧文件的属性复制

[root@ns3 etc]#chown named.named rndc.*  //必须吧rndc.*所有权限赋予给named用户

[root@ns3 etc]# ls -l

总计 32

-rw-r--r-- 1 root root   405 07-04 04:13 localtime

-rw-r----- 1 root named 1076 07-04 05:23 named.caching-nameserver.conf

-rw-r----- 1 root root  1100 07-04 05:22 named.caching-nameserver.conf.bak

-rw-r----- 1 root named  955 2007-07-19 named.rfc1912.zones

-rw-r----- 1 root root   955 07-04 05:22 named.rfc1912.zones.bak

-rw-r--r-- 1 named named  113 07-04 04:06 rndc.conf

-rw-r--r-- 1 named named  113 07-04 04:06 rndc.key

[root@ns3 etc]# cat rndc.conf

# Start of rndc.conf

key "rndckey" {

        algorithm hmac-md5;

        secret "YywlCn+BNEfb6BHyj0hn3Q==";

};

 

options {

        default-key "rndckey";

        default-server 127.0.0.1;

        default-port 953;

};

 

# End of rndc.conf

 

# Use with the following in named.conf, adjusting the allow list as needed:

# key "rndckey" {

#       algorithm hmac-md5;

#       secret "YywlCn+BNEfb6BHyj0hn3Q==";

# };

#

# controls {

#       inet 127.0.0.1 port 953

#               allow { 127.0.0.1; } keys { "rndckey"; };

# };

# End of named.conf

 

[root@ns3 etc]# cat rndc.key

# Start of rndc.conf

#key "rndckey" {

#        algorithm hmac-md5;

#        secret "YywlCn+BNEfb6BHyj0hn3Q==";

#};

#

#options {

#        default-key "rndckey";

#        default-server 127.0.0.1;

#        default-port 953;

#};

#

# End of rndc.conf

 

# Use with the following in named.conf, adjusting the allow list as needed:

 key "rndckey" {

       algorithm hmac-md5;

       secret "YywlCn+BNEfb6BHyj0hn3Q==";

 };

 

# controls {

#       inet 127.0.0.1 port 953

#               allow { 127.0.0.1; } keys { "rndckey"; };

# };

# End of named.conf

//rndc.key只要把rndc.conf注释的部分改为执行,control方法下面的依旧保持注释。把control方法全部复制到/var/named/chroot/etc/named.caching-nameserver.conf最后面。在/var/named/chroot/etc/named.rfc1912.zones文件里面添加一行 :

include "/etc/rndc.key";

 

三、SSH配置

[root@localhost ~]# cd /etc/ssh/

[root@localhost ssh]#cp –b sshd_config sshd_config.bak

[root@localhost ssh]# ls -l

总计 204

-rw------- 1 root root 132839 2007-07-13 moduli

-rw-r--r-- 1 root root   1827 2007-07-13 ssh_config

-rw------- 1 root root   3319 07-05 16:27 sshd_config

-rw------- 1 root root   3301 07-05 16:26 sshd_config.bak

-rw------- 1 root root    668 06-10 15:51 ssh_host_dsa_key

-rw-r--r-- 1 root root    590 06-10 15:51 ssh_host_dsa_key.pub

-rw------- 1 root root    963 06-10 15:51 ssh_host_key

-rw-r--r-- 1 root root    627 06-10 15:51 ssh_host_key.pub

-rw------- 1 root root   1675 06-10 15:51 ssh_host_rsa_key

-rw-r--r-- 1 root root    382 06-10 15:51 ssh_host_rsa_key.pub

[root@localhost ssh]#vi sshd_config

LoginGraceTime 10m         //如果10秒内没有输入密码,服务器将断开连接

PermitRootLogin no

AllowUsers dnsadmin

[root@localhost ssh]# vi ssh_config

ServerAliveInterval 300       //如果5分钟内没有操作就自动断开连接

 

一般配置全部使用SSH远程连接配置

建议使用putty,设置如下:这样配置是避免出现乱码。

Linux(RHEL 5)中Bind服务的安装与配置全过程-续_第1张图片 

Linux(RHEL 5)中Bind服务的安装与配置全过程-续_第2张图片

使用putyy登录举例:

login as: dns

[email protected]'s password:************************

Last login: Sat Jul  9 14:35:15 2011 from 192.168.10.10

[dns@localhost ~]$ su root

口令:**************************

[root@localhost dns]#

 

四、DNS配置文件编辑

(1)主DNS配置文件修改

named.caching-nameserver.conf

[root@localhost etc]# cat named.caching-nameserver.conf

options {

        listen-on port 53 { any; };

        allow-query     { any; };

        allow-transfer  { 192.168.10.2;};     //运行传输的从服务器地址

};

view localhost_resolver {

        match-clients      { any; };

        match-destinations { any; };

};

controls {

       inet 127.0.0.1 port 953

               allow { 127.0.0.1; } keys { "rndckey"; };

};               //这几行是使用rndc管理named时必须添加的,关于rndc上面讲了

 

named.rfc1912.zones

这个文件基本不变,只在文件最后添加一句 include "/etc/rndc.key";

(2)从服务器配置

从服务器配置比较简单,修改IP,修改主机名,安装bind,配置ssh,配置文件备份都和上面一样。需要修改的配置文件是named.rfc1912.zones,修改举例如下:

zone "bokai.com" in {

                        type slave;        //设置类型为slave

                        file "bokai.com";    //文件名没必要和主文件一样

                        master "192.168.10.1";        //指定主服务器地址

                        };

 

五、启动DNS服务,测试主服务器是否正常工作

启动DNS的方法如下:

[root@www ~]# /sbin/service named start        //因为是远程,所以命令指定绝对路径.本地运行无需添加/sbin/

使用 #/sbin/chkconfig --level 35 named on命令添加named开机启动

 

[root@www ~]# /etc/init.d/named start

测试:在客户端,DNS服务器地址设置成唯一的192.168.10.1

 

六、测试主从服务器同步情况

首先吧主DNS服务器的某个数据库文件修改版本号(序列号),比如如下

Linux(RHEL 5)中Bind服务的安装与配置全过程-续_第3张图片

serial改成2011070801,刷新时间修改成90或者其他,保存,rndc reload。在从服务器同样修改这个文件,版本号加1,刷新时间修改90或者其他,超时改为10rndc reload或者重启named服务。过段时间就能更新到。

 

希望看此文的人,能在实际中间体会点点东西。并扩展到,如何做双主机,一主多备,异地容灾,DNSSEC。甚至异地DNS服务器虚拟化,真正实现数台DNS服务器建成的云。