linux 下安装 域名服务器
1: 下载bind-version.tar.gz
2: 解压 编译:
tar zxvf bind-version.tar.gz
cd bind-version
./configure
make&&make install
3: 创建chroot环境:
The chroot Environment From BIND’s point of view ,/var/named is the root of the filesystem.
/dev/zero /dev/random /dev/log and/or /etc/localtime`
mkdir -p /var/named/chroot
添加用户:
# useradd named -g named -d /var/named/chroot -s /sbin/nologin
mkdir -p /var/named/chroot/var/run
mkdir -p /var/named/chroot/etc
mkdir -p /var/named/chroot/var/named
mkdir -p /var/named/chroot/var/run
chown -R named.named *
安装后的文件:
/usr/local/sbin/ 下有:
dnssec-keygen dnssec-signzone lwresd named named-checkconf named-checkzone rndc rndc-confgen
/usr/local/bin 下有:
host nsloookup nsupdate
/usr/local/man/ 下有manual手册
4: 配置文件:
cd /var/named/chroot/var/named
vi named.conf
options{ directory "/var/named"; //working directory } zone "." IN { type hint; file "named.ca"; } zone "localhost" IN{ type master; file "localhost.zone"; allow-update { none; }; } zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; } |
本地正向解析文件:
vi localhost.zone
$TTL 86400 @ 1D IN SOA @ root( 42 3H 15M 1W 1D) IN NS @ IN A 127.0.0.1 |
本地反向解析文件:
vi named.local
$TTL 86400 @ IN SOA lcoalhost. root.localhost. ( 20061202 ;Serial 2800 ;Refresh 14400 ;Retry 3600000 ;Expire 864000 ) ;Minimum IN NS localhost. 1 IN PTR localhost. |
创建根服务器的数据文件(最新的根域服务器列) named.ca
dig -t NS . >/var/named/chroot/var/named/named.ca
/usr/local/sbin/named -g 调试
最后的文件目录:
tree /var/named/chroot
/var/named/chroot |-- dev | |-- random | `-- zero |-- etc | |-- localtime | |-- named.conf | `-- rndc.key `-- var |-- named | |-- 59.81.183.rev | |-- localhost.zone | |-- named.ca | |-- named.local | `-- sunliguo.edu1000.net `-- run `-- named.pid 5 directories, 11 files |
rndc
产生rndc控制文件
# rndc-confgen>/etc/rndc.conf
tail +13 /etc/rndc.conf >>/etc/named.conf
调试:
可以用-g参数,将调试信息显示在终端。
2009-05-25补充:
添加日志的分析,在配置文件中添加:
logging { channel query_log{ file "/var/log/query.log"; severity info; print-time yes; print-category yes; }; category queries { query_log; }; }; |
将查询的日志添加到query.log文件中。注意文件的权限,启动named的时候,多看看/var/log/messages 文件中的提示。
2009-06-11:
今天重启named服务的时候,报错。说: /var/run/named.pid 没有权限。因为是用的chroot环境,仔细排除。给 /var/named/chroot/var/run 目录的其他用户加上 读写权限可以启动。
2009-07-03:
添加了sunliguo.com 的A 记录。