AIX的域名服务

经过两天的努力终于将AIX的DNS配置成功了,把我的配置过程写下来,和大家分享,我是初学乍练,如有不对的地方,还请前辈不要吝惜笔墨,予以指正。

DNS的全名是:Domain Name System
至于他的历史、用途、工作原理等有好多文章都有说过,我就不浪费大家的时间了。
先说一下我的实验环境:
AIX: os版本:AIX 5L for POWER V5.1
IP address:192.168.0.5
假设域名:king.com
主机名:pp.king.com

作为一个域名服务器,要具有正解和反解的功能才叫一个完整的服务器。现在有很多,尤其是win的DNS服务器很多都没有反解的功能。

现在进入正题

架设一部完整的DNS服务器主要需要设定6个文件:

named.conf #主要的设定文件
named.ca #
本机端的正解文件
本机端的反解文件
domain name的正解文件
domain name的反解文件

一台AIX V5.1安装完成后,就已经安装好了DNS软件bind,并已经启动。
可以用这个命令去查看:

# lssrc -s named

Subsystem         Group            PID     Status

 named            tcpip            15666   active



默认会安装两个版本,bind4和bind8,当然现在的最新版本已经有bind9,可是我们用自带的bind8就可以了。

初始的时候系统会默认使用bind4,那么我们现在执行以下命令开始使用bind8:
# rm /usr/sbin/named /usr/sbin/named-xfer

ln -s /usr/sbin/named8 /usr/sbin/named

ln -s /usr/sbin/named8-xfer /usr/sbin/named-xfer



检查:
# named -v

named 8.2.2-P5+Fix_for_CERT_till_01_30_01 Sun Apr  8 08:05:23 CDT 2001

        build@builder07.austin.ibm.com:/…/austin.ibm.com/fs/proj/p1/aix/aix510

/com4/CMVC/obj/power/tcpip/usr/sbin/named8



现在我们来编写配置文件。

一、首先是最主要的设置文件,其他的文件全靠它定义,才能生效。

/etc/named.conf(bind4的时候此文件名为:named.boot)
可以用touch /etc/named.conf命令生成文件,然后再添加内容

options {

directory “/etc”; #设定工作目录,bind会在此处设定的目录里查找所需文件。

};



zone “.” {

type hint;

file “named.ca”; #根服务器

};



zone “0.0.127.in-addr.arpa” {

type master;

file “0.0.127.in-addr.arpa.zone”; #本机端的反解文件,文件名可以自己定义的。

};



zone “localhost” {

type master;

file “localhost.zone”; #本机端的正解文件

};



zone “king.com” {

type master;

file “king.com.zone”; #domain name的正解文件

};



zone “0.168.192.in-addr.arpa”   {

type master;

file “0.168.192.in-addr.arpa.zone”; #domain name的反解文件

};



二、/etc/named.ca
如果我们的DNS服务器是连在internet上的,那么named.ca里面的就是我们的上级服务器,当一个域名在本机查

不到,就会去named.ca里的服务器上去查。有的时候这些服务器是变动的,所以,我们可以下载这个文件

ftp://ftp.rs.internic.net/domain/named.root,然后改名为named.ca,复制到/etc里面就好了。

三、/etc/0.0.127.in-addr.arpa.zone

$TTL 86400 @ IN SOA localhost. root.localhost. (

#p#副标题#e#
2 ; serial

28800 ; refresh

7200 ; retry

604800 ; expire

86400 ; ttl

)



@ IN NS localhost. 

1 IN PTR localhost. 

1 IN PTR pp.



四、/etc/localhost.zone
$TTL 86400 @ IN SOA @ root.localhost (

1 ; serial

28800 ; refresh

7200 ; retry

604800 ; expire

86400 ; ttl

)

  IN NS localhost.

@ IN A 127.0.0.1



五、/etc/king.com.zone
$TTL 86400 @ IN SOA pp.king.com. root.localhost (

3 ; serial

28800 ; refresh

7200 ; retry

604800 ; expire

86400 ; ttl

)



IN NS pp.king.com.

www IN A 192.168.0.5

pp IN A 192.168.0.5

mail IN CNAME www



六、/etc/0.168.192.in-addr.arpa.zone
$TTL 86400 @ IN SOA pp.king.com.         root.pp.king.com.      (

4 ; serial

28800 ; refresh

7200 ; retry

604800 ; expire

86400 ; ttl

)



@ IN NS pp.king.com.

5 IN PTR pp.king.com.



好了6个文件都完成了,让我们在创建一个文件/etc/resolv.conf,这个文件的意义在于,如果不存在,表示本

机的域名服务由/etc/hosts提供,如果存在且空,表示本机是域名服务器,如果存在且非空,表示本机是由域

名服务器提供域名解析的客户机。
用这个命令来创建这个文件:

touch /etc/resolv.conf



终于完成了,现在让我们来启动它。
可以用smit stnamed 快速路经来启动。
也可以用startsrc -s named来启动。
如果已经启动,可以用stopsrc -s named来关闭它。
用lssrc -s named查看它的状态,如果状态是active,我们就可以来测试了。

测试

最简单的办法就是nslookup
例如本例中的:

# nslookup

Default Server:  pp.king.com

Address:  0.0.0.0



>; www.king.com #正解

Server:  pp.king.com

Address:  0.0.0.0



Non-authoritative answer:

Name:    www.king.com

Address:  192.168.0.5



>; pp.king.com #正解

Server:  pp.king.com

Address:  0.0.0.0



Non-authoritative answer:

Name:    pp.king.com

Address:  192.168.0.5



>; mail.king.com #正解

Server:  pp.king.com

Address:  0.0.0.0



Non-authoritative answer:

Name:    www.king.com

Address:  192.168.0.5

Aliases:  mail.king.com



>; 192.168.0.5 #反解

Server:  pp.king.com

Address:  0.0.0.0



Name:    pp.king.com

Address:  192.168.0.5



然后把服务器IP192.168.0.5加入到客户机的DNS地址里去

再测试

C:\>;ping www.king.com



Pinging www.king.com [192.168.0.5] with 32 bytes of data:

#p#副标题#e#


Reply from 192.168.0.5: bytes=32 time<1ms TTL=255

Reply from 192.168.0.5: bytes=32 time<1ms TTL=255

Reply from 192.168.0.5: bytes=32 time<1ms TTL=255

Reply from 192.168.0.5: bytes=32 time<1ms TTL=255



Ping statistics for 192.168.0.5:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 0ms, Maximum = 0ms, Average = 0ms



C:\>;


成功。