打印

[分享] RHEL 5 和Centos5 的 DNS 配置 已测试成功 !

RHEL 5 和Centos5 的 DNS 配置 已测试成功 !


RHEL 5 和Centos5 的 DNS 配置 已测试成功 !

所需软件
bind-9.3.3-10.el5

bind-utils
caching-nameserver
system-config-bind
bind-chroot-9.3.3-10.el5 //bind-chroot包放最后一个安装


namd.conf实际位置为/var/named/chroot/etc,
而工作目录/var/named实际路径为/var/named/chroot/var/named.

如果没有安装这些包的话可以用:以下方法安装
[root@killgoogle ~]# yum install bind*
[root@killgoogle ~]# yum install caching-nameserver
安装过后BIND服务就已经完成三分之一了,剩下的三分之二就是配置BIND服务。好,开始!我是想配置一个DNS可以解析我的域名:www.test.com假设我的IP是:192.168.1.12


1,#vi /etc/sysconfig/network ;给本机一个主机名字,
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=www.test.com

2,#vi /etc/hosts ;本地解析,本的主机名与IP 都可写进去,能

提高解析速度。
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.1.12 www.test.com www

3.#vi /etc/host.conf ;就是解析顺序了,上面的hosts解析不了就

DNS 解析了
order hosts,bind
在这里提醒下大家一定要注意自己安装没有system-config-bind
如果没有安装是不会出现named.conf这个默认的配置文件的


[root@killgoogle ~]# cd /var/named/chroot/etc/ [root@killgoogle etc]# ls
localtime named.rfc1912.zones
named.caching-nameserver.conf named.rfc1912.zones.rpmsave
rndc.key
这里我们可以看到在/var/named/chroot/etc/下的几个主要的配置文件。但是我们还是不要动这些文件的好,可以先复制它们并对它们进行修改。在进行复制的时候应该加上参数-P,这样在复制的时候把文件的属性不会改变。
[root@killgoogle etc]# cp -p named.caching-nameserver.conf named.conf
现在就可以用named.conf文件进行配置了。
[root@killgoogle etc]# vi named.conf //红色为改动部分
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
query-source port 53;
query-source-v6 port 53;
allow-query { any; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
[root@killgoogle etc]# vi named.rfc1912.zones
。下面是我的文件内容
zone "." IN {
type hint;
file "named.ca";
};

zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};

zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};

zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};

zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
zone "test.com" IN {
type master;
file "test.com.zone";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone";
allow-update { none; };
};

其中可以看见有这个配置文件里又引用了两个新的文件:test.com.zone和192.168.1.zone。这两个文件可以CP过来。
[root@killgoogle var]# cd /var/named/chroot/var/named/ [root@killgoogle var]# cp -p localdomain.zone test.com.zone
[root@killgoogle var]# cp -p named.local 192.168.1.zone
在这之中比较重要的还是要加参数P,要不然很有可能启动不了named服务。好了,现在就可以编辑这两个文件了。
[root@killgoogle var]# vi 192.168.1.zone
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS test.com.
12 IN PTR www.test.com.
有必要说明的是最后两句前面的那个12是指的我自己IP:192.168.1.12的最后一个数
[root@killgoogle var]# vi test.com.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS localhost
www IN A 192.168.1.12

其中192.168.1.zone是反向解析文件,而test.com.zone是正向解析文件.下一步就是修改/etc/resolv.conf文件了.只有修改了这个文件才可以用自己的的机器进行域名解析
[root@killgoogle var]# vi /etc/resolv.conf

只要加上一句:nameserver 192.168.1.12就行了。
这样配置就完成了。不过现在开始配置rhel5的selinux。因为不配置这个的话就不会让别人访问你的DNS服务器

[root@killgoogle var]# setup
弹出一个对话框。我们要进行的是防火墙配置,所以选择第六个选项:防火墙配置。选择“定制”再在弹出的对话框的允许进入的最后一栏即:其它端口里输入:53:tcp 53:udp
好了。这样就完成了所有过程。实验中可关闭Selinux,开启服务service named start.
[root@killgoogle ~]# nslookup
> www.test.com
Server: 192.168.1.12
Address: 192.168.1.12#53

Name: www.test.com
Address: 192.168.1.12


温馨小提示:
1.rndc reload一个非常有用的命令,能在不关闭服务的情况下,即时更新bind;另nslookup交互环境中,可以用命令server 192.168.1.102指定此DNS服务器为提供服务的DNS服务器,因为笔者的机子上面有3个服务器.
2.Non-authoritative answer项,它表示非授权的回答,说明来自其他DNS服务器或缓存
3.泛域名: 比如用户的域名是abc.com,那么我们将主机名设置为"*",IP解析到比如:218.104.78.100,大家都知道*是通配符,他表明abc.com之前的所有子域名都将解析到218.104.78.100,这就意味着例如输入bbs.abc.com或者123.abc.com或者123.234.abc.com都将解析到218.104.78.100,这里需要说明的是,在我们系统里面如果单独设置一个子域名解析,比如将主机名设置为mail,单独解析到218.104.78.79,那么该解析记录优先。泛域名在实际使用中作用是非常广泛的,比如实现无限二级域名功能,提供免费的url转发,在IDC部门实现自动分配免费网址,在大型企业中实现网址分类管理等等,都发挥了巨大的作用。
4.在实际工作中,可把自己的DNS服务器设置成forarding DNS,而将公网开放的DNS作为forwarder DNS.
本帖最近评分记录
  • 赵高 菊花元 +8 感谢分享 2008-8-20 08:43

TOP

非常实用的资料.感谢分享.
欢迎大家到认证区参与考试题目知识探讨,提问有奖励,解答更有奖励。
电脑培训教师交流群:40351571(不谈技术,学生勿入)

TOP

很实用,谢谢

TOP

小儿科

TOP

不行啊,我把你的照搬,named 服务起不来啊

TOP

哈哈~~是我自己没搞好,~~~~~~谢谢您的分享~~~~~

TOP

感谢你的分享~可能过几天会用到哦~

TOP

thx for sharing,..

TOP