全部博文(151)
分类: LINUX
2009-11-25 11:10:21
Bind安装笔记
cloud/2003.10.10
mail:flashc@21cn.com
欢迎转贴,转贴请注明本帖在CU的详细位置,方便其他人学习,谢谢
学了很长时间的linux了 今天开始整理自己配置server的笔记机今天是第一篇,关于DNS的
# mkdir /setup
# tar zxvf bind-9.2.2.tar.gz -C /setup #-C 指定解压输出的目录
# cd /setup/bind-9.2.2
# ./configure --prefix=/web/named --enable-threads #--enable-threads开启多线程处理能力
# make
# make install
# cd /web/named
# mkdir etc
# sbin/rndc-confgen > etc/rndc.conf #生成rndc控制命令的key文件
# cd etc
# tail -10 rndc.conf | head -9 | sed s/#\ //g > named.conf #从rndc.conf文件中提取named.conf用的key
# vi named.conf
options {
directory "/web/named/etc"; #named区文件目录
pid-file "named.pid"; #进程id文件名
};
zone "." {
type hint;
file "named.root"; #根区域文件
};
zone "localhost" {
type master;
file "named.local"; #本机的正向解析文件
allow-transfer {none;}; #禁止传送区文件
allow-update {none;}; #禁止自动更新
notify no; #禁止自动通告
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.rev"; #本机的反向解析文件
allow-transfer {none;};
allow-update {none;};
notify no;
};
zone "cloud.com" {
type master;
file "zone.cloud.com"; #cloud.com的正向解析文件
allow-transfer {none;};
allow-update {none;};
notify no;
};
zone "1.168.192.in-addr.arpa" {
type master;
notify no;
file "arpa.192.168.1"; #192.168.1.1区域的反向解析
allow-transfer {none;};
allow-update {none;};
notify no;
};
# vi named.local
# TTL是缓存服务器存放区域信息的超时时间
# SOA 起始记录
# IN 记录是INTERNET上的记录
# A 指定一个主机名到IP地址的影射
# PTR 和A记录相反
# MX 邮件主机信息 前面的数字代表优先级
# NS 区域的域名解析服务器
# 注意localhost.这类地址后面的点代表是绝对地址,如果不带.那么named会在这个记录后面添加你的域名上去
# serial number 区的序列号,更新了区的文件内容后请加大这个数
# refresh time 二级域名服务器的刷新时间
# retry time 二级域名服务器无法连接主域名服务器,过多长时间重新连接获取区域信息
# expire time 二级域名服务器在无法获取区域信息的情况下,过多长时间停止连接主域服务器获取区域信息
# minimum time 二级域名服务器的区域信息最小存活时间,这个值应该和$TTL是一个意思
$TTL 86400
$ORIGIN localhost.
@ IN SOA @ root (
20031001; serial number
28800; refresh time
14400; retry time
3600000; expire time
86400); minimum time
IN NS @
IN A 127.0.0.1
# vi named.rev
$TTL 86400
@ IN SOA localhost. root.localhost. (
20031001;
28800;
14400;
3600000;
86400);
IN NS localhost.
1 IN PTR localhost.
# vi zone.cloud.com
$TTL 86400
@ IN SOA ns.cloud.com. root.cloud.com. (
20031001;
28800;
14400;
3600000;
86400);
IN NS ns.cloud.com.
IN MX 10 ns.cloud.com.
IN A 192.168.1.114
ns IN A 192.168.1.114
www IN CNAME ns
ftp IN CNAME ns
mail IN CNAME ns
* IN CNAME ns
# vi arpa.192.168.1
$TTL 86400
@ IN SOA ns.cloud.com. root.cloud.com. (
20031001;
28800;
14400;
3600000;
86400);
IN NS ns.cloud.com.
IN MX 10 ns.cloud.com.
114 IN PTR ns.cloud.com.
# dig > named.root #dig命令直接生成named.root文件
# groupadd named
# useradd named -g named -M -s /bin/false #-g指定到named组 -M 不在/home下新建用户目录 -s /bin/false指定登陆shell
# cd /web
# chmod 750 named
# chown named named -R
# named/sbin/named -u named -gc named/etc/named.conf #-g是调试输出,一般情况不使用 -u指定一个用户运行进程named
# vi /etc/init.d/named #生成chkconfig用的启动文件
#!/bin/bash
#chkconfig:345 60 60 #注意,这里的两行是chkconfig命令能自动生成启动停止命令的关键
#description:DNS daemon
case $1 in
start)
/web/named/sbin/named -u named -c /web/named/etc/named.conf &
;;
stop)
/web/named/sbin/rndc stop
;;
status)
/web/named/sbin/rndc status
;;
restart)
$0 stop
$0 start
;;
reload)
/web/named/sbin/rndc reload
;;
*)
echo "Usage:$0 [start|stop|status|restart|reload]"
esac
# chmod 700 /etc/init.d/* #修改权限
# sh -n /etc/init.d/named #检查shell文件是否有语法错误
# chkconfig --add named #添加进chkconfig --list的列表中,以后就可以在ntsysv命令和chkconfig --list的输出中看到named了
# chkconfig --level 345 named on
# cd /web/named/sbin
# cp named named.old #备份一个named执行文件
# strip named #stripnamed文件,去掉多余的符号和调试信息,对于库文件就最好不要用此命令了