【数据资料来自互联网,个人收集总结
】
1、软件包如下:
[root@rhel5-pps etc]# rpm -qa | grep bind
bind-utils-9.3.3-7.el5 (提供dig、host、nslookup、nsupdate等命令)
bind-libs-9.3.3-7.el5 (提供一些库文件)
ypbind-1.19-7.el5
bind-chroot-9.3.3-7.el5 (构建/var/named/chroot下的文件结构)
bind-9.3.3-7.el5 (主程序)
还有配置模版:caching-nameserver-9.3.3-7.el5
BIND的使用首先通过全局配置文件获得DNS相关选项并决定需要启用的主配置文件,主配置文件中定义了可查询的区域以及每个区域对就的区域配置文件,区域配置文件中定义了相关资源记录。
2、根据模版配置 named.conf
# cd /var/named/chroot/etc
# cp -p named.caching-nameserver.conf named.conf
以下是我的named.conf配置文件内容:
[root@rhel5-pps etc]# cat 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";
};
在 /etc/named.rfc1912.zones 文件后面添加如下自己的域名解释:
由于chroot原因,其实是 /var/named/chroot/etc/named.rfc1912.zones 文件
......
zone "."{
type hint;
file "named.ca";
};
zone "hoho.com" IN {
type master;
file "hoho.com.zone";
};
zone "32.168.192.in-addr.arpa" IN {
type master;
file "192.168.32.rev";
};
我建立了hoho.com的域名正向解释和反向解释区域。
------------------------------------------------------------------------
有些资料把view localhost_resolver注释掉,还增加有一个 "." 区域
/*view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
};*/
然后直接在 named.conf 后面加上自定义的域名zones
------------------------------------------------------------------------
3、根据模版创建相应的正、反向解释文件
# cd /var/named/chroot/var/named
# cp -p localdomain.zone hoho.com.zone
# cp -p named.local 192.168.32.rev
还需要生成 name.ca
# dig -t NS . > /var/named/chroot/var/named/named.ca
以下是我的hoho.com的正向解释文件 hoho.com.zone 内容:
[root@rhel5-pps ~]# cat /var/named/chroot/var/named/hoho.com.zone
$TTL 86400
@ IN SOA hoho.com. root.hoho.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS localhost
IN MX 10 mail
IN MX 10 mx1
IN MX 10 mx2
IN MX 10 mx3
@ IN A 192.168.32.50
www IN A 192.168.32.50
mail IN CNAME mx1
mx1 IN A 192.168.32.50
mx2 IN A 192.168.32.51
mx3 IN A 192.168.32.52
以下是我的hoho.com的反向解释文件 192.168.32.rev 内容:
[root@rhel5-pps ~]# cat /var/named/chroot/var/named/192.168.32.rev
$TTL 86400
@ IN SOA hoho.com. root.hoho.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
50 IN PTR hoho.com.
50 IN PTR mail.hoho.com.
50 IN PTR mx1.hoho.com.
51 IN PTR mx2.hoho.com.
52 IN PTR mx3.hoho.com.
注意:以上两个文件的字段都得用TAB来对齐,不能用空格。
RHEL5服务器本身就是DNS服务器,因此 /etc/resolv.conf 文件如下:
[root@rhel5-pps ~]# cat /etc/resolv.conf
nameserver 127.0.0.1
DNS服务器配好了,发现此时的DNS服务器只能解释自建域的正反向解释,而不能解释外界的域名。原来,如果本地没有的域名解释,需要转发到公网的DNS帮忙解释,然后才能返回外界域名的解释结果。因此需要在 options 里添加以下内容:
options {
forwarders { 202.106.196.115;202.106.0.20; };
};
202.106.196.115 和 202.106.0.20 是本人网络使用的北京网通DNS服务器
----------
相关配置:
----------
1、开启、关闭、重启DNS服务
# service named start | stop | restart
2、防火墙配置
防火墙需要开通外界访问本机的53端口,包括tcp和udp协议。
3、BIND的chroot配置文件为 /etc/sysconfig/named ,默认内容为:
ROOTDIR=/var/named/chroot
它表示对于BIND而言/var/named/chroot就是/。比如某个BIND配置文件中写到/etc/named.conf,那么这个文件的实际路径应该是/var/named/chroot/etc/named.conf。在后面的所有BIND配置都在/var/named/chroot中完成.
4、如果BIND启动失败,可以查看 /var/log/messages 文件查找原因
常见的启动失败原因有读取配置文件的权限不足,其实是配置文件的权限设置不对引起的。
BIND的用户是named。
----------
相关技术:
----------
1、rndc reload 一个非常有用的命令,能在不关闭服务的情况下,即时更新bind
2、Non-authoritative answer项,它表示非授权的回答,说明来自其他DNS服务器或缓存
3、泛域名:比如用户的域名是abc.com,那么我们将主机名设置为"*",IP解析到比如:211.157.101.32,大家都知道*是通配符,他表明abc.com之前的所有子域名都将解析到211.157.101.32,这就意味着例如输入bbs.abc.com或者123.abc.com或者123.234.abc.com都将解析到211.157.101.32,这里需要说明的是,在我们系统里面如果单独设置一个子域名解析,比如将主机名设置为mail,单独解析到211.157.101.33,那么该解析记录优先。泛域名在实际使用中作用是非常广泛的,比如实现无限二级域名功能,提供免费的url转发,在IDC部门实现自动分配免费网址,在大型企业中实现网址分类管理等等,都发挥了巨大的作用。
4、在实际工作中,可把自己的DNS服务器设置成forarding DNS,而将公网开放的DNS作为forwarder DNS.
----------
相关信息:
----------
1、本系统的名称配置
[root@rhel5-pps ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=pps.hoho.com
可以看到我本机的名字为 pps.hoho.com
2、本地域名解释
[root@rhel5-pps ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.32.50 hoho.com
注意:这个/etc/hosts文件不是给nslookup查找的,而是给应用程序如浏览器、wget等网络工具根据预设的域名快速找到目标IP的。
3、域名解释顺序
[root@rhel5-pps ~]# cat /etc/host.conf
order hosts,bind
可以看到,域名解释先使用本地的hosts文件,然后再查找bind DNS解释。
注意:这个域名解释顺序只是对普通应用程序有用,不对nslookup起作用。
########################################
详细的DNS配置信息,可以参考文章:
[url]http://hi.baidu.com/%BC%BC%CA%F5%BD%BB%C1%F7%D4%B0/blog/item/d37b2003d0c47f8fd53f7c6b.html[/url]
########################################
------------------------------------------------------------------------------------------
赵小蜗牛
QQ: 755721501
在不断奉献中谋求生存发展、打造自己的优秀人品,用人性最本质最动人的一面“营销”自己!