使用BIND配置DNS服务器---初级篇
BIND+DLZ+MySQL智能DNS的正向解析和反向解析实现方法
Ubuntu BIND9泛域名解析配置
CentOS 5.2下安装BIND9.6
--------------------------------------分割线 --------------------------------------
环境:
系统版本:VBOX虚拟机centos6.0。
本机内网IP 192.168.2.198。
一、安装软件bind。
1.显示bind相关的软件包。
[root@localhost ~]# yum list bind*
bind.i686
bind-chroot.i686
bind-devel.i686
bind-dyndb-ldap.i686
bind-libs.i686
bind-sdb.i686
bind-utils.i686
2.安装必要包。主要安装三个软件包,其他的目前没有必要安装。bind安装成功后服务器是named。
[root@service ~]# yum install bind bind-libs bind-utils -y
3.查看bind安装产生的文件。主要用到两个文件。如下:
[root@localhost ~]# rpm -ql bind | less
/etc/NetworkManager/dispatcher.d/13-named
/etc/logrotate.d/named
/etc/named
/etc/named.conf----------------主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones-------zone配置文件,include到主配置文件
/etc/named.root.key
/etc/portreserve/named
/etc/rc.d/init.d/named
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
....很多行....
二、配置DNS缓存服务器
1.打开/etc/named.conf文件配置修改options配置块内以下选项:
listen-on port 53 { 127.0.0.1; }; 改为 listen-on port 53 { 127.0.0.1; 192.168.2.198;}; //192.168.2.198是我的内网IP,根据自己情况修改。
#listen-on-v6 port 53 { ::1; }; //注释掉,如果不用的话。
allow-query { localhost; }; 改为 allow-query { any; };
保存退出;
2.打开配置/etc/named.rfc1912.zones, 即主配置文件named.conf底部include进来的zone文件。
注释掉bind自动生成的除以下zone块,也就是除了以下两块意外的都注释掉:
zone "localhost" IN { //正向解析配置
type master;
file "named.localhost"; //文件相对于/var/named/目录
allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN { //反向解析配置
type master;
file "named.loopback"; //文件相对于/var/named/目录
allow-update { none; };
};
3.配置正向解析文件
[root@localhost named]# vim /var/named/named.localhost
填写以下内容:
$TTL 1D
@ IN SOA localhost. root.localhost. (
201406251006 ; serial //序列号,随便写我一般写成单签日期时间
1D ; refresh //命令slave多久进行一次主动更新。
1H ; retry //如果到了refresh的时间,但是slave却无法连接master时,那么多久之后,slave会再次的主动尝试与主机连线。
1W ; expire //如果slave一直无法与master连接上,那么经过多久的时间后,则命令slave不要在连接master了。
3H ) ; minimum //没有指定生存期的数据,可以保存在数据库中的时间,及TTL
IN NS localhost.
IN A 127.0.0.1
4.配置反向解析文件,实际上就是把正向解析的配置文件复制一份,然后把里面的A记录反过来写“A”写成“PTR”
[root@localhost named]# vim /var/named/named.loopback
填写如下内容:
$TTL 1D
@ IN SOA localhost. root.localhost. (
201406251006 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS localhost.
IN PTR localhost.
5.修改named的相关文件属组为named
[root@localhost named]# chown :named /var/named/named*
6.检查配置文件,相关命令named-checkconf、named-checkzone
[root@localhost named]# named-checkconf [/etc/named.conf] //检查主配置文件,如果没有输出错误信息表示正常。
[root@localhost named]# named-checkzone "localhost" /var/named/named.localhost //检查正向解析配置
zone localhost/IN: loaded serial 20140625
OK
[root@localhost named]# named-checkzone "1.0.0.127.in-addr.arpa" /var/named/named.loopback //检查反向解析配置
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 20140625
OK
7.启动named服务
[root@localhost named]# service named start //或者用/etc/init.d/named start启动
启动 named: [确定]
[root@localhost named]# service named status //查看服务运行状态
version: 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1
CPUs found: 1
worker threads: 1
number of zones: 18
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running
named (pid 2144) 正在运行...
8.测试NDS
a.使用命令dig测试
[root@localhost named]# dig -t A localhost @127.0.0.1 //后面@127.0.0.1表示用本机解析,如果不想每次都写修改/etc/resolv.conf文件,添加nameserver 127.0.0.1
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> -t A localhost @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58945
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;localhost. IN
A
;; ANSWER SECTION:
localhost. 86400
IN A 127.0.0.1
;; AUTHORITY SECTION:
localhost. 86400
IN NS localhost.