经过两天的努力终于将AIX的DNS配置成功了,把我的配置过程写下来,和大家分享,我是初学乍练,如有不对的地方,还请前辈不要吝惜笔墨,予以指正。
DNS的全名是:Domain Name System
至于他的历史、用途、工作原理等有好多文章都有说过,我就不浪费大家的时间了。
先说一下我的实验环境:
AIX: 版本:AIX 5L for POWER V5.1
IP address:192.168.0.5
假设域名:king.com
主机名:pp.king.com
作为一个域名服务器,要具有正解和反解的功能才叫一个完整的服务器。现在有很多,尤其是的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. ( 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: 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:\>; 成功。(责任编辑:ken)