寻觅生命中的那一片浅草......

RHEL5下的DNS Server配置

一、主机环境说明
系统为Red Hat Enterprise Linux 5.0,hostname为oracle.xxt401.com,主机所处网段为192.168.1.0/24。

二、安装以下软件包
bind-libs-9.3.3-7.el5(提供一些库文件)
bind-devel-9.3.3-7.el5
bind-utils-9.3.3-7.el5(提供dig、host、nslookup、nsupdate等命令)
bind-9.3.3-7.el5(主程序)
bind-chroot-9.3.3-7.el5(构建/var/named/chroot下的文件结构)
bind-sdb-9.3.3-7.el5
bind-libbind-devel-9.3.3-7.el5
caching-nameserver-9.3.3-7.el5(提供named.conf等配置文件样板)

三、配置caching only dns server
# cd /var/named/chroot/etc
# cp –p named.caching-nameserver.conf named.conf
# vi named.conf
将以下内容
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
allow-query     { localhost; };
修改为
listen-on port 53 { any; };
//因为我没有IPV6地址       listen-on-v6 port 53 { ::1; };
allow-query     { any; };

将以下内容(/**/为注释作用)
view localhost_resolver {
match-clients      { localhost; };
match-destinations { localhost; };
recursion yes;
include “/etc/named.rfc1912.zones”;
};
修改为
/*view localhost_resolver {
match-clients      { localhost; };
match-destinations { localhost; };
recursion yes;
include “/etc/named.rfc1912.zones”;
};*/

此处要将view字段注释掉,否则在文件末尾添加zone字段后,启动named服务时,会报如下错误:“/etc/named.conf:47: when using ‘view’ statements, all zones must be in views”,但view还是很有用的,网上查资料所得,它可以是的bind将一个域名对应几个不同的IP地址。
在文件末尾添加以下内容
zone “.”{
type hint;
file “named.ca”;
};
此时,请保证用作DNS服务器,也就是本例中的oracle.xxt401.com能够正常上网,这个主要是为了生成named.ca。
# dig -t NS . > /var/named/chroot/var/named/named.ca
# echo “nameserver 192.168.1.100” > /etc/resolv.conf
# service named start
来到这里,一个caching only DNS server就配置完成了,将局域网中一台XP主机的DNS修改为192.168.1.100,可以照常上网,但域名解释相对来说会慢点。

四、解释本地主机的域名
# vi /var/named/chroot/etc/named.conf
添加以下内容:
// 正向解释
zone “xxt401.com” IN {
type master;
file “xxt401.com.zone”;
};

// 反向解释
zone “1.168.192.in-addr.arpa” IN {
type master;
file “1.168.192.in-addr.arpa.zone”;
};

这里需要说明 file后的文件名是随便的,只要跟实际存在的文件名是一致就可以了
例如,你可以将文件命名为xxt401.com.test,相应地在/var/named/chroot/var/named建立一个名为xxt401.com.test的文件即可
# cd /var/named/chroot/var/named
# cp –p localdomain.zone xxt401.com.zone
# cp –p named.local 1.168.192.in-addr.arpa.zone
# vi xxt401.com.zone
修改为
$TTL    86400
@               IN SOA  oracle.xxt401.com. root.oracle.xxt401.com. (
42              ; serial (d. adams)
3H              ; refresh
15M             ; retry
1W              ; expiry
1D )            ; minimum
IN NS           oracle.xxt401.com.
@               IN A            192.168.1.100
localhost       IN A            127.0.0.1
mail            IN A            192.168.1.127
www             IN A            192.168.1.127
# vi 1.168.192.in-addr.arpa.zone
修改为:
$TTL    86400
@       IN      SOA     oracle.xxt401.com. root.oracle.xxt401.com.  (
1997022700 ; Serial
28800      ; Refresh
14400      ; Retry
3600000    ; Expire
86400 )    ; Minimum
@       IN      NS      oracle.xxt401.com.
127     IN      PTR     www.xxt401.com.
127     IN      PTR     mail.xxt401.com.
# service named restart
# host www.xxt401.com
www.xxt401.com has address 192.168.1.127
由host命令的输出可以看出,DNS Server成功将www.xxt401.com解释为IP:192.168.1.127。至此,简单的DNS配置结束,明天试下解释其他域的,例如我 DNS Server的域是xxt401.com,如果同网段的,但域为q1874.cn的机子,该解释呢?

五、解释与本地主机不在同一域的域名
在named.conf添加以下内容
zone “q1872.cn” IN {
type master;
file “q1872.cn.zone”;
};

在/var/named/chroot/var/named建立一个名为q1872.cn.zone的文件,修改为以下内容:

$TTL    86400
$ORIGIN q1872.cn.
@               IN SOA  oracle.xxt401.com. root.oracle.xxt401.com. (
42              ; serial
3H              ; refresh
15M             ; retry
1W              ; expiry
1D )            ; minimum
IN NS           oracle.xxt401.com
www     IN A            192.168.1.126
mail    IN A            192.168.1.126

修改/var/named/chroot/var/named下的1.168.192.in-addr.arpa.zone
添加以下内容
126     IN      PTR     www.q1872.cn.
126     IN      PTR     mail.q1872.cn.
然后重启named服务 service named restart

Ok,用host www.q1872.cn,发现可以正确解释为192.168.1.126

总算是做了一遍了

参考文章:http://hi.baidu.com/smilth/blog/item/a3394236c89010dfa3cc2b16.html
http://blog.chinaunix.net/u/9951/showart_682416.html(配置前要认真读读此篇文章,了解DNS的原理)

尚无评论

发表评论

2024年四月
« 5月    
1234567
891011121314
15161718192021
22232425262728
2930