最近做了一个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,设置如下:这样配置是避免出现乱码。
使用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服务器的某个数据库文件修改版本号(序列号),比如如下
serial改成2011070801,刷新时间修改成90或者其他,保存,rndc reload。在从服务器同样修改这个文件,版本号加1,刷新时间修改90或者其他,超时改为10,rndc reload或者重启named服务。过段时间就能更新到。
希望看此文的人,能在实际中间体会点点东西。并扩展到,如何做双主机,一主多备,异地容灾,DNSSEC。甚至异地DNS服务器虚拟化,真正实现数台DNS服务器建成的云。