|
环境:服务器redhat5.4 ,服务版本:bind9.3X和dhcp3.0x,并且两个服务都必须先能正常提供服务的。
[iyunv@redhat5 var]# nslookup long.com Server: 192.168.100.105 Address: 192.168.100.105#53
Name: long.com Address: 192.168.100.105
现在对dns方面进行修改: 1、生成用于更改zoon空间的密钥: [iyunv@redhat5 etc]# dnssec-keygen -a HMAC-MD5 -b 128 -n USER ddns Kddns.+157+07304 [iyunv@redhat5 etc]# ls Kddns.+157+07304.key localtime named.conf.bak named.root.hints Kddns.+157+07304.private named.conf named.rfc1912.zones rndc.key 可以用cat 来查看Kddns.+157+*里面的内容,发现里面都有一件的密钥。就把它复制出来,编辑named.conf文件,修改:
#可修改zoon的key key key_ddns { algorithm hmac-md5; secret Jb4b7gFsjVBlagOfVNGKpw==; };
view "test" { match-clients {any; } ; match-destinations {any; } ; recursion no ;
#zone setting // include "/etc/named.rfc1912.zones" ; include "/etc/named.rfc1912.zones"; } ;
由上面可知,其实在name.rfc1912.zones里存在着zoons的定义空间,所以编辑named.rfc1912.zones文件,最后的long.com的zones修改: //long.com zone "long.com" IN { type master ; file "long.zone" ; allow-update { key key_ddns; }; //注意定义了key_ddns为密钥的一方可以修改long.com里的主机记录。 }; 重启服务,ok!!!
2、修改dhcpd.conf 文件。使其分配的主机IP的同时也能进行dns的zoon更新: #dhcpd.conf ddns-update-style interim; //指定分配的类型 #ignore client-updates; ddns-updates on; //开启ddns-updates的功能 subnet 192.168.100.0 netmask 255.255.255.0 {
# --- default gateway option routers 192.168.100.1; option subnet-mask 255.255.255.0; option domain-name "long.com"; //指定分配IP的主机所在域,这个域要和dns里面的key_ddns可修改的一致,不能就不能生成对应的纪录。 option domain-name-servers 192.168.100.105;
option time-offset -18000; # Eastern Standard Time # option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2;
range dynamic-bootp 192.168.100.150 192.168.100.254; default-lease-time 21600; max-lease-time 43200;
//下面这两个是指定ddns分配的使用密钥和域名称,注:key的密钥和与named.conf里面的key的一样,这样才是使用同一密钥的,才能动态更改域
key key_ddns{ algorithm hmac-md5; secret "Jb4b7gFsjVBlagOfVNGKpw=="; } //指定分配的域的名称,注意格式:“long.com.”后面是有"."的. zone long.com.{ primary 192.168.100.105; key key_ddns; } //这里没有添加反解释的zoon,当然也可以加上,类似于dns的反解的格式,当然前提是dns的反解也做了ddns更新配置。 }
重启服务,ok !!!!
到些配置已基本完成。 此时,可以查看日志文件,用动态的:tail -f /var/log/message 在使用客户机测试时。能正常得到IP地址和能正常解释long.com以及之前服务端的主机,发现日志结果:
Aug 21 20:48:16 redhat5 named[20722]: client 192.168.100.105#56606: view test: u pdating zone 'long.com/IN': adding an RR at 'lenovo-1b64a8ba.long.com' A Aug 21 20:48:16 redhat5 named[20722]: client 192.168.100.105#56606: view test: u pdating zone 'long.com/IN': adding an RR at 'lenovo-1b64a8ba.long.com' TXT Aug 21 20:48:16 redhat5 named[20722]: journal file long.zone.jnl does not exist, creating it Aug 21 20:48:16 redhat5 named[20722]: long.zone.jnl: create: permission denied Aug 21 20:48:16 redhat5 named[20722]: client 192.168.100.105#56606: view test: u pdating zone 'long.com/IN': error: journal open failed: unexpected error Aug 21 20:48:16 redhat5 dhcpd: Unable to add forward map from lenovo-1b64a8ba.lo ng.com to 192.168.100.253: timed out Aug 21 20:48:16 redhat5 dhcpd: DHCPREQUEST for 192.168.100.253 (192.168.100.105) from 00:0c:29:a9:2d:22 (lenovo-1b64a8ba) via eth0 Aug 21 20:48:16 redhat5 dhcpd: DHCPACK on 192.168.100.253 to 00:0c:29:a9:2d:22 ( lenovo-1b64a8ba) via eth0
经观察,发现在红色字体那里出现了是named在写jnl文件时无写入的权限,所在在/var/named/chroot/var路径下: #chown -R named:named named #chomd g+w named 添加了named目录以及里面的写权限,重启服务,ok!!!!
如果还出现在问题的就可能果selinux的问题,建议把selinux关闭。 还可用#updatedd 命令来刷新linux系统的数据库.
|