版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。
http://weijia.blog.51cto.com/616222/119913
|
这是一篇实践性的文章,如果你还不知道DNS是个什么东西和bind的一些简单知识建议还是了解一下先
首先,确认系统是否装有bind
# rpm -qa|grep bind
我用的就是redhatas4u3自带的bind:bind-9.2.4-2这个版本(如果没有bind的话 就去下载一个源码包吧,具体怎么安装就不在说了 这样的文档google一下,一大把)
如果是系统自带的bind是安装在/var/named/chroot下的(chroot如果不知道的话 也去google一下吧)
下面是具体操作:
# cd /var/named/chroot/etc/ //进入chroot环境下的etc目录 (建议在编辑配置文件之前先备份一下已有的配置文件!!!) # vi named.conf //编辑bind的主配置文件 // // named.conf for Red Hat caching-nameserver //
options {
directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; };
//
// a caching only nameserver config // controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; }; };
acl "telecom" {
众多电信的DNS,我就不cp过来了,实在是太多了!我在写这个的时候已经是1K多条记录了 .... .... }; view "telecom" { match-clients { TELECOM; };
zone "." {
type hint; file "named.ca"; };
zone "0.0.127.IN-ADDR.ARPA" {
type master; file "localhost.rev"; };
zone "test.com" {
type master; file "master/telecom/test.com"; }; };
view "any" {
match-clients { any; }; zone "." { type hint; file "named.ca"; };
zone "0.0.127.IN-ADDR.ARPA" {
type master; file "localhost.rev"; };
zone "test.com" {
type master; file "master/cnc/test.com"; };
};
include "/etc/rndc.key";
//编辑完成后保存退出 # mkdir /var/named/chroot/var/named/master/ # mkdir /var/named/chroot/var/named/master/telecom # mkdir /var/named/chroot/var/named/master/cnc # vi /var/named/chroot/var/named/master/telecom/test.com $TTL 86400 @ IN SOA ns.test.com. root.ns.test.com. ( 2005062301 ; serial 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum
IN NS ns.test.com.
IN MX 10 mail.test.com. www IN A 电信IP //保存退出 # vi /var/named/chroot/var/named/master/cnc/test.com $TTL 86400 @ IN SOA ns.test.com. root.ns.test.com. ( 2005062301 ; serial 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum
IN NS ns.test.com.
IN MX 10 mail.test.com. www IN A 网通IP //保存退出 # service named start 别忘记修改/etc/resolv.conf这个文件! # dig @IP www.test.com 如果在测试dns的过程中有问题的话,我们可以根据解析的报错 来分析一下: 1)如果是服务都起不来的话 检查一下配置文件named.conf (这个文件中的{}很烦!!) 2)服务启动了,但是不能正常解析的话,一般有2种情况(我只是见到过2种) Host www.test.com not found: 2(SERVFAIL) 解析结果类似这种的 一般就是解析文件找不到 检查一下文件的路径,named.conf中规定的文件路径下一定要有你的解析文件 还有一种就是 3 的(具体的语句我不记得了)这种情况 就是解析文件有问题,言外之意就是named.conf的配置与解析文件已经对应上了!但是解析时没有正确解析! |