安装配置DNS的教程

安装配置DNS的教程

bind-9.3.1rc1.tar.gz 安装实例

先从 http://www.isc.org/products/BIND/ 下载bind,我下载的是bind-9.3.1rc1.tar.gz

我下载的文件放在/root目录下
进入目录解压缩
[root@linux root]#tar xfz bind-9.3.1rc1.tar.gz
进如刚解压出来的目录
[root@linux root]# cd bind-9.3.1rc1
编译配置
[root@linux bind-9.3.1rc1]#./configure --prefix=/usr/local/named --enable-threads #--enable-threads开启多线程处理能力
[root@linux bind-9.3.1rc1]#make
[root@linux bind-9.3.1rc1]#make install
进入/usr/local/named 建立etc目录
[root@linux bind-9.3.1rc1]#cd /usr/local/named
[root@linux named]# mkdir etc
生成rndc控制命令的key文件
[root@linux named]# sbin/rndc-confgen > etc/rndc.conf
从rndc.conf文件中提取named.conf用的key
root@linux named]# cd etc
[root@linux etc]# tail -10 rndc.conf | head -9 | sed s/#/ //g > named.conf
自动在/usr/local/named/etc 生成named,conf文件
建立区文件目录
[root@linux etc]# mkdir /var/named
进入/var/named
[root@linux etc]# cd /var/named
建立localhost.zone文件
[root@linux named]#vi localhost.zone
$TTL 86400
$ORIGIN localhost.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

1D IN NS @
1D IN A 127.0.0.1

建立named.local文件
[root@linux named]#vi named.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.

1 IN PTR localhost.


dig命令直接生成named.root文件
[root@linux named]#dig > named.root
建立test.com域名正向解析文件
[root@linux named]#vi test.zone

$ttl 1D
@ IN SOA test.com. root.test.com. (

1053891162
3H
15M
1W
1D )

IN NS test.com.
IN MX 5 test.com.
www IN A 220.202.19.82

建立test.com域名反向解析文件
[root@linux named]#vi test.local
$TTL 86400
@ IN SOA test.com. root.test.com.(
20031001;
7200;
3600;
43200;
86400);
@ IN NS test.com.
82 IN PTR DNS.test.com.

配置named.conf加如以下代码

[root@linux etc]# vi named.conf

options {
directory "/var/named"; #named区文件目录
pid-file "named.pid"; #进程id文件名
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.root";
};

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 "test.com" IN {
type master;
file "test.zone";
allow-update { none; };
};


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



现在配置完了可以启动BIND了

/usr/local/named/sbin/named -c /usr/local/named/etc/named.conf &

只要显示
runing表示运行成功
测试DNS
[root@linux etc]# host 220202.19.82
89.19.202.220.in-addr.arpa domain name pointer DNS.test.com.
如上显示表示DNS反向解析正常
[root@linux etc]# ping
www.test.com
PING www.test.com (220.202.19.82) 56(84) bytes of data.
如上显示表示正向解析正常
DNS配置完成。

from: http://www.chinaunix.net/jh/16/500422.html

rndc 是配合bind的好帮手.使用帮助如下:

[root@rh9 named]# rndc -V
Usage: rndc [-c config] [-s server] [-p port]
[-k key-file ] [-y key] [-V] command

command is one of the following:

reload Reload configuration file and zones.
reload zone [class [view]]
Reload a single zone.
refresh zone [class [view]]
Schedule immediate maintenance for a zone.
reconfig Reload configuration file and new zones only.
stats Write server statistics to the statistics file.
querylog Toggle query logging.
dumpdb Dump cache(s) to the dump file (named_dump.db).
stop Save pending updates to master files and stop the server.
halt Stop the server without saving pending updates.
trace Increment debugging level by one.
trace level Change the debugging level.
notrace Set debugging level to 0.
flush Flushes all of the server's caches.
flush [view] Flushes the server's cache for a view.
status Display status of the server.
*restart Restart the server.

* == not yet implemented
Version: 9.2.1
[root@rh9 named]# rndc stats
[root@rh9 named]# rndc status
number of zones: 5
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
server is up and running